@datarailsshared/dr_renderer 1.2.169 → 1.2.171-dragons
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/package.json +1 -1
- package/src/highcharts_renderer.js +311 -8
package/package.json
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
const CHART_TYPES = {
|
|
2
|
+
LINE_CHART: 'line-chart',
|
|
3
|
+
LINE_CHART_SMOOTH: 'line-chart-smooth',
|
|
4
|
+
COLUMN_CHART: 'column-chart',
|
|
5
|
+
COLUMN_CHART_STACKED: 'column-chart-stacked',
|
|
6
|
+
COMBO_CHART: 'combo-chart',
|
|
7
|
+
COMBO_COLUMN_CHART: 'combo-column-chart',
|
|
8
|
+
COMBO_STACKED_CHART: 'combo-stacked-chart',
|
|
9
|
+
BAR_CHART: 'bar-chart',
|
|
10
|
+
BAR_CHART_STACKED: 'bar-chart-stacked',
|
|
11
|
+
SCATTER_CHART: 'scatter-chart',
|
|
12
|
+
AREA_CHART: 'area-chart',
|
|
13
|
+
AREA_CHART_SMOOTH: 'area-chart-smooth',
|
|
14
|
+
TABLE_ONLY: 'table_only',
|
|
15
|
+
POLYGON_CHART: 'polygon-chart',
|
|
16
|
+
PIE_CHART: 'pie-chart',
|
|
17
|
+
PIE_CHART_DRILLDOWN: 'pie-chart-drilldown',
|
|
18
|
+
GAUGE_SOLID_CHART: 'gauge-solid-chart',
|
|
19
|
+
GAUGE_CHART: 'gauge-chart',
|
|
20
|
+
KPI_WIDGET: 'kpi-widget',
|
|
21
|
+
TEXT_WIDGET: 'text-widget',
|
|
22
|
+
WATERFALL_BREAKDOWN: 'waterfall-chart-breakdown',
|
|
23
|
+
PUBLISHED_ITEM: 'published_item',
|
|
24
|
+
RICH_TEXT: 'rich_text',
|
|
25
|
+
}
|
|
26
|
+
|
|
1
27
|
let getHighchartsRenderer = function ($, document, Highcharts, default_colors, highchartsRenderer,
|
|
2
28
|
DataFormatter, lodash, moment_lib, isNewAngular) {
|
|
3
29
|
|
|
@@ -445,6 +471,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
445
471
|
|| this.series.options.className === 'trendSeries') {
|
|
446
472
|
rows = [];
|
|
447
473
|
}
|
|
474
|
+
|
|
448
475
|
var cols = this.key;
|
|
449
476
|
if (typeof (cols) == 'object' && cols.name) {
|
|
450
477
|
cols = cols.name;
|
|
@@ -500,6 +527,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
500
527
|
}
|
|
501
528
|
|
|
502
529
|
const percentageWrapper = percentageArray.length ? `(${percentageArray.join(', ')})` : '';
|
|
530
|
+
|
|
531
|
+
if (this.series.options.className === 'waterfallBreakdown') {
|
|
532
|
+
const modifiedRowsAndCols = highchartsRenderer.transformRowsAndColsForBreakdown(rows, cols, this.point, opts);
|
|
533
|
+
rows = modifiedRowsAndCols.rows;
|
|
534
|
+
cols = modifiedRowsAndCols.cols;
|
|
535
|
+
}
|
|
536
|
+
|
|
503
537
|
var aggr = pivotData.getAggregator(rows, cols);
|
|
504
538
|
|
|
505
539
|
const formattedValue = is_drill_down_pie || labelOptions.show_value ? $.pivotUtilities.getFormattedNumber(value, aggr, opts, true) : '';
|
|
@@ -570,6 +604,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
570
604
|
}
|
|
571
605
|
|
|
572
606
|
var func = function () {
|
|
607
|
+
const isWaterfallBreakdown = this.series.options.className === 'waterfallBreakdown';
|
|
608
|
+
|
|
573
609
|
var y = parseFloat(this.y);
|
|
574
610
|
if (pivotData) {
|
|
575
611
|
let series_name = (this.series.name || '') + "";
|
|
@@ -604,8 +640,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
604
640
|
cols = rows;
|
|
605
641
|
rows = temp;
|
|
606
642
|
}
|
|
607
|
-
|
|
608
|
-
var category_text = `<span style="font-weight: bold;">${cols} </span>`;
|
|
643
|
+
|
|
644
|
+
var category_text = `<span style="font-weight: bold;">${cols}${isWaterfallBreakdown ? ': ' : ' '}</span>`;
|
|
609
645
|
if (this.category) {
|
|
610
646
|
category_text = '';
|
|
611
647
|
}
|
|
@@ -617,9 +653,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
617
653
|
if (pivotData.rowAttrs.length == 0) {
|
|
618
654
|
series_text = ': ';
|
|
619
655
|
}
|
|
656
|
+
|
|
657
|
+
if (isWaterfallBreakdown) {
|
|
658
|
+
const modifiedRowsAndCols = highchartsRenderer.transformRowsAndColsForBreakdown(rows, cols, this.point, opts);
|
|
659
|
+
rows = modifiedRowsAndCols.rows;
|
|
660
|
+
cols = modifiedRowsAndCols.cols;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
var aggr = pivotData.getAggregator(rows, cols);
|
|
664
|
+
|
|
620
665
|
let formatted_value_to_return = $.pivotUtilities.getFormattedNumber(y, null, opts);
|
|
621
|
-
if (aggr.value()) {
|
|
622
|
-
formatted_value_to_return = $.pivotUtilities.getFormattedNumber(aggr.value(), aggr, opts);
|
|
666
|
+
if (aggr.value() || isWaterfallBreakdown) {
|
|
667
|
+
formatted_value_to_return = $.pivotUtilities.getFormattedNumber(isWaterfallBreakdown ? y : aggr.value(), aggr, opts);
|
|
623
668
|
}
|
|
624
669
|
|
|
625
670
|
let wrappedFormattedValue = highchartsRenderer.getSpanWrapper(formatted_value_to_return);
|
|
@@ -628,7 +673,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
628
673
|
category_text = tooltipOptions.show_x_axis ? category_text : '';
|
|
629
674
|
series_text = tooltipOptions.show_data_series ? series_text : '';
|
|
630
675
|
|
|
631
|
-
let to_return = category_text + series_text + wrappedFormattedValue;
|
|
676
|
+
let to_return = isWaterfallBreakdown ? `${ category_text }${ wrappedFormattedValue }` : category_text + series_text + wrappedFormattedValue;
|
|
632
677
|
|
|
633
678
|
if (is_drill_down_pie) {
|
|
634
679
|
to_return = wrappedFormattedValue;
|
|
@@ -1128,7 +1173,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1128
1173
|
allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
|
|
1129
1174
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
|
1130
1175
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, {'chartOptions': additionOptions, total_value_options: opts.total_value_options}),
|
|
1131
|
-
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
|
1176
|
+
style: highchartsRenderer.getDataLabelsStyle(additionOptions),
|
|
1132
1177
|
}
|
|
1133
1178
|
|
|
1134
1179
|
ob = highchartsRenderer.getDataLabelsOptions(additionOptions, ob);
|
|
@@ -1284,6 +1329,94 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1284
1329
|
return chart_series;
|
|
1285
1330
|
}
|
|
1286
1331
|
|
|
1332
|
+
highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, onlyNumbers, additionOptions, opts) {
|
|
1333
|
+
|
|
1334
|
+
const colorOptions = opts.breakdown_options.colors;
|
|
1335
|
+
|
|
1336
|
+
var chart_series = [],
|
|
1337
|
+
row_n_keys = pivotData.getRowKeys(),
|
|
1338
|
+
col_n_keys = pivotData.getColKeys();
|
|
1339
|
+
|
|
1340
|
+
if (row_n_keys.length == 0)
|
|
1341
|
+
row_n_keys.push([]);
|
|
1342
|
+
|
|
1343
|
+
let resultObject = {
|
|
1344
|
+
data: [],
|
|
1345
|
+
dataLabels: {
|
|
1346
|
+
allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
|
|
1347
|
+
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
|
1348
|
+
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, {'chartOptions': additionOptions, total_value_options: opts.total_value_options}),
|
|
1349
|
+
style: highchartsRenderer.getDataLabelsStyle(additionOptions),
|
|
1350
|
+
},
|
|
1351
|
+
upColor: colorOptions.increase,
|
|
1352
|
+
color: colorOptions.decrease,
|
|
1353
|
+
className: 'waterfallBreakdown'
|
|
1354
|
+
};
|
|
1355
|
+
resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
|
|
1356
|
+
|
|
1357
|
+
const breakdownValues = [];
|
|
1358
|
+
lodash.forEach(col_n_keys, function(col_n_value, col_index) {
|
|
1359
|
+
breakdownValues.push([]);
|
|
1360
|
+
lodash.forEach(row_n_keys, function (row_n_value, row_index) {
|
|
1361
|
+
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1362
|
+
var val = agg.value();
|
|
1363
|
+
|
|
1364
|
+
if (val != null && $.isNumeric(val)) {
|
|
1365
|
+
val = parseFloat(val);
|
|
1366
|
+
} else if (onlyNumbers) {
|
|
1367
|
+
val = NaN;
|
|
1368
|
+
} else {
|
|
1369
|
+
val = 0;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
breakdownValues[col_index][row_index] = val;
|
|
1373
|
+
|
|
1374
|
+
if (col_index) {
|
|
1375
|
+
const value = val - breakdownValues[col_index - 1][row_index];
|
|
1376
|
+
|
|
1377
|
+
if (value) {
|
|
1378
|
+
var tmoobj = {};
|
|
1379
|
+
var key = row_n_value;
|
|
1380
|
+
if (lodash.isArray(row_n_value)) {
|
|
1381
|
+
key = row_n_value[0];
|
|
1382
|
+
}
|
|
1383
|
+
tmoobj.name = lodash.unescape(key);
|
|
1384
|
+
|
|
1385
|
+
if (tmoobj.name) {
|
|
1386
|
+
tmoobj.name = tmoobj.name.replace('DR_Others', highchartsRenderer.getOthersName(opts));
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
if (lodash.isEmpty(String(tmoobj.name))) {
|
|
1390
|
+
tmoobj.name = lodash.unescape(col_n_value);
|
|
1391
|
+
tmoobj.visible = false;
|
|
1392
|
+
}
|
|
1393
|
+
tmoobj.y = value;
|
|
1394
|
+
resultObject.data.push(tmoobj);
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
});
|
|
1398
|
+
|
|
1399
|
+
resultObject.data.push({
|
|
1400
|
+
y: pivotData.colTotals[col_n_value].sum,
|
|
1401
|
+
name: lodash.unescape(col_n_value),
|
|
1402
|
+
isSum: !!col_index,
|
|
1403
|
+
isTotal: true,
|
|
1404
|
+
color: colorOptions.total,
|
|
1405
|
+
});
|
|
1406
|
+
});
|
|
1407
|
+
|
|
1408
|
+
chart_series.push(resultObject);
|
|
1409
|
+
|
|
1410
|
+
opts.chart_series = []
|
|
1411
|
+
if (!lodash.isEqual(row_n_keys, [[]])) {
|
|
1412
|
+
chart_series.forEach(series => {
|
|
1413
|
+
opts.chart_series.push(series.name);
|
|
1414
|
+
})
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
return chart_series;
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1287
1420
|
highchartsRenderer.setChartTypeBySeriesType = function (type, series) {
|
|
1288
1421
|
const types = {
|
|
1289
1422
|
'line-chart': 'line',
|
|
@@ -3037,6 +3170,99 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3037
3170
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
3038
3171
|
};
|
|
3039
3172
|
|
|
3173
|
+
highchartsRenderer.ptRenderWaterfallBreakdown = function (pivotData, opts, drilldownFunc, chartType) {
|
|
3174
|
+
let chartOptions = {};
|
|
3175
|
+
const additionOptions = opts.chartOptions ? opts.chartOptions : highchartsRenderer.getDefaultValueForChart('column-chart');
|
|
3176
|
+
|
|
3177
|
+
chartOptions.chart = {
|
|
3178
|
+
type: 'waterfall',
|
|
3179
|
+
zoomType: additionOptions && additionOptions.chart && additionOptions.chart.zoom_type ? additionOptions.chart.zoom_type : 'None',
|
|
3180
|
+
};
|
|
3181
|
+
if (disableAnimation) {
|
|
3182
|
+
chartOptions.chart.animation = false;
|
|
3183
|
+
}
|
|
3184
|
+
|
|
3185
|
+
const breakdownFieldIsNotSet = lodash.some(pivotData.getRowKeys(), rowKey => !rowKey || lodash.isArray(rowKey) && !rowKey.length);
|
|
3186
|
+
chartOptions.xAxis = {
|
|
3187
|
+
type: 'category',
|
|
3188
|
+
crosshair: true,
|
|
3189
|
+
min: 0,
|
|
3190
|
+
title: {
|
|
3191
|
+
text : additionOptions && additionOptions.axisX ? additionOptions.axisX.name : '',
|
|
3192
|
+
},
|
|
3193
|
+
uniqueNames: breakdownFieldIsNotSet,
|
|
3194
|
+
};
|
|
3195
|
+
|
|
3196
|
+
highchartsRenderer.setTitleAndSubTitle(chartOptions, opts, additionOptions);
|
|
3197
|
+
|
|
3198
|
+
chartOptions.yAxis = {
|
|
3199
|
+
min: null,
|
|
3200
|
+
max: null,
|
|
3201
|
+
title: {
|
|
3202
|
+
text: additionOptions && additionOptions.axisY ? additionOptions.axisY.name : '',
|
|
3203
|
+
autoylabel: additionOptions && additionOptions.axisY ? additionOptions.axisY.autoylabel : ''
|
|
3204
|
+
},
|
|
3205
|
+
labels: {
|
|
3206
|
+
formatter: highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts)
|
|
3207
|
+
},
|
|
3208
|
+
};
|
|
3209
|
+
if (additionOptions) {
|
|
3210
|
+
highchartsRenderer.setYAxisMinMax(chartOptions.yAxis, additionOptions.axisY);
|
|
3211
|
+
}
|
|
3212
|
+
|
|
3213
|
+
chartOptions.tooltip = {
|
|
3214
|
+
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
3215
|
+
valueDecimals: 2,
|
|
3216
|
+
};
|
|
3217
|
+
|
|
3218
|
+
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
3219
|
+
|
|
3220
|
+
if (lodash.get(opts, 'paletteOptions.widgetPalette', null)) {
|
|
3221
|
+
const mc_palette = lodash.find(lodash.get(opts.paletteOptions, 'monochromePalettes', []), { selected: true });
|
|
3222
|
+
chartOptions.colors = mc_palette ? mc_palette.colors : opts.paletteOptions.widgetPalette;
|
|
3223
|
+
} else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
|
|
3224
|
+
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
3225
|
+
}
|
|
3226
|
+
chartOptions.series = highchartsRenderer
|
|
3227
|
+
.ptCreateWaterfallBreakdownSeries(pivotData, null, additionOptions, opts);
|
|
3228
|
+
|
|
3229
|
+
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
3230
|
+
chartOptions.plotOptions = {
|
|
3231
|
+
waterfall: {
|
|
3232
|
+
pointPadding: 0.2,
|
|
3233
|
+
borderWidth: 0,
|
|
3234
|
+
borderRadius: 1,
|
|
3235
|
+
lineWidth: 0,
|
|
3236
|
+
},
|
|
3237
|
+
series: {
|
|
3238
|
+
animation: !disableAnimation,
|
|
3239
|
+
cropThreshold: 1000,
|
|
3240
|
+
dataLabels: {
|
|
3241
|
+
allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
|
|
3242
|
+
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
|
3243
|
+
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
|
3244
|
+
style: highchartsRenderer.getDataLabelsStyle(additionOptions),
|
|
3245
|
+
inside: false
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
};
|
|
3249
|
+
|
|
3250
|
+
if (opts.drillDownListFunc) {
|
|
3251
|
+
chartOptions.plotOptions.series.cursor = 'pointer';
|
|
3252
|
+
chartOptions.plotOptions.series.point = {
|
|
3253
|
+
events: {
|
|
3254
|
+
click: opts.drillDownListFunc
|
|
3255
|
+
}
|
|
3256
|
+
};
|
|
3257
|
+
}
|
|
3258
|
+
|
|
3259
|
+
chartOptions.legend = {
|
|
3260
|
+
enabled: false
|
|
3261
|
+
};
|
|
3262
|
+
|
|
3263
|
+
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
3264
|
+
};
|
|
3265
|
+
|
|
3040
3266
|
highchartsRenderer.formatFieldValue = function (field, value) {
|
|
3041
3267
|
let currentType = '';
|
|
3042
3268
|
switch (field.type) {
|
|
@@ -4101,7 +4327,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4101
4327
|
}
|
|
4102
4328
|
};
|
|
4103
4329
|
|
|
4104
|
-
highchartsRenderer.rhPivotView = function (rowData, options, isTable = false) {
|
|
4330
|
+
highchartsRenderer.rhPivotView = function (rowData, options, isTable = false, widget = null) {
|
|
4105
4331
|
if (!rowData || !rowData) {
|
|
4106
4332
|
if (options.onlyOptions) {
|
|
4107
4333
|
return {};
|
|
@@ -4109,6 +4335,28 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4109
4335
|
return null;
|
|
4110
4336
|
}
|
|
4111
4337
|
|
|
4338
|
+
if (widget && widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
4339
|
+
const breakdownSettings = widget.options.breakdown_options.settings;
|
|
4340
|
+
const maxCategories = breakdownSettings.maxCategoriesCount;
|
|
4341
|
+
const minCategories = breakdownSettings.minCategoriesCount;
|
|
4342
|
+
const categoryFieldName = widget.cols[0].name;
|
|
4343
|
+
const uniqueCategories = lodash.filter(lodash.uniq(lodash.map(rowData, row => row[categoryFieldName])), value => !!value);
|
|
4344
|
+
|
|
4345
|
+
if (uniqueCategories && (uniqueCategories.length > maxCategories || uniqueCategories.length < minCategories )) {
|
|
4346
|
+
const commonErrorSentence = `Please choose ${minCategories}-${maxCategories} items in the Category section.`
|
|
4347
|
+
options.error_has_occurred = true;
|
|
4348
|
+
options.error_params = {
|
|
4349
|
+
title: uniqueCategories.length > maxCategories
|
|
4350
|
+
? `There is too much data. ${commonErrorSentence}`
|
|
4351
|
+
: `Not enough data. ${commonErrorSentence}`,
|
|
4352
|
+
text: '',
|
|
4353
|
+
btnText: 'Edit Widget',
|
|
4354
|
+
class: 'too-much-data',
|
|
4355
|
+
}
|
|
4356
|
+
return highchartsRenderer.getNoDataResult(options.rendererOptions, true);
|
|
4357
|
+
}
|
|
4358
|
+
}
|
|
4359
|
+
|
|
4112
4360
|
if (rowData.length == 0) {
|
|
4113
4361
|
if (options.onlyOptions) {
|
|
4114
4362
|
return {};
|
|
@@ -6517,6 +6765,17 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6517
6765
|
};
|
|
6518
6766
|
|
|
6519
6767
|
highchartsRenderer.chartsTypesInfo = {
|
|
6768
|
+
[CHART_TYPES.WATERFALL_BREAKDOWN]: {
|
|
6769
|
+
name: 'Waterfall Breakdown Chart ',
|
|
6770
|
+
label: 'Waterfall Breakdown Chart ',
|
|
6771
|
+
title: 'TODO: add text',
|
|
6772
|
+
description: 'TODO: add text',
|
|
6773
|
+
axisName: 'Category',
|
|
6774
|
+
legendName: 'Breakdown',
|
|
6775
|
+
startedMessage: 'To get started, drag one field to the Category and one field to the Value section.',
|
|
6776
|
+
axisTooltipTitle: 'TODO: add text',
|
|
6777
|
+
legendTooltipTitle: 'TODO: add text',
|
|
6778
|
+
},
|
|
6520
6779
|
'combo-chart': {
|
|
6521
6780
|
name: 'Combo Chart ',
|
|
6522
6781
|
label: 'Combo Chart ',
|
|
@@ -7149,6 +7408,32 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7149
7408
|
}
|
|
7150
7409
|
]
|
|
7151
7410
|
},
|
|
7411
|
+
{
|
|
7412
|
+
type: 'waterfall-chart',
|
|
7413
|
+
name: 'Waterfall',
|
|
7414
|
+
hidden: true,
|
|
7415
|
+
class: 'google-visualization-charteditor-mini-column',
|
|
7416
|
+
subtypes: [
|
|
7417
|
+
{
|
|
7418
|
+
type: CHART_TYPES.WATERFALL_BREAKDOWN,
|
|
7419
|
+
name: highchartsRenderer.chartsTypesInfo[CHART_TYPES.WATERFALL_BREAKDOWN].name,
|
|
7420
|
+
class: 'google-visualization-charteditor-thumbs-columnchart',
|
|
7421
|
+
render: highchartsRenderer.ptRenderWaterfallBreakdown,
|
|
7422
|
+
suboptions: [
|
|
7423
|
+
highchartsRenderer.suboptions["axisY"],
|
|
7424
|
+
highchartsRenderer.suboptions["axisX"],
|
|
7425
|
+
highchartsRenderer.suboptions["tooltips"],
|
|
7426
|
+
highchartsRenderer.suboptions["label"],
|
|
7427
|
+
highchartsRenderer.suboptions["subtitle"],
|
|
7428
|
+
highchartsRenderer.suboptions["widget_library"],
|
|
7429
|
+
highchartsRenderer.suboptions["chart"],
|
|
7430
|
+
highchartsRenderer.suboptions["negative_number_format"],
|
|
7431
|
+
highchartsRenderer.suboptions["advanced"],
|
|
7432
|
+
highchartsRenderer.suboptions["legends"],
|
|
7433
|
+
]
|
|
7434
|
+
},
|
|
7435
|
+
]
|
|
7436
|
+
},
|
|
7152
7437
|
];
|
|
7153
7438
|
|
|
7154
7439
|
highchartsRenderer.richTextSubType = {
|
|
@@ -8054,7 +8339,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8054
8339
|
subopts.onlyOptions = true;
|
|
8055
8340
|
}
|
|
8056
8341
|
|
|
8057
|
-
let hc_options = highchartsRenderer.rhPivotView(res, subopts, is_table);
|
|
8342
|
+
let hc_options = highchartsRenderer.rhPivotView(res, subopts, is_table, widget_obj);
|
|
8058
8343
|
|
|
8059
8344
|
return hc_options;
|
|
8060
8345
|
}
|
|
@@ -8281,6 +8566,24 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8281
8566
|
}
|
|
8282
8567
|
}
|
|
8283
8568
|
|
|
8569
|
+
highchartsRenderer.getOthersName = function(opts) {
|
|
8570
|
+
return lodash.get(opts, "total_value_options.filter_options.filteredOutFieldName") || 'Others';
|
|
8571
|
+
}
|
|
8572
|
+
|
|
8573
|
+
highchartsRenderer.transformRowsAndColsForBreakdown = function(rows, cols, point, opts) {
|
|
8574
|
+
const othersIndex = cols.indexOf(highchartsRenderer.getOthersName(opts));
|
|
8575
|
+
if (othersIndex !== -1) {
|
|
8576
|
+
cols[othersIndex] = 'DR_Others';
|
|
8577
|
+
}
|
|
8578
|
+
if (point.options.isTotal) {
|
|
8579
|
+
rows = [];
|
|
8580
|
+
} else {
|
|
8581
|
+
rows = cols;
|
|
8582
|
+
cols = [];
|
|
8583
|
+
}
|
|
8584
|
+
return { rows: rows, cols: cols };
|
|
8585
|
+
}
|
|
8586
|
+
|
|
8284
8587
|
return highchartsRenderer;
|
|
8285
8588
|
};
|
|
8286
8589
|
|