@vizzly/dashboard 0.15.0-dev-6114a3b52b10e59a48578b0bad33d5be5e0d850d → 0.15.0-dev-825e222034d95127ba57aec3c08d7617ffa39237
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard.cjs.development.js +73 -88
- package/dist/dashboard.cjs.production.min.js +1 -1
- package/dist/dashboard.esm.js +73 -88
- package/dist/shared-logic/src/Component/types.d.ts +1 -1
- package/dist/shared-logic/src/DataTable/VisualFormat/upcast.d.ts +2 -0
- package/dist/shared-ui/src/base/ListView/ListView.d.ts +1 -1
- package/dist/shared-ui/src/components/DataTable/DataTableRow.d.ts +1 -1
- package/dist/shared-ui/src/components/DataTable/DataTableTR.d.ts +1 -2
- package/dist/shared-ui/src/components/DataTable/VisualFormatCell.d.ts +4 -2
- package/dist/shared-ui/src/library/StylePanel/VisualFormatSection.d.ts +1 -1
- package/package.json +1 -1
|
@@ -7233,7 +7233,10 @@ var attributesSchema$a = function attributesSchema(config) {
|
|
|
7233
7233
|
subsetDimension: Joi.string().required().description('The ID of the field in the data set to drill down by.')
|
|
7234
7234
|
})).description('Drilldown configuration for a pivot table.'),
|
|
7235
7235
|
summarizeKPIs: Joi["boolean"]()["default"](false).description('Enable/disable KPI summarisation above column headers.'),
|
|
7236
|
-
visualFormatColumns: Joi.array().items(Joi.
|
|
7236
|
+
visualFormatColumns: Joi.array().items(Joi.object({
|
|
7237
|
+
field: Joi.string(),
|
|
7238
|
+
"function": Joi.string()
|
|
7239
|
+
}))["default"]([]).description('Array of metrics to display as horizontal bars.'),
|
|
7237
7240
|
results: Joi.array().items(Joi.object({
|
|
7238
7241
|
content: Joi.array().required(),
|
|
7239
7242
|
fields: Joi.array().items(Joi.object({
|
|
@@ -7252,17 +7255,27 @@ var attributesSchema$a = function attributesSchema(config) {
|
|
|
7252
7255
|
|
|
7253
7256
|
var setAttributes$a = (function (config) {
|
|
7254
7257
|
return function (dataTable, partial) {
|
|
7255
|
-
var _partial$
|
|
7258
|
+
var _partial$measure;
|
|
7256
7259
|
var newAttributes = setAttributes(dataTable, partial, attributesSchema$a(config));
|
|
7257
|
-
var
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
|
|
7262
|
-
|
|
7263
|
-
|
|
7264
|
-
|
|
7265
|
-
|
|
7260
|
+
var numOfMeasuresInDataTable = dataTable.measure.length;
|
|
7261
|
+
var numOfMeasuresInPartial = (_partial$measure = partial.measure) == null ? void 0 : _partial$measure.length;
|
|
7262
|
+
var hasRemovedMetrics = numOfMeasuresInPartial === undefined ? false : numOfMeasuresInDataTable > numOfMeasuresInPartial;
|
|
7263
|
+
if (hasRemovedMetrics) {
|
|
7264
|
+
var removedMetrics = dataTable.measure.filter(function (metric) {
|
|
7265
|
+
var _partial$measure2;
|
|
7266
|
+
return !((_partial$measure2 = partial.measure) != null && _partial$measure2.some(function (partialMetric) {
|
|
7267
|
+
return partialMetric.field === metric.field && partialMetric["function"] === metric["function"];
|
|
7268
|
+
}));
|
|
7269
|
+
});
|
|
7270
|
+
newAttributes.visualFormatColumns = (dataTable.visualFormatColumns || []).filter(function (column) {
|
|
7271
|
+
var isColumnUsingRemovedMetric = removedMetrics.some(function (removedMetric) {
|
|
7272
|
+
var fieldId = column.field;
|
|
7273
|
+
var aggregateFunction = column["function"];
|
|
7274
|
+
return removedMetric.field === fieldId && removedMetric["function"] === aggregateFunction;
|
|
7275
|
+
});
|
|
7276
|
+
return !isColumnUsingRemovedMetric;
|
|
7277
|
+
});
|
|
7278
|
+
}
|
|
7266
7279
|
newAttributes = removeUnusedOrderFieldsFromTimeSeriesComponent(newAttributes);
|
|
7267
7280
|
return newAttributes;
|
|
7268
7281
|
};
|
|
@@ -7383,6 +7396,13 @@ var CONSTANTS$a = {
|
|
|
7383
7396
|
}
|
|
7384
7397
|
};
|
|
7385
7398
|
|
|
7399
|
+
function filterOutOldVisualFormatContract(visualFormat) {
|
|
7400
|
+
var withoutOldContract = visualFormat.filter(function (measure) {
|
|
7401
|
+
return typeof measure !== 'string';
|
|
7402
|
+
});
|
|
7403
|
+
return withoutOldContract;
|
|
7404
|
+
}
|
|
7405
|
+
|
|
7386
7406
|
// Get the dimensions for a particular pivot.
|
|
7387
7407
|
var dimensionsForPivot = function dimensionsForPivot(dimension, pivot) {
|
|
7388
7408
|
return dimension.filter(function (d) {
|
|
@@ -7436,7 +7456,7 @@ var DataTable = function DataTable(config) {
|
|
|
7436
7456
|
tags: (_dumped$tags = dumped.tags) != null ? _dumped$tags : [],
|
|
7437
7457
|
hiddenFields: (_dumped$hiddenFields = dumped.hiddenFields) != null ? _dumped$hiddenFields : [],
|
|
7438
7458
|
summarizeKPIs: (_dumped$summarizeKPIs = dumped.summarizeKPIs) != null ? _dumped$summarizeKPIs : false,
|
|
7439
|
-
visualFormatColumns: (_dumped$visualFormatC = dumped.visualFormatColumns) != null ? _dumped$visualFormatC : []
|
|
7459
|
+
visualFormatColumns: filterOutOldVisualFormatContract((_dumped$visualFormatC = dumped.visualFormatColumns) != null ? _dumped$visualFormatC : [])
|
|
7440
7460
|
};
|
|
7441
7461
|
},
|
|
7442
7462
|
setAttributes: setAttributes$a(config),
|
|
@@ -54152,11 +54172,13 @@ var calculatePercentage = function calculatePercentage(value, max) {
|
|
|
54152
54172
|
var VisualFormatCell = function VisualFormatCell(_ref) {
|
|
54153
54173
|
var value = _ref.value,
|
|
54154
54174
|
displayValue = _ref.displayValue,
|
|
54155
|
-
|
|
54175
|
+
column = _ref.column,
|
|
54156
54176
|
visualFormatColumns = _ref.visualFormatColumns,
|
|
54157
54177
|
columnValues = _ref.columnValues,
|
|
54158
54178
|
conditionalFormattingColor = _ref.conditionalFormattingColor;
|
|
54159
|
-
var shouldShowHorizontalBar = visualFormatColumns.
|
|
54179
|
+
var shouldShowHorizontalBar = visualFormatColumns.some(function (vf) {
|
|
54180
|
+
return vf.field === column.fieldId && vf["function"] === column["function"];
|
|
54181
|
+
});
|
|
54160
54182
|
var numericValue = Number(value);
|
|
54161
54183
|
var isNumeric = !isNaN(numericValue);
|
|
54162
54184
|
if (!shouldShowHorizontalBar && !isNumeric) {
|
|
@@ -54167,7 +54189,7 @@ var VisualFormatCell = function VisualFormatCell(_ref) {
|
|
|
54167
54189
|
if (isNumeric) {
|
|
54168
54190
|
var actualMax = Math.max.apply(Math, columnValues);
|
|
54169
54191
|
var percentage = calculatePercentage(numericValue, actualMax);
|
|
54170
|
-
var barColor = conditionalFormattingColor
|
|
54192
|
+
var barColor = conditionalFormattingColor != null ? conditionalFormattingColor : '#4caf50';
|
|
54171
54193
|
return jsxRuntime.jsxs("div", {
|
|
54172
54194
|
style: {
|
|
54173
54195
|
display: 'flex',
|
|
@@ -54198,20 +54220,20 @@ var VisualFormatCell = function VisualFormatCell(_ref) {
|
|
|
54198
54220
|
className: /*#__PURE__*/css$1.css( {
|
|
54199
54221
|
name: "1qyjf6m-VisualFormatCell",
|
|
54200
54222
|
styles: "cursor:pointer;transition:width 0.3s ease;label:VisualFormatCell;",
|
|
54201
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54223
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlZpc3VhbEZvcm1hdENlbGwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlFeUIiLCJmaWxlIjoiVmlzdWFsRm9ybWF0Q2VsbC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRhYmxlQ29udGVudCB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvRGF0YVRhYmxlL3R5cGVzJztcbmltcG9ydCAqIGFzIERhdHVtS2V5IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvRGF0dW1LZXknO1xuaW1wb3J0IHsgUXVlcnlBdHRyaWJ1dGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9RdWVyeUF0dHJpYnV0ZXMvdHlwZXMnO1xuXG5pbnRlcmZhY2UgVmlzdWFsRm9ybWF0Q2VsbFByb3BzIHtcbiAgdmFsdWU6IFRhYmxlQ29udGVudFsndmFsdWUnXTtcbiAgZGlzcGxheVZhbHVlOiBUYWJsZUNvbnRlbnRbJ2Rpc3BsYXlWYWx1ZSddO1xuICBjb2x1bW46IERhdHVtS2V5LlBhcnNlZERhdHVtS2V5O1xuICB2aXN1YWxGb3JtYXRDb2x1bW5zOiBRdWVyeUF0dHJpYnV0ZXMuTWVhc3VyZVtdO1xuICBjb2x1bW5WYWx1ZXM6IG51bWJlcltdO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdDb2xvcj86IHN0cmluZztcbn1cblxuY29uc3QgY2FsY3VsYXRlUGVyY2VudGFnZSA9ICh2YWx1ZTogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIGlmIChtYXggPT09IDApIHJldHVybiAwO1xuICBpZiAodmFsdWUgPCAwKSByZXR1cm4gMDtcbiAgcmV0dXJuICh2YWx1ZSAvIG1heCkgKiAxMDA7XG59O1xuXG5leHBvcnQgY29uc3QgVmlzdWFsRm9ybWF0Q2VsbDogUmVhY3QuRkM8VmlzdWFsRm9ybWF0Q2VsbFByb3BzPiA9ICh7XG4gIHZhbHVlLFxuICBkaXNwbGF5VmFsdWUsXG4gIGNvbHVtbixcbiAgdmlzdWFsRm9ybWF0Q29sdW1ucyxcbiAgY29sdW1uVmFsdWVzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdDb2xvcixcbn0pID0+IHtcbiAgY29uc3Qgc2hvdWxkU2hvd0hvcml6b250YWxCYXIgPSB2aXN1YWxGb3JtYXRDb2x1bW5zLnNvbWUoXG4gICAgKHZmKSA9PiB2Zi5maWVsZCA9PT0gY29sdW1uLmZpZWxkSWQgJiYgdmYuZnVuY3Rpb24gPT09IGNvbHVtbi5mdW5jdGlvbixcbiAgKTtcblxuICBjb25zdCBudW1lcmljVmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICBjb25zdCBpc051bWVyaWMgPSAhaXNOYU4obnVtZXJpY1ZhbHVlKTtcblxuICBpZiAoIXNob3VsZFNob3dIb3Jpem9udGFsQmFyICYmICFpc051bWVyaWMpIHtcbiAgICByZXR1cm4gPHNwYW4+e2Rpc3BsYXlWYWx1ZSB8fCB2YWx1ZX08L3NwYW4+O1xuICB9XG5cbiAgaWYgKGlzTnVtZXJpYykge1xuICAgIGNvbnN0IGFjdHVhbE1heCA9IE1hdGgubWF4KC4uLmNvbHVtblZhbHVlcyk7XG4gICAgY29uc3QgcGVyY2VudGFnZSA9IGNhbGN1bGF0ZVBlcmNlbnRhZ2UobnVtZXJpY1ZhbHVlLCBhY3R1YWxNYXgpO1xuICAgIGNvbnN0IGJhckNvbG9yID0gY29uZGl0aW9uYWxGb3JtYXR0aW5nQ29sb3IgPz8gJyM0Y2FmNTAnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZ2FwOiAnMC41cmVtJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMnB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgeyEhdmFsdWUgJiYgKFxuICAgICAgICAgIDxzdmcgd2lkdGg9XCI3MCVcIiBoZWlnaHQ9XCIyMFwiIHN0eWxlPXt7IGZsZXhTaHJpbms6IDAgfX0+XG4gICAgICAgICAgICA8cmVjdCB4PXswfSB5PXsyfSB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCIjZTBlMGUwXCIgcng9ezJ9IC8+XG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICBrZXk9eydiYXJSZWN0S2V5J31cbiAgICAgICAgICAgICAgeD17MH1cbiAgICAgICAgICAgICAgeT17Mn1cbiAgICAgICAgICAgICAgd2lkdGg9e2Ake01hdGgubWF4KDQsIChwZXJjZW50YWdlIC8gMTAwKSAqIDEwMCl9JWB9XG4gICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcbiAgICAgICAgICAgICAgZmlsbD17YmFyQ29sb3J9XG4gICAgICAgICAgICAgIHJ4PXsyfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ3dpZHRoIDAuM3MgZWFzZScsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgKX1cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZm9udFNpemU6ICcwLjgxMjVyZW0nLFxuICAgICAgICAgICAgbWluV2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogJ2F1dG8nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2Rpc3BsYXlWYWx1ZSA/PyB2YWx1ZX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8c3Bhbj57ZGlzcGxheVZhbHVlIHx8IHZhbHVlfTwvc3Bhbj47XG59O1xuIl19 */",
|
|
54202
54224
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$b
|
|
54203
54225
|
})
|
|
54204
54226
|
}, 'barRectKey')]
|
|
54205
|
-
}), jsxRuntime.
|
|
54227
|
+
}), jsxRuntime.jsx("span", {
|
|
54206
54228
|
style: {
|
|
54207
54229
|
fontSize: '0.8125rem',
|
|
54208
54230
|
minWidth: 'fit-content',
|
|
54209
54231
|
whiteSpace: 'nowrap',
|
|
54210
|
-
fontWeight:
|
|
54232
|
+
fontWeight: 'normal',
|
|
54211
54233
|
marginLeft: 'auto',
|
|
54212
54234
|
flexShrink: 0
|
|
54213
54235
|
},
|
|
54214
|
-
children:
|
|
54236
|
+
children: displayValue != null ? displayValue : value
|
|
54215
54237
|
})]
|
|
54216
54238
|
});
|
|
54217
54239
|
}
|
|
@@ -54262,18 +54284,11 @@ var DataTableTR = function DataTableTR(props) {
|
|
|
54262
54284
|
var component = props.renderTableCell(rowIndex, cellIndex, cell.value, field.datumKey);
|
|
54263
54285
|
var shouldApplyVisualFormat = false;
|
|
54264
54286
|
if (props.visualFormatColumns && field.dataType === 'number') {
|
|
54265
|
-
|
|
54266
|
-
|
|
54267
|
-
|
|
54268
|
-
|
|
54269
|
-
|
|
54270
|
-
})
|
|
54271
|
-
};
|
|
54272
|
-
});
|
|
54273
|
-
shouldApplyVisualFormat = groupedValues.some(function (group) {
|
|
54274
|
-
return group.splitValues.every(function (value) {
|
|
54275
|
-
return field.datumKey && field.datumKey.includes(value) || field.id && field.id.includes(value);
|
|
54276
|
-
});
|
|
54287
|
+
shouldApplyVisualFormat = props.visualFormatColumns.some(function (group) {
|
|
54288
|
+
var isSameField = parse(field.datumKey).fieldId === group.field;
|
|
54289
|
+
var isCustomMetric = group["function"] === 'none';
|
|
54290
|
+
var isSameAggregateFunction = parse(field.datumKey)["function"] === group["function"];
|
|
54291
|
+
return isSameField && (isCustomMetric || isSameAggregateFunction);
|
|
54277
54292
|
});
|
|
54278
54293
|
}
|
|
54279
54294
|
var columnWidth = buildColumnWidth(field.datumKey, props == null ? void 0 : props.sizing, props == null ? void 0 : props.defaultColumnWidth, props == null ? void 0 : props.alternativeColumnSizing);
|
|
@@ -54295,7 +54310,7 @@ var DataTableTR = function DataTableTR(props) {
|
|
|
54295
54310
|
cellContent = jsxRuntime.jsx(VisualFormatCell, {
|
|
54296
54311
|
value: cell.value,
|
|
54297
54312
|
displayValue: cell.displayValue,
|
|
54298
|
-
|
|
54313
|
+
column: parse(field.datumKey),
|
|
54299
54314
|
visualFormatColumns: props.visualFormatColumns || [],
|
|
54300
54315
|
columnValues: columnValues,
|
|
54301
54316
|
conditionalFormattingColor: conditionalFormattingColor
|
|
@@ -55031,7 +55046,7 @@ var DataTableView = function DataTableView(props) {
|
|
|
55031
55046
|
children: groupingHeading.content
|
|
55032
55047
|
}, groupingHeading + "_" + headerIndex);
|
|
55033
55048
|
})
|
|
55034
|
-
}), props.summarizeKPIs &&
|
|
55049
|
+
}), props.summarizeKPIs && dimensionXFields.length > 0 && jsxRuntime.jsx(KPISummaryHeader, {
|
|
55035
55050
|
tableRepresentation: tableRepresentation,
|
|
55036
55051
|
numberFormat: props.numberFormat,
|
|
55037
55052
|
numberFormatOptions: props.numberFormatOptions,
|
|
@@ -67418,55 +67433,17 @@ var WaterfallColorsSection = function WaterfallColorsSection(props) {
|
|
|
67418
67433
|
};
|
|
67419
67434
|
|
|
67420
67435
|
var VisualFormatSection = function VisualFormatSection(props) {
|
|
67421
|
-
var _props$attributes$dim;
|
|
67422
67436
|
var _useDashboardBehaviou = useDashboardBehaviourContext(),
|
|
67423
67437
|
textOverride = _useDashboardBehaviou.textOverride,
|
|
67424
|
-
mode = _useDashboardBehaviou.mode
|
|
67425
|
-
|
|
67426
|
-
var editor = useEditor();
|
|
67427
|
-
var dashboardBehaviour = useDashboardBehaviourContext();
|
|
67428
|
-
var kpiSummaryQuery = _extends({}, props.attributes, {
|
|
67429
|
-
dimension: ((_props$attributes$dim = props.attributes.dimension) == null ? void 0 : _props$attributes$dim.filter(function (dim) {
|
|
67430
|
-
return dim.pivot === 'y';
|
|
67431
|
-
})) || [],
|
|
67432
|
-
measure: [],
|
|
67433
|
-
limit: undefined,
|
|
67434
|
-
offset: undefined
|
|
67435
|
-
});
|
|
67436
|
-
var _useQueryEffect = useQueryEffect(kpiSummaryQuery, (editor == null ? void 0 : editor.runQueriesCallback) || function () {
|
|
67437
|
-
return Promise.resolve([]);
|
|
67438
|
-
}, {
|
|
67439
|
-
localFilters: (editor == null ? void 0 : editor.component.localFilters) || [],
|
|
67440
|
-
globalFilters: []
|
|
67441
|
-
}, props.dataSet, undefined, dashboardBehaviour.variables),
|
|
67442
|
-
results = _useQueryEffect.results;
|
|
67443
|
-
var yDimensionsChanged = function yDimensionsChanged() {
|
|
67444
|
-
var _props$attributes$dim2;
|
|
67445
|
-
var currentYDimensions = ((_props$attributes$dim2 = props.attributes.dimension) == null ? void 0 : _props$attributes$dim2.filter(function (dim) {
|
|
67446
|
-
return dim.pivot === 'y';
|
|
67447
|
-
})) || [];
|
|
67448
|
-
var deepEqual = function deepEqual(a, b) {
|
|
67449
|
-
if (a.length !== b.length) return false;
|
|
67450
|
-
return a.every(function (item, index) {
|
|
67451
|
-
var _b$index, _b$index2, _b$index3;
|
|
67452
|
-
return item.field === ((_b$index = b[index]) == null ? void 0 : _b$index.field) && item["function"] === ((_b$index2 = b[index]) == null ? void 0 : _b$index2["function"]) && item.pivot === ((_b$index3 = b[index]) == null ? void 0 : _b$index3.pivot);
|
|
67453
|
-
});
|
|
67454
|
-
};
|
|
67455
|
-
var hasChanged = deepEqual(currentYDimensions, previousYDimensionsRef.current);
|
|
67456
|
-
if (hasChanged) previousYDimensionsRef.current = currentYDimensions;
|
|
67457
|
-
return hasChanged;
|
|
67458
|
-
};
|
|
67459
|
-
React.useEffect(function () {
|
|
67460
|
-
var _props$attributes$vis;
|
|
67461
|
-
if (yDimensionsChanged() && (((_props$attributes$vis = props.attributes.visualFormatColumns) == null ? void 0 : _props$attributes$vis.length) || 0) > 0) {
|
|
67462
|
-
props.setAttributes({
|
|
67463
|
-
visualFormatColumns: []
|
|
67464
|
-
});
|
|
67465
|
-
}
|
|
67466
|
-
}, [props.attributes.dimension]);
|
|
67438
|
+
mode = _useDashboardBehaviou.mode,
|
|
67439
|
+
queryEngineConfig = _useDashboardBehaviou.queryEngineConfig;
|
|
67467
67440
|
var handleColumnAdd = function handleColumnAdd(field) {
|
|
67468
|
-
var
|
|
67469
|
-
|
|
67441
|
+
var _props$attributes$vis;
|
|
67442
|
+
var currentColumns = (_props$attributes$vis = props.attributes.visualFormatColumns) != null ? _props$attributes$vis : [];
|
|
67443
|
+
var alreadyExists = currentColumns.some(function (col) {
|
|
67444
|
+
return col.field === field.field && col["function"] === field["function"];
|
|
67445
|
+
});
|
|
67446
|
+
if (!alreadyExists) {
|
|
67470
67447
|
var newColumns = [].concat(currentColumns, [field]);
|
|
67471
67448
|
props.setAttributes({
|
|
67472
67449
|
visualFormatColumns: newColumns
|
|
@@ -67486,18 +67463,26 @@ var VisualFormatSection = function VisualFormatSection(props) {
|
|
|
67486
67463
|
visualFormatColumns: newColumns
|
|
67487
67464
|
});
|
|
67488
67465
|
};
|
|
67489
|
-
var
|
|
67490
|
-
|
|
67491
|
-
|
|
67466
|
+
var availableFields = props.attributes.measure.map(function (measure) {
|
|
67467
|
+
var _aggregateFunction$va;
|
|
67468
|
+
var field = findField(props.dataSet, measure.field);
|
|
67469
|
+
var options = supportedAggregateOptions(field, queryEngineConfig.supportedAggregates);
|
|
67470
|
+
var aggregateFunction = options.find(function (opt) {
|
|
67471
|
+
return opt.value === measure["function"];
|
|
67472
|
+
});
|
|
67473
|
+
var isCustomMetric = (aggregateFunction == null ? void 0 : aggregateFunction.label) === undefined;
|
|
67492
67474
|
return {
|
|
67493
|
-
title:
|
|
67494
|
-
icon: '
|
|
67495
|
-
value:
|
|
67475
|
+
title: isCustomMetric ? "" + field.publicName : field.publicName + " ( " + (aggregateFunction == null ? void 0 : aggregateFunction.label) + " )",
|
|
67476
|
+
icon: 'number',
|
|
67477
|
+
value: {
|
|
67478
|
+
field: field.id,
|
|
67479
|
+
"function": (_aggregateFunction$va = aggregateFunction == null ? void 0 : aggregateFunction.value) != null ? _aggregateFunction$va : 'none'
|
|
67480
|
+
}
|
|
67496
67481
|
};
|
|
67497
67482
|
});
|
|
67498
|
-
var selectedItems = (props.attributes.visualFormatColumns || []).map(function (
|
|
67483
|
+
var selectedItems = (props.attributes.visualFormatColumns || []).map(function (visualFormat) {
|
|
67499
67484
|
var field = availableFields.find(function (f) {
|
|
67500
|
-
return f.
|
|
67485
|
+
return f.value.field === visualFormat.field;
|
|
67501
67486
|
});
|
|
67502
67487
|
return field || null;
|
|
67503
67488
|
}).filter(function (item) {
|
|
@@ -67524,7 +67509,7 @@ var VisualFormatSection = function VisualFormatSection(props) {
|
|
|
67524
67509
|
fontStyle: 'italic',
|
|
67525
67510
|
margin: '1rem 0'
|
|
67526
67511
|
},
|
|
67527
|
-
children: textOverride('visual_format.no_columns', 'No
|
|
67512
|
+
children: textOverride('visual_format.no_columns', 'No metrics available')
|
|
67528
67513
|
})]
|
|
67529
67514
|
});
|
|
67530
67515
|
};
|