From fb58fd9bf2e19a6525903d7cd55e29c584daab71 Mon Sep 17 00:00:00 2001 From: Nitwel Date: Wed, 12 Oct 2022 19:03:21 +0200 Subject: [PATCH] Remove use-m2m (#15955) * remove old composable * Fix linter warnings Co-authored-by: rijkvanzanten --- app/src/composables/use-m2m.ts | 87 --------- .../displays/translations/translations.vue | 167 +++++++++--------- app/src/panels/metric/index.ts | 3 +- 3 files changed, 80 insertions(+), 177 deletions(-) delete mode 100644 app/src/composables/use-m2m.ts diff --git a/app/src/composables/use-m2m.ts b/app/src/composables/use-m2m.ts deleted file mode 100644 index eea1898e7f..0000000000 --- a/app/src/composables/use-m2m.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { useCollection } from '@directus/shared/composables'; -import { useCollectionsStore } from '@/stores/collections'; -import { useRelationsStore } from '@/stores/relations'; -import { Field, Relation } from '@directus/shared/types'; -import { Collection } from '@/types/collections'; -import { computed, ComputedRef, Ref } from 'vue'; - -export type RelationInfo = { - junctionPkField: string; - relationPkField: string; - junctionField: string; - sortField: string; - junctionCollection: string; - relationCollection: string; -}; - -type UsableRelation = { - junction: ComputedRef; - junctionCollection: ComputedRef; - relation: ComputedRef; - relationCollection: ComputedRef; - relationInfo: ComputedRef; - junctionPrimaryKeyField: ComputedRef; - relationPrimaryKeyField: ComputedRef; - junctionFields: ComputedRef; - relationFields: ComputedRef; -}; - -export function useRelation(collection: Ref, field: Ref): UsableRelation { - const relationsStore = useRelationsStore(); - const collectionsStore = useCollectionsStore(); - - const relations = computed(() => { - return relationsStore.getRelationsForField(collection.value, field.value) as Relation[]; - }); - - const junction = computed(() => { - return relations.value.find( - (relation) => relation.related_collection === collection.value && relation.meta?.one_field === field.value - ) as Relation; - }); - - const relation = computed(() => { - return relations.value.find( - (relation) => - relation.collection === junction.value.collection && relation.field === junction.value.meta?.junction_field - ) as Relation; - }); - - const junctionCollection = computed(() => { - return collectionsStore.getCollection(junction.value.collection)!; - }); - - const relationCollection = computed(() => { - return collectionsStore.getCollection(relation.value.related_collection!)!; - }); - - const { primaryKeyField: junctionPrimaryKeyField, fields: junctionFields } = useCollection( - junctionCollection.value.collection - ); - const { primaryKeyField: relationPrimaryKeyField, fields: relationFields } = useCollection( - relationCollection.value.collection - ); - - const relationInfo = computed(() => { - return { - junctionPkField: junctionPrimaryKeyField.value?.field, - relationPkField: relationPrimaryKeyField.value?.field, - junctionField: junction.value.meta?.junction_field as string, - sortField: junction.value.meta?.sort_field as string, - junctionCollection: junctionCollection.value.collection, - relationCollection: relationCollection.value.collection, - } as RelationInfo; - }); - - return { - junction, - junctionCollection, - relation, - relationCollection, - relationInfo, - junctionPrimaryKeyField, - relationPrimaryKeyField, - junctionFields, - relationFields, - }; -} diff --git a/app/src/displays/translations/translations.vue b/app/src/displays/translations/translations.vue index 75740483ca..5ed47c1277 100644 --- a/app/src/displays/translations/translations.vue +++ b/app/src/displays/translations/translations.vue @@ -1,7 +1,11 @@