diff --git a/resources/js/Components/Common/Client/ClientTable.vue b/resources/js/Components/Common/Client/ClientTable.vue index 3e7b5cf1..fe0cf50c 100644 --- a/resources/js/Components/Common/Client/ClientTable.vue +++ b/resources/js/Components/Common/Client/ClientTable.vue @@ -44,11 +44,14 @@ const projectCountMap = computed(() => { return map; }); +// Name is always the secondary sort so rows with equal values render +// alphabetically instead of in API (created_at) order. const sorting = computed(() => [ { id: props.sortColumn, desc: props.sortDirection === 'desc', }, + ...(props.sortColumn !== 'name' ? [{ id: 'name', desc: false }] : []), ]); const columns = computed(() => [ diff --git a/resources/js/Components/Common/Project/ProjectTable.vue b/resources/js/Components/Common/Project/ProjectTable.vue index 32044fe4..b4c53b7e 100644 --- a/resources/js/Components/Common/Project/ProjectTable.vue +++ b/resources/js/Components/Common/Project/ProjectTable.vue @@ -57,12 +57,15 @@ const clientNameMap = computed(() => { return map; }); -// Convert sort props to TanStack Table format +// Convert sort props to TanStack Table format. +// Name is always the secondary sort so rows with equal values render +// alphabetically instead of in API (created_at) order. const sorting = computed(() => [ { id: props.sortColumn, desc: props.sortDirection === 'desc', }, + ...(props.sortColumn !== 'name' ? [{ id: 'name', desc: false }] : []), ]); // Define column accessors for sorting.