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}