UNPKG

@formant/ava

Version:

A framework for automated visual analytics.

40 lines (39 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.barSeriesQty = void 0; var utils_1 = require("../../utils"); var constants_1 = require("./constants"); var applyChartTypes = [ 'bar_chart', 'grouped_bar_chart', 'stacked_bar_chart', 'percent_stacked_bar_chart', 'column_chart', 'grouped_column_chart', 'stacked_column_chart', 'percent_stacked_column_chart', ]; exports.barSeriesQty = { id: 'bar-series-qty', type: 'SOFT', docs: { lintText: 'Bar chart should has proper number of bars or bar groups.', }, trigger: function (_a) { var chartType = _a.chartType; return applyChartTypes.includes(chartType); }, validator: function (args) { var result = 1; var dataProps = args.dataProps, chartType = args.chartType; if (dataProps && chartType) { var field4Series = dataProps.find(function (field) { return (0, utils_1.hasSubset)(field.levelOfMeasurements, ['Nominal']); }); var seriesQty = field4Series && field4Series.count ? field4Series.count : 0; if (seriesQty > 20) { result = 20 / seriesQty; } } result = result < 1 / constants_1.MAX_SOFT_RULE_COEFFICIENT ? 1 / constants_1.MAX_SOFT_RULE_COEFFICIENT : result; return result; }, };