diff --git a/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte b/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte index 70edeabef..7bc0e8abd 100644 --- a/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte +++ b/src/lib/components/admin/Settings/Models/ConfigureModelsModal.svelte @@ -16,6 +16,8 @@ import Spinner from '$lib/components/common/Spinner.svelte'; import Minus from '$lib/components/icons/Minus.svelte'; import Plus from '$lib/components/icons/Plus.svelte'; + import ChevronUp from '$lib/components/icons/ChevronUp.svelte'; + import ChevronDown from '$lib/components/icons/ChevronDown.svelte'; export let show = false; export let initHandler = () => {}; @@ -26,6 +28,9 @@ let defaultModelIds = []; let modelIds = []; + let sortKey = ''; + let sortOrder = ''; + let loading = false; let showResetModal = false; @@ -71,6 +76,9 @@ // Add remaining IDs not in MODEL_ORDER_LIST, sorted alphabetically ...allModelIds.filter((id) => !orderedSet.has(id)).sort((a, b) => a.localeCompare(b)) ]; + + sortKey = ''; + sortOrder = ''; }; const submitHandler = async () => { loading = true; @@ -145,9 +153,45 @@ >
-
+
+ + {#if sortKey === 'model'} + + {#if sortOrder === 'asc'} + + {:else} + + {/if} + + {:else} + + {/if} +
diff --git a/src/lib/components/admin/Settings/Models/ModelList.svelte b/src/lib/components/admin/Settings/Models/ModelList.svelte index c54d19ee4..0b70d43d9 100644 --- a/src/lib/components/admin/Settings/Models/ModelList.svelte +++ b/src/lib/components/admin/Settings/Models/ModelList.svelte @@ -21,14 +21,24 @@ modelIds = modelList; }; - onMount(() => { - sortable = Sortable.create(modelListElement, { - animation: 150, - onUpdate: async (event) => { - positionChangeHandler(); - } - }); - }); + $: if (modelIds) { + init(); + } + + const init = () => { + if (sortable) { + sortable.destroy(); + } + + if (modelListElement) { + sortable = Sortable.create(modelListElement, { + animation: 150, + onUpdate: async (event) => { + positionChangeHandler(); + } + }); + } + }; {#if modelIds.length > 0}