@datarailsshared/dr_renderer 1.2.172-dragons → 1.2.174-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 +81 -51
package/package.json
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
}
|
|
1
|
+
const SERIES_CLASSNAMES = {
|
|
2
|
+
WATERFALL_BREAKDOWN: 'waterfallBreakdown',
|
|
3
|
+
TOTAL_SERIES: 'totalSeries',
|
|
4
|
+
TREND_SERIES: 'trendSeries',
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
const EMPTY_ROW_N_KEYS = [[]];
|
|
26
8
|
|
|
27
9
|
let getHighchartsRenderer = function ($, document, Highcharts, default_colors, highchartsRenderer,
|
|
28
10
|
DataFormatter, lodash, moment_lib, isNewAngular) {
|
|
@@ -77,6 +59,32 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
77
59
|
].join(''), 'i');
|
|
78
60
|
highchartsRenderer.isMobile = mobileBrowserRegex.test(navigator.userAgent);
|
|
79
61
|
|
|
62
|
+
highchartsRenderer.CHART_TYPES = {
|
|
63
|
+
LINE_CHART: 'line-chart',
|
|
64
|
+
LINE_CHART_SMOOTH: 'line-chart-smooth',
|
|
65
|
+
COLUMN_CHART: 'column-chart',
|
|
66
|
+
COLUMN_CHART_STACKED: 'column-chart-stacked',
|
|
67
|
+
COMBO_CHART: 'combo-chart',
|
|
68
|
+
COMBO_COLUMN_CHART: 'combo-column-chart',
|
|
69
|
+
COMBO_STACKED_CHART: 'combo-stacked-chart',
|
|
70
|
+
BAR_CHART: 'bar-chart',
|
|
71
|
+
BAR_CHART_STACKED: 'bar-chart-stacked',
|
|
72
|
+
SCATTER_CHART: 'scatter-chart',
|
|
73
|
+
AREA_CHART: 'area-chart',
|
|
74
|
+
AREA_CHART_SMOOTH: 'area-chart-smooth',
|
|
75
|
+
TABLE_ONLY: 'table_only',
|
|
76
|
+
POLYGON_CHART: 'polygon-chart',
|
|
77
|
+
PIE_CHART: 'pie-chart',
|
|
78
|
+
PIE_CHART_DRILLDOWN: 'pie-chart-drilldown',
|
|
79
|
+
GAUGE_SOLID_CHART: 'gauge-solid-chart',
|
|
80
|
+
GAUGE_CHART: 'gauge-chart',
|
|
81
|
+
KPI_WIDGET: 'kpi-widget',
|
|
82
|
+
TEXT_WIDGET: 'text-widget',
|
|
83
|
+
WATERFALL_BREAKDOWN: 'waterfall-chart-breakdown',
|
|
84
|
+
PUBLISHED_ITEM: 'published_item',
|
|
85
|
+
RICH_TEXT: 'rich_text',
|
|
86
|
+
};
|
|
87
|
+
|
|
80
88
|
highchartsRenderer.highcharts_theme = {
|
|
81
89
|
"colors": highchartsRenderer.defaults_colors,
|
|
82
90
|
"chart": {
|
|
@@ -528,7 +536,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
528
536
|
|
|
529
537
|
const percentageWrapper = percentageArray.length ? `(${percentageArray.join(', ')})` : '';
|
|
530
538
|
|
|
531
|
-
if (this.series.options.className ===
|
|
539
|
+
if (this.series.options.className === SERIES_CLASSNAMES.WATERFALL_BREAKDOWN) {
|
|
532
540
|
const modifiedRowsAndCols = highchartsRenderer.transformRowsAndColsForBreakdown(rows, cols, this.point, opts);
|
|
533
541
|
rows = modifiedRowsAndCols.rows;
|
|
534
542
|
cols = modifiedRowsAndCols.cols;
|
|
@@ -604,7 +612,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
604
612
|
}
|
|
605
613
|
|
|
606
614
|
var func = function () {
|
|
607
|
-
const isWaterfallBreakdown = this.series.options.className ===
|
|
615
|
+
const isWaterfallBreakdown = this.series.options.className === SERIES_CLASSNAMES.WATERFALL_BREAKDOWN;
|
|
608
616
|
|
|
609
617
|
var y = parseFloat(this.y);
|
|
610
618
|
if (pivotData) {
|
|
@@ -641,7 +649,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
641
649
|
rows = temp;
|
|
642
650
|
}
|
|
643
651
|
|
|
644
|
-
var category_text = `<span style="font-weight: bold;">${cols}${isWaterfallBreakdown ? ': ' : ' '}</span>`;
|
|
652
|
+
var category_text = `<span style="font-weight: bold;">${ cols }${ isWaterfallBreakdown ? ': ' : ' ' }</span>`;
|
|
645
653
|
if (this.category) {
|
|
646
654
|
category_text = '';
|
|
647
655
|
}
|
|
@@ -1106,7 +1114,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1106
1114
|
|
|
1107
1115
|
opts.chart_series = []
|
|
1108
1116
|
|
|
1109
|
-
if (!lodash.isEqual(row_n_keys,
|
|
1117
|
+
if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1110
1118
|
chart_series.forEach(series => {
|
|
1111
1119
|
opts.chart_series.push(series.name);
|
|
1112
1120
|
})
|
|
@@ -1266,7 +1274,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1266
1274
|
|
|
1267
1275
|
let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
|
|
1268
1276
|
|
|
1269
|
-
if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys,
|
|
1277
|
+
if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1270
1278
|
chart_series.forEach((series, seriesIndex) => {
|
|
1271
1279
|
const savedSeriesOption = lodash.find(opts.comboOptions.seriesOptions, {series: series.name});
|
|
1272
1280
|
if (savedSeriesOption) {
|
|
@@ -1279,7 +1287,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1279
1287
|
|
|
1280
1288
|
opts.chart_series = []
|
|
1281
1289
|
|
|
1282
|
-
if (!lodash.isEqual(row_n_keys,
|
|
1290
|
+
if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1283
1291
|
chart_series.forEach(series => {
|
|
1284
1292
|
opts.chart_series.push(series.name);
|
|
1285
1293
|
})
|
|
@@ -1330,15 +1338,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1330
1338
|
}
|
|
1331
1339
|
|
|
1332
1340
|
highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, onlyNumbers, additionOptions, opts) {
|
|
1333
|
-
|
|
1334
1341
|
const colorOptions = opts.breakdown_options.colors;
|
|
1335
|
-
|
|
1336
1342
|
var chart_series = [],
|
|
1337
1343
|
row_n_keys = pivotData.getRowKeys(),
|
|
1338
1344
|
col_n_keys = pivotData.getColKeys();
|
|
1339
1345
|
|
|
1340
|
-
if (row_n_keys.length
|
|
1346
|
+
if (row_n_keys.length === 0) {
|
|
1341
1347
|
row_n_keys.push([]);
|
|
1348
|
+
}
|
|
1342
1349
|
|
|
1343
1350
|
let resultObject = {
|
|
1344
1351
|
data: [],
|
|
@@ -1350,7 +1357,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1350
1357
|
},
|
|
1351
1358
|
upColor: colorOptions.increase,
|
|
1352
1359
|
color: colorOptions.decrease,
|
|
1353
|
-
className:
|
|
1360
|
+
className: SERIES_CLASSNAMES.WATERFALL_BREAKDOWN
|
|
1354
1361
|
};
|
|
1355
1362
|
resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
|
|
1356
1363
|
|
|
@@ -1408,11 +1415,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1408
1415
|
|
|
1409
1416
|
chart_series.push(resultObject);
|
|
1410
1417
|
|
|
1411
|
-
opts.chart_series = []
|
|
1412
|
-
if (!lodash.isEqual(row_n_keys,
|
|
1418
|
+
opts.chart_series = [];
|
|
1419
|
+
if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1413
1420
|
chart_series.forEach(series => {
|
|
1414
1421
|
opts.chart_series.push(series.name);
|
|
1415
|
-
})
|
|
1422
|
+
});
|
|
1416
1423
|
}
|
|
1417
1424
|
|
|
1418
1425
|
return chart_series;
|
|
@@ -3173,7 +3180,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3173
3180
|
|
|
3174
3181
|
highchartsRenderer.ptRenderWaterfallBreakdown = function (pivotData, opts, drilldownFunc, chartType) {
|
|
3175
3182
|
let chartOptions = {};
|
|
3176
|
-
const additionOptions = opts.chartOptions
|
|
3183
|
+
const additionOptions = opts.chartOptions
|
|
3184
|
+
? opts.chartOptions
|
|
3185
|
+
: highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
|
|
3177
3186
|
|
|
3178
3187
|
chartOptions.chart = {
|
|
3179
3188
|
type: 'waterfall',
|
|
@@ -4336,7 +4345,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4336
4345
|
return null;
|
|
4337
4346
|
}
|
|
4338
4347
|
|
|
4339
|
-
if (widget && widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
4348
|
+
if (widget && widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
4340
4349
|
const breakdownSettings = widget.options.breakdown_options.settings;
|
|
4341
4350
|
const maxCategories = breakdownSettings.maxCategoriesCount;
|
|
4342
4351
|
const minCategories = breakdownSettings.minCategoriesCount;
|
|
@@ -6766,7 +6775,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6766
6775
|
};
|
|
6767
6776
|
|
|
6768
6777
|
highchartsRenderer.chartsTypesInfo = {
|
|
6769
|
-
[CHART_TYPES.WATERFALL_BREAKDOWN]: {
|
|
6778
|
+
[highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN]: {
|
|
6770
6779
|
name: 'Waterfall Breakdown Chart ',
|
|
6771
6780
|
label: 'Waterfall Breakdown Chart ',
|
|
6772
6781
|
title: 'TODO: add text',
|
|
@@ -7416,8 +7425,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7416
7425
|
class: 'google-visualization-charteditor-mini-column',
|
|
7417
7426
|
subtypes: [
|
|
7418
7427
|
{
|
|
7419
|
-
type: CHART_TYPES.WATERFALL_BREAKDOWN,
|
|
7420
|
-
name: highchartsRenderer.chartsTypesInfo[CHART_TYPES.WATERFALL_BREAKDOWN].name,
|
|
7428
|
+
type: highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN,
|
|
7429
|
+
name: highchartsRenderer.chartsTypesInfo[highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN].name,
|
|
7421
7430
|
class: 'google-visualization-charteditor-thumbs-columnchart',
|
|
7422
7431
|
render: highchartsRenderer.ptRenderWaterfallBreakdown,
|
|
7423
7432
|
suboptions: [
|
|
@@ -7907,7 +7916,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7907
7916
|
|
|
7908
7917
|
let filters = [];
|
|
7909
7918
|
|
|
7910
|
-
if (widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
7919
|
+
if (widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
7911
7920
|
const colFilter = highchartsRenderer.createFilterObject(widget.cols[0]);
|
|
7912
7921
|
const labels = [];
|
|
7913
7922
|
colFilter.values = [];
|
|
@@ -8032,15 +8041,36 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8032
8041
|
filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.rows[i], rowKey[i]))
|
|
8033
8042
|
}
|
|
8034
8043
|
}
|
|
8035
|
-
|
|
8036
|
-
|
|
8044
|
+
|
|
8045
|
+
if (widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
|
|
8046
|
+
let filter = lodash.find(filters, {name: widget.cols[0].name});
|
|
8037
8047
|
if (filter) {
|
|
8038
8048
|
filter.is_excluded = false;
|
|
8039
|
-
filter.values = widget.cols[i].type === 'Date' ?
|
|
8040
|
-
highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
|
|
8041
|
-
[colKey[i]];
|
|
8042
8049
|
} else {
|
|
8043
|
-
|
|
8050
|
+
filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
|
|
8051
|
+
}
|
|
8052
|
+
filter.values = [];
|
|
8053
|
+
for (let i = 0; i < colKey.length; i++) {
|
|
8054
|
+
filter.values.push(
|
|
8055
|
+
widget.cols[0].type === 'Date'
|
|
8056
|
+
? highchartsRenderer.createDateFromString(
|
|
8057
|
+
colKey[i],
|
|
8058
|
+
highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
|
|
8059
|
+
)
|
|
8060
|
+
: colKey[i]
|
|
8061
|
+
);
|
|
8062
|
+
}
|
|
8063
|
+
} else {
|
|
8064
|
+
for (let i = 0; i < colKey.length; i++) {
|
|
8065
|
+
let filter = lodash.find(filters, {name: widget.cols[i].name});
|
|
8066
|
+
if (filter) {
|
|
8067
|
+
filter.is_excluded = false;
|
|
8068
|
+
filter.values = widget.cols[i].type === 'Date' ?
|
|
8069
|
+
highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
|
|
8070
|
+
[colKey[i]];
|
|
8071
|
+
} else {
|
|
8072
|
+
filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[i], colKey[i]))
|
|
8073
|
+
}
|
|
8044
8074
|
}
|
|
8045
8075
|
}
|
|
8046
8076
|
return filters;
|
|
@@ -8615,7 +8645,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8615
8645
|
rows = cols;
|
|
8616
8646
|
cols = [];
|
|
8617
8647
|
}
|
|
8618
|
-
return { rows
|
|
8648
|
+
return { rows, cols };
|
|
8619
8649
|
}
|
|
8620
8650
|
|
|
8621
8651
|
return highchartsRenderer;
|