diff --git a/frontend/components/EntityEdit.vue b/frontend/components/EntityEdit.vue index 357dba1..ed27a12 100644 --- a/frontend/components/EntityEdit.vue +++ b/frontend/components/EntityEdit.vue @@ -349,6 +349,35 @@ const triggerInputChange = (datapoint) => { } } +const getDatapointValue = (datapoint) => { + if (datapoint.key.includes(".")) { + const [parentKey, childKey] = datapoint.key.split(".") + return item.value[parentKey]?.[childKey] || null + } + + return item.value[datapoint.key] || null +} + +const setDatapointValue = (datapoint, value) => { + if (datapoint.key.includes(".")) { + const [parentKey, childKey] = datapoint.key.split(".") + if (!item.value[parentKey]) item.value[parentKey] = {} + item.value[parentKey][childKey] = value + } else { + item.value[datapoint.key] = value + } + + triggerInputChange(datapoint) +} + +const getEntityModalCreateQuery = (datapoint) => { + if (datapoint.entityModalCreateQueryFunction) { + return datapoint.entityModalCreateQueryFunction(item.value) + } + + return datapoint.entityModalCreateQuery || {} +} + const createItem = async () => { let ret = null @@ -595,6 +624,13 @@ const updateItem = async () => { color="white" icon="i-heroicons-x-mark" /> + { color="white" icon="i-heroicons-x-mark" /> + @@ -828,6 +871,13 @@ const updateItem = async () => { color="white" icon="i-heroicons-x-mark" /> + { color="white" icon="i-heroicons-x-mark" /> + diff --git a/frontend/components/EntityModalButtons.vue b/frontend/components/EntityModalButtons.vue index 726cd04..91fb35c 100644 --- a/frontend/components/EntityModalButtons.vue +++ b/frontend/components/EntityModalButtons.vue @@ -7,7 +7,7 @@ const props = defineProps({ required: true }, id: { - type: String, + type: [String, Number], }, createQuery: { type: Object, diff --git a/frontend/stores/data.js b/frontend/stores/data.js index 5a7a0b2..d3df3f9 100644 --- a/frontend/stores/data.js +++ b/frontend/stores/data.js @@ -1212,6 +1212,7 @@ export const useDataStore = defineStore('data', () => { selectDataType: "entitybankaccounts", selectOptionAttribute: "displayLabel", selectSearchAttributes: ["displayLabel", "iban", "bankName"], + entityModalButtonsType: "entitybankaccounts", inputColumn: "Mandat" }, {