Default sort by sort field in tabular layout (#20629)

* Default sort by sort field in tabular layout

* Add changeset

* Undo previous solution

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
This commit is contained in:
Pascal Jufer
2023-12-05 13:15:46 +01:00
committed by GitHub
parent c07a619616
commit 5df8a614d6
2 changed files with 11 additions and 13 deletions

View File

@@ -0,0 +1,5 @@
---
"@directus/app": patch
---
Ensured collections in tabular layout are sorted by the sort field by default, if available

View File

@@ -90,18 +90,6 @@ export default defineLayout<LayoutOptions, LayoutQuery>({
return formatCollectionItemsCount(itemCount.value || 0, page.value, limit.value, filtering);
});
watch(
sortField,
(value) => {
if (!value) {
return;
}
onSortChange({ by: value, desc: false });
},
{ immediate: true },
);
return {
tableHeaders,
items,
@@ -168,7 +156,12 @@ export default defineLayout<LayoutOptions, LayoutQuery>({
function useItemOptions() {
const page = syncRefProperty(layoutQuery, 'page', 1);
const limit = syncRefProperty(layoutQuery, 'limit', 25);
const defaultSort = computed(() => (primaryKeyField.value ? [primaryKeyField.value?.field] : []));
const defaultSort = computed(() => {
const field = sortField.value ?? primaryKeyField.value?.field;
return field ? [field] : [];
});
const sort = syncRefProperty(layoutQuery, 'sort', defaultSort);
const fieldsDefaultValue = computed(() => {