From e49a433ed38d98bcbfabe92af6c447978c4e160c Mon Sep 17 00:00:00 2001 From: Nitwel Date: Fri, 16 Oct 2020 17:33:03 +0200 Subject: [PATCH] add support for relational sorting --- app/src/interfaces/_system/field/field.vue | 12 ++-- .../interfaces/many-to-many/many-to-many.vue | 19 +++++- app/src/interfaces/many-to-many/options.vue | 27 +++++++- .../interfaces/many-to-many/use-preview.ts | 4 ++ app/src/interfaces/many-to-many/use-sort.ts | 35 +++++++++++ .../interfaces/one-to-many/one-to-many.vue | 63 ++++++++++++++----- app/src/interfaces/one-to-many/options.vue | 23 ++++++- 7 files changed, 159 insertions(+), 24 deletions(-) create mode 100644 app/src/interfaces/many-to-many/use-sort.ts diff --git a/app/src/interfaces/_system/field/field.vue b/app/src/interfaces/_system/field/field.vue index 66bf1680d2..c9ff30030d 100644 --- a/app/src/interfaces/_system/field/field.vue +++ b/app/src/interfaces/_system/field/field.vue @@ -1,5 +1,5 @@ @@ -62,6 +71,18 @@ export default defineComponent({ }, }); + const sortField = computed({ + get() { + return props.value?.sortField; + }, + set(newFields: string) { + emit('input', { + ...(props.value || {}), + sortField: newFields, + }); + }, + }); + const relatedCollection = computed(() => { if (!props.fieldData || !props.relations || props.relations.length === 0) return null; const { field } = props.fieldData; @@ -77,7 +98,7 @@ export default defineComponent({ ); }); - return { fields, relatedCollection, relatedCollectionExists }; + return { fields, sortField, relatedCollection, relatedCollectionExists }; }, });