diff --git a/src/routes/core/data_stores/+page.svelte b/src/routes/core/data_stores/+page.svelte index f6b797d8..5a092016 100644 --- a/src/routes/core/data_stores/+page.svelte +++ b/src/routes/core/data_stores/+page.svelte @@ -5,9 +5,12 @@ import { goto } from '$app/navigation'; import { Modal } from 'flowbite-svelte'; import { ArrowRight, + ArrowUpDown, Check, + ChevronDown, ChevronLeft, ChevronRight, + ChevronUp, Code, Database, Eye, @@ -44,6 +47,8 @@ let qry_for_id = $state(''); let qry_enabled = $state<'all' | 'enabled' | 'not_enabled'>('all'); let page_limit = $state(50); let page_offset = $state(0); +let sort_col = $state('code'); +let sort_dir = $state<'ASC' | 'DESC'>('ASC'); // ── Results ─────────────────────────────────────────────────────────────────── let results: ae_DataStore[] = $state([]); @@ -112,7 +117,7 @@ async function do_search(reset = true) { api_cfg: $ae_api, obj_type: 'data_store', search_query, - order_by_li: [{ code: 'ASC' }, { updated_on: 'DESC' }], + order_by_li: [{ [sort_col]: sort_dir }], limit: page_limit, offset: page_offset, log_lvl: 0 @@ -133,6 +138,16 @@ function clear_filters() { searched = false; } +function toggle_sort(col: string) { + if (sort_col === col) { + sort_dir = sort_dir === 'ASC' ? 'DESC' : 'ASC'; + } else { + sort_col = col; + sort_dir = 'ASC'; + } + if (searched) do_search(false); +} + // ── Open edit ───────────────────────────────────────────────────────────────── function open_edit(obj: ae_DataStore) { editing_obj = obj; @@ -611,13 +626,40 @@ function content_preview(ds: ae_DataStore): string { - - + + - +
CodeName + + + + Type Account For