Arthur 1 месяц назад
Родитель
Сommit
20f52153a4

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
netbox/project-static/dist/netbox.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
netbox/project-static/dist/netbox.js.map


+ 2 - 6
netbox/project-static/src/select/classes/dynamicTomSelect.ts

@@ -102,14 +102,10 @@ export class DynamicTomSelect extends TomSelect {
       .then(apiData => {
         const results: Dict[] = apiData.results;
 
-        // Add options and set $order to preserve API response order
-        results.forEach((result, index) => {
+        // Add options (TomSelect automatically preserves insertion order via $order)
+        results.forEach((result) => {
           const option = self.getOptionFromData(result);
           self.addOption(option);
-          const key = option[self.settings.valueField as string] as string;
-          if (self.options[key]) {
-            (self.options[key] as any).$order = index;
-          }
         });
 
         if (self.loading > 0) {

+ 3 - 0
netbox/project-static/src/select/dynamic.ts

@@ -49,6 +49,9 @@ export function initDynamicSelects(): void {
       labelField: LABEL_FIELD,
       maxOptions: MAX_OPTIONS,
 
+      // Preserve API response order
+      sortField: '$order',
+
       // Disable local search (search is performed on the backend)
       searchField: [],
 

Некоторые файлы не были показаны из-за большого количества измененных файлов