diff --git a/src/composables/use-form-fields/use-form-fields.ts b/src/composables/use-form-fields/use-form-fields.ts index 25fc2535eb..3c547cd663 100644 --- a/src/composables/use-form-fields/use-form-fields.ts +++ b/src/composables/use-form-fields/use-form-fields.ts @@ -36,6 +36,7 @@ export default function useFormFields(fields: Ref) { special: null, translation: null, width: 'full', + note: null, }; } diff --git a/src/lang/en-US/index.json b/src/lang/en-US/index.json index 48b61095b4..d43ec1d106 100644 --- a/src/lang/en-US/index.json +++ b/src/lang/en-US/index.json @@ -51,6 +51,7 @@ "not_available_for_type": "Not Available for this Type", "configure_m2o": "Configure your Many-to-One Relationship...", + "configure_m2m": "Configure your Many-to-Many Relationship...", "include_seconds": "Include Seconds", diff --git a/src/modules/settings/routes/data-model/field-detail/components/display.vue b/src/modules/settings/routes/data-model/field-detail/components/display.vue index dbb9339851..19e0c9f674 100644 --- a/src/modules/settings/routes/data-model/field-detail/components/display.vue +++ b/src/modules/settings/routes/data-model/field-detail/components/display.vue @@ -43,7 +43,7 @@ export default defineComponent({ const _field = useSync(props, 'fieldData', emit); const availabledisplays = computed(() => displays.filter((display) => { - const matchesType = display.types.includes(props.fieldData.database.type); + const matchesType = display.types.includes(props.fieldData.database?.type || 'alias'); const matchesRelation = true; // if (props.type === 'standard') { diff --git a/src/modules/settings/routes/data-model/field-detail/components/interface.vue b/src/modules/settings/routes/data-model/field-detail/components/interface.vue index 34673af5dc..c16f143231 100644 --- a/src/modules/settings/routes/data-model/field-detail/components/interface.vue +++ b/src/modules/settings/routes/data-model/field-detail/components/interface.vue @@ -43,7 +43,7 @@ export default defineComponent({ const _field = useSync(props, 'fieldData', emit); const availableInterfaces = computed(() => interfaces.filter((inter) => { - const matchesType = inter.types.includes(props.fieldData.database.type); + const matchesType = inter.types.includes(props.fieldData.database?.type || 'alias'); let matchesRelation = false; if (props.type === 'standard') { diff --git a/src/modules/settings/routes/data-model/field-detail/components/relationship-m2m.vue b/src/modules/settings/routes/data-model/field-detail/components/relationship-m2m.vue index 7095796e8f..8bca9e4395 100644 --- a/src/modules/settings/routes/data-model/field-detail/components/relationship-m2m.vue +++ b/src/modules/settings/routes/data-model/field-detail/components/relationship-m2m.vue @@ -1,9 +1,143 @@ + + diff --git a/src/modules/settings/routes/data-model/field-detail/components/relationship-m2o.vue b/src/modules/settings/routes/data-model/field-detail/components/relationship-m2o.vue index ac8403d16c..2ce16f2328 100644 --- a/src/modules/settings/routes/data-model/field-detail/components/relationship-m2o.vue +++ b/src/modules/settings/routes/data-model/field-detail/components/relationship-m2o.vue @@ -100,6 +100,9 @@ export default defineComponent({