mirror of
https://github.com/directus/directus.git
synced 2026-02-11 04:45:34 -05:00
Properly handle M2A fields in fieldStore and useFieldTree (#9432)
* Properly handle M2A fields in fieldStore and useFieldTree * Fix addNode * Rewrote use-field-tree * Remember visited paths * Fix error whith undefined relation.meta
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
item-value="key"
|
||||
value-combining="exclusive"
|
||||
@update:model-value="$emit('input', $event)"
|
||||
@group-toggle="loadFieldRelations($event.value, 1)"
|
||||
@group-toggle="loadFieldRelations($event.value)"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
:items="fieldOptions"
|
||||
:mandatory="false"
|
||||
:groups-clickable="true"
|
||||
@group-toggle="loadFieldRelations($event.value, 1)"
|
||||
@group-toggle="loadFieldRelations($event.value)"
|
||||
@update:modelValue="updateField(index, $event)"
|
||||
>
|
||||
<template #preview>{{ getFieldPreview(element) }}</template>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
:items="fieldOptions"
|
||||
:mandatory="false"
|
||||
:groups-clickable="true"
|
||||
@group-toggle="loadFieldRelations($event.value, 1)"
|
||||
@group-toggle="loadFieldRelations($event.value)"
|
||||
@update:modelValue="addNode($event)"
|
||||
>
|
||||
<template v-if="inline" #prepend>
|
||||
@@ -150,20 +150,12 @@ export default defineComponent({
|
||||
|
||||
function addNode(key: string) {
|
||||
if (key === '$group') {
|
||||
innerValue.value = [
|
||||
...innerValue.value,
|
||||
{
|
||||
_and: [],
|
||||
},
|
||||
];
|
||||
innerValue.value = innerValue.value.concat({ _and: [] });
|
||||
} else {
|
||||
const filterObj = {};
|
||||
|
||||
const field = fieldsStore.getField(collection.value, key)!;
|
||||
const operator = getFilterOperatorsForType(field.type)[0];
|
||||
set(filterObj, key, { ['_' + operator]: null });
|
||||
|
||||
innerValue.value = [...innerValue.value, filterObj] as FieldFilter[];
|
||||
const node = set({}, key, { ['_' + operator]: null });
|
||||
innerValue.value = innerValue.value.concat(node);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user