From f6d3702d330b77d54c5a21f1318b5f49cce85d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C5=BEe=20Fortun?= Date: Thu, 25 Jan 2024 12:54:39 +0100 Subject: [PATCH] Fix not being able to switch aggregation operation when defining new metric --- .../src/components/PageBlocks/MetricBase.vue | 3 -- .../PageBlocks/MetricConfigurator/index.vue | 19 +-------- lib/js/src/compose/types/page-block/metric.ts | 41 +++++++++++++++---- 3 files changed, 35 insertions(+), 28 deletions(-) diff --git a/client/web/compose/src/components/PageBlocks/MetricBase.vue b/client/web/compose/src/components/PageBlocks/MetricBase.vue index 22af33337..31bfc7db5 100644 --- a/client/web/compose/src/components/PageBlocks/MetricBase.vue +++ b/client/web/compose/src/components/PageBlocks/MetricBase.vue @@ -24,9 +24,6 @@ :class="m.drillDown.enabled ? 'pointer' : ''" @click="drillDown(m, mi)" > - ${record.values.fieldName} ${recordID} @@ -283,11 +283,6 @@ - = Object.freeze({ + label: '', + moduleID: '', + dimensionField: '', + dateFormat: '', + filter: '', + bucketSize: '', + metricField: '', + operation: '', + numberFormat: '', + prefix: '', + suffix: '', + transformFx: '', + + valueStyle: { + backgroundColor: '#FFFFFF00', + color: '#000000', + fontSize: undefined, + }, + drillDown: { + enabled: false, + blockID: '', + }, +}) + interface Options { metrics: Array; refreshRate: number; @@ -74,10 +98,7 @@ export class PageBlockMetric extends PageBlock { Apply(this.options, o, Boolean, 'showRefresh') Apply(this.options, o, String, 'magnifyOption') if (o.metrics) { - this.options.metrics = o.metrics.map((m) => ({ - ...m, - drillDown: m.drillDown || { enabled: false }, - })) + this.options.metrics = o.metrics.map((m) => merge({}, defaultMetric, m)) } } @@ -124,6 +145,10 @@ export class PageBlockMetric extends PageBlock { dimensions: 'deletedAt', } } + + makeMetric () { + return merge({}, defaultMetric) + } } Registry.set(kind, PageBlockMetric)