From 2a3af7d92479aaed53654bfef41b324b60c5e68a Mon Sep 17 00:00:00 2001 From: chfhtw Date: Mon, 14 Sep 2026 13:39:41 +0200 Subject: [PATCH] Aggregators default item --- .../WidgetAdmin/Edit/Report/Aggregators.js | 56 ++++++++++--------- .../Edit/Report/Aggregators/Aggregator.js | 24 +++++++- system/phrasesupdate.php | 20 +++++++ 3 files changed, 72 insertions(+), 28 deletions(-) diff --git a/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators.js b/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators.js index eef87e41b..9884f8164 100644 --- a/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators.js +++ b/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators.js @@ -9,6 +9,19 @@ export default { FormInput, ReportAggregator, }, + provide() { + return { + defaultAggregatorIndex: Vue.computed({ + get: () => this.defaultAggregatorIndex, + set: v => { + const curr = this.modelValue.find(agg => agg.default); + if (curr) + delete curr.default; + this.modelValue[v].default = true; + }, + }), + }; + }, props: { modelValue: { type: Object, @@ -24,17 +37,9 @@ export default { }; }, computed: { - aggregatorDefault: { - get() { - return this.modelValue.findIndex(agg => agg.default); - }, - set(v) { - const curr = this.modelValue.find(agg => agg.default); - if (curr) - delete curr.default; - this.modelValue[v].default = true; - }, - }, + defaultAggregatorIndex() { + return this.modelValue.findIndex(agg => agg.default); + } }, methods: { addAggregator() { @@ -45,6 +50,16 @@ export default { evt.preventDefault(); } }, + getHeaderStyle(isDefault) { + if (!isDefault) + return undefined; + return { + '--bs-accordion-btn-bg': 'var(--bs-success-bg-subtle)', + '--bs-accordion-btn-color': 'var(--bs-success-text-emphasis)', + '--bs-accordion-active-bg': 'var(--bs-success)', + '--bs-accordion-active-color': '#fff', + }; + }, }, created() { this.myId = counter++; @@ -62,7 +77,10 @@ export default { :key="i" class="accordion-item" > -

+

- +
diff --git a/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators/Aggregator.js b/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators/Aggregator.js index adb76313e..f35c9aa3d 100644 --- a/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators/Aggregator.js +++ b/public/js/components/Dashboard/WidgetAdmin/Edit/Report/Aggregators/Aggregator.js @@ -5,11 +5,18 @@ export default { components: { FormInput, }, + inject: { + defaultAggregatorIndex: 'defaultAggregatorIndex', + }, props: { modelValue: { type: Object, required: true }, + index: { + type: Number, + required: true + }, }, emits: [ "update:modelValue", @@ -17,24 +24,35 @@ export default { template: /*html*/ `
+
`, diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index b0173b3b6..e00be0817 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -2054,6 +2054,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'default', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Standard', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Default', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'ui',