Fix: use emits

This commit is contained in:
chfhtw
2026-09-14 16:08:41 +02:00
parent ae9fa8aac1
commit 894ae01a34
2 changed files with 40 additions and 9 deletions
@@ -27,6 +27,24 @@ export default {
saving: false,
};
},
computed: {
value: {
get() {
return this.modelValue;
},
set(modelValue) {
this.$emit('update:modelValue', modelValue);
},
},
setup: {
get() {
return this.modelValue.setup;
},
set(setup) {
this.$emit('update:modelValue', { ...this.modelValue, setup });
},
},
},
watch: {
'originalData.setup.generator': {
async handler(gen) {
@@ -81,11 +99,11 @@ export default {
class="widgets-admin-edit mx-2"
@submit.prevent="save"
>
<edit-basics v-model="modelValue" :original="originalData" />
<edit-basics v-model="value" :original="originalData" />
<template v-if="generator">
<component :is="generator" v-model="modelValue" :original="originalData" :key="modelValue.widget_id" />
<component :is="generator" v-model="value" :original="originalData" :key="modelValue.widget_id" />
</template>
<edit-setup v-else v-model="modelValue.setup" />
<edit-setup v-else v-model="setup" />
<div class="position-absolute bottom-0 end-0 z-3">
<button
v-if="generator"
@@ -75,12 +75,25 @@ export default {
created() {
if (this.modelValue.arguments.statistik_kurzbz)
this.loadDetails(this.modelValue.arguments.statistik_kurzbz);
if (!this.modelValue.arguments.vars) {
this.modelValue.arguments = {
statistik_kurzbz: '',
vars: {},
aggregators: [],
};
this.$emit('update:modelValue', {
...this.modelValue,
setup: {
...this.modelValue.setup,
icon: '',
name: '',
width: 1,
height: 1,
hideFooter: true,
},
arguments: {
statistik_kurzbz: '',
vars: {},
aggregators: [],
},
berechtigung_kurzbz: null,
});
}
},
template: /*html*/ `
@@ -93,7 +106,7 @@ export default {
/>
<report-picker
ref="picker"
:model-value="modelValue.arguments.statistik_kurzbz"
:model-value="modelValue.arguments.statistik_kurzbz || ''"
class="mb-3"
@update:model-value="attemptReportChange"
/>