@datarailsshared/dr_renderer 1.2.201-rocket → 1.2.202-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 +62 -73
package/package.json
CHANGED
|
@@ -87,6 +87,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
87
87
|
EXCEL_VIEWER: 'excel_viewer',
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
highchartsRenderer.VIRTUAL_FIELDS = {
|
|
91
|
+
WATERFALL_VARIANCE: 'DR_WATERFALL_VARIANCE',
|
|
92
|
+
};
|
|
93
|
+
|
|
90
94
|
highchartsRenderer.highcharts_theme = {
|
|
91
95
|
"colors": highchartsRenderer.defaults_colors,
|
|
92
96
|
"chart": {
|
|
@@ -1339,15 +1343,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1339
1343
|
return chart_series;
|
|
1340
1344
|
}
|
|
1341
1345
|
|
|
1342
|
-
highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData,
|
|
1346
|
+
highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, additionOptions, opts) {
|
|
1343
1347
|
const colorOptions = opts.breakdown_options.colors;
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
if (row_n_keys.length === 0) {
|
|
1349
|
-
row_n_keys.push([]);
|
|
1350
|
-
}
|
|
1348
|
+
const chart_series = [];
|
|
1349
|
+
const row_n_keys = pivotData.getRowKeys();
|
|
1350
|
+
const col_n_keys = pivotData.getColKeys();
|
|
1351
|
+
const hasBreakdownValues = lodash.get(opts, 'breakdown_options.values.breakdown.length');
|
|
1351
1352
|
|
|
1352
1353
|
let resultObject = {
|
|
1353
1354
|
data: [],
|
|
@@ -1363,56 +1364,46 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1363
1364
|
};
|
|
1364
1365
|
resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
|
|
1365
1366
|
|
|
1366
|
-
const breakdownValues = [];
|
|
1367
1367
|
lodash.forEach(col_n_keys, function(col_n_value, col_index) {
|
|
1368
|
-
breakdownValues.push([]);
|
|
1369
|
-
lodash.forEach(row_n_keys, function (row_n_value, row_index) {
|
|
1370
|
-
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1371
|
-
var val = agg.value();
|
|
1372
|
-
|
|
1373
|
-
if (val != null && $.isNumeric(val)) {
|
|
1374
|
-
val = parseFloat(val);
|
|
1375
|
-
} else if (onlyNumbers) {
|
|
1376
|
-
val = NaN;
|
|
1377
|
-
} else {
|
|
1378
|
-
val = 0;
|
|
1379
|
-
}
|
|
1380
1368
|
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1369
|
+
const totalColumnValue = pivotData.colTotals[col_n_value].sum;
|
|
1370
|
+
const nextTotalColumnKey = col_n_keys[col_index + 1];
|
|
1371
|
+
const nextTotalColumnValue = nextTotalColumnKey ? pivotData.colTotals[nextTotalColumnKey].sum : null;
|
|
1372
|
+
resultObject.data.push({
|
|
1373
|
+
y: totalColumnValue,
|
|
1374
|
+
name: lodash.unescape(col_n_value).replace('DR_Others', highchartsRenderer.getOthersName(opts)),
|
|
1375
|
+
isSum: !!col_index,
|
|
1376
|
+
isTotal: true,
|
|
1377
|
+
color: colorOptions.total,
|
|
1378
|
+
});
|
|
1385
1379
|
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1380
|
+
if (col_index !== col_n_keys.length - 1) {
|
|
1381
|
+
lodash.forEach(row_n_keys, function (row_n_value) {
|
|
1382
|
+
const agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1383
|
+
let val = hasBreakdownValues
|
|
1384
|
+
? agg.value()
|
|
1385
|
+
: nextTotalColumnValue - totalColumnValue;
|
|
1386
|
+
|
|
1387
|
+
val = $.isNumeric(val) ? parseFloat(val) : 0;
|
|
1388
|
+
if (val) {
|
|
1389
|
+
const tmoobj = {};
|
|
1390
|
+
const key = lodash.isArray(row_n_value) ? row_n_value[0] : row_n_value;
|
|
1392
1391
|
tmoobj.name = lodash.unescape(key);
|
|
1393
|
-
|
|
1392
|
+
|
|
1394
1393
|
if (tmoobj.name) {
|
|
1395
1394
|
tmoobj.name = tmoobj.name.replace('DR_Others', highchartsRenderer.getOthersName(opts));
|
|
1396
1395
|
}
|
|
1397
|
-
|
|
1398
1396
|
if (lodash.isEmpty(String(tmoobj.name))) {
|
|
1399
1397
|
tmoobj.name = lodash.unescape(col_n_value);
|
|
1400
1398
|
tmoobj.visible = false;
|
|
1401
1399
|
}
|
|
1402
|
-
|
|
1400
|
+
|
|
1401
|
+
tmoobj.y = val;
|
|
1403
1402
|
tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
|
|
1404
1403
|
resultObject.data.push(tmoobj);
|
|
1405
1404
|
}
|
|
1406
|
-
}
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
resultObject.data.push({
|
|
1410
|
-
y: pivotData.colTotals[col_n_value].sum,
|
|
1411
|
-
name: lodash.unescape(col_n_value).replace('DR_Others', highchartsRenderer.getOthersName(opts)),
|
|
1412
|
-
isSum: !!col_index,
|
|
1413
|
-
isTotal: true,
|
|
1414
|
-
color: colorOptions.total,
|
|
1415
|
-
});
|
|
1405
|
+
});
|
|
1406
|
+
}
|
|
1416
1407
|
});
|
|
1417
1408
|
|
|
1418
1409
|
chart_series.push(resultObject);
|
|
@@ -3190,6 +3181,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3190
3181
|
? opts.chartOptions
|
|
3191
3182
|
: highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
|
|
3192
3183
|
|
|
3184
|
+
pivotData.colKeys = lodash.map(lodash.keys(pivotData.colTotals), key => [key]);
|
|
3185
|
+
|
|
3193
3186
|
chartOptions.chart = {
|
|
3194
3187
|
type: 'waterfall',
|
|
3195
3188
|
zoomType: additionOptions && additionOptions.chart && additionOptions.chart.zoom_type ? additionOptions.chart.zoom_type : 'None',
|
|
@@ -3240,7 +3233,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3240
3233
|
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
3241
3234
|
}
|
|
3242
3235
|
chartOptions.series = highchartsRenderer
|
|
3243
|
-
.ptCreateWaterfallBreakdownSeries(pivotData,
|
|
3236
|
+
.ptCreateWaterfallBreakdownSeries(pivotData, additionOptions, opts);
|
|
3244
3237
|
|
|
3245
3238
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
3246
3239
|
chartOptions.plotOptions = {
|
|
@@ -4965,12 +4958,28 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4965
4958
|
}
|
|
4966
4959
|
});
|
|
4967
4960
|
|
|
4961
|
+
// add virtual fields to rows if required
|
|
4962
|
+
let rows = widgetOptions.rows;
|
|
4963
|
+
if (!lodash.get(widgetOptions, 'rows.length') && widgetOptions.options.breakdown_options) {
|
|
4964
|
+
rows = [
|
|
4965
|
+
{
|
|
4966
|
+
id: -1,
|
|
4967
|
+
name: highchartsRenderer.VIRTUAL_FIELDS.WATERFALL_VARIANCE,
|
|
4968
|
+
type: 'Text',
|
|
4969
|
+
},
|
|
4970
|
+
];
|
|
4971
|
+
}
|
|
4972
|
+
|
|
4968
4973
|
// fill rows fields
|
|
4969
|
-
lodash.forEach(
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
lodash.
|
|
4974
|
+
lodash.forEach(rows, function (valObj) {
|
|
4975
|
+
if (lodash.includes(highchartsRenderer.VIRTUAL_FIELDS, valObj.name)) {
|
|
4976
|
+
legendFields.push(valObj);
|
|
4977
|
+
} else {
|
|
4978
|
+
fieldOb = lodash.find(fields, {id: valObj.id});
|
|
4979
|
+
if (fieldOb) {
|
|
4980
|
+
legendFields.push(fieldOb);
|
|
4981
|
+
lodash.remove(fields, {id: fieldOb.id});
|
|
4982
|
+
}
|
|
4974
4983
|
}
|
|
4975
4984
|
});
|
|
4976
4985
|
|
|
@@ -5094,27 +5103,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5094
5103
|
dynamicRangeOptions.pivot.calculatedValues = highchartsRenderer.objectCopyJsonMethod(dynamicRangeOptions.calculated_values || []);
|
|
5095
5104
|
}
|
|
5096
5105
|
|
|
5097
|
-
highchartsRenderer.addTemplateDataToCalcModel = function (selectedTemplate, calcModelOptions) {
|
|
5098
|
-
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
5099
|
-
|
|
5100
|
-
var fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplate.widget_fields);
|
|
5101
|
-
var fieldOb;
|
|
5102
|
-
var selectedFields = [];
|
|
5103
|
-
|
|
5104
|
-
// fill selected fields
|
|
5105
|
-
lodash.forEach(calcModelOptions.fields, function (valObj) {
|
|
5106
|
-
fieldOb = lodash.find(fields, {id: valObj.id});
|
|
5107
|
-
if (fieldOb) {
|
|
5108
|
-
selectedFields.push(fieldOb);
|
|
5109
|
-
lodash.remove(fields, {id: fieldOb.id});
|
|
5110
|
-
}
|
|
5111
|
-
});
|
|
5112
|
-
|
|
5113
|
-
calcModelOptions.pivot = {};
|
|
5114
|
-
calcModelOptions.pivot.fieldsArray = fields;
|
|
5115
|
-
calcModelOptions.pivot.selectedFieldsArray = selectedFields;
|
|
5116
|
-
}
|
|
5117
|
-
|
|
5118
5106
|
highchartsRenderer.addTemplateDataToFunctionOptions = function (selectedTemplate, functionOptions) {
|
|
5119
5107
|
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
5120
5108
|
|
|
@@ -7936,7 +7924,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7936
7924
|
};
|
|
7937
7925
|
|
|
7938
7926
|
highchartsRenderer.createDateFromString = function (dateString, format) {
|
|
7939
|
-
if ((format &&
|
|
7927
|
+
if (!(format && highchartsRenderer.isDateFormat(dateString, format) || highchartsRenderer.isDate(dateString))) {
|
|
7940
7928
|
return null;
|
|
7941
7929
|
}
|
|
7942
7930
|
const utcDate = format
|
|
@@ -8090,6 +8078,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8090
8078
|
filter.is_excluded = false;
|
|
8091
8079
|
} else {
|
|
8092
8080
|
filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
|
|
8081
|
+
filters.push(filter);
|
|
8093
8082
|
}
|
|
8094
8083
|
filter.values = [];
|
|
8095
8084
|
for (let i = 0; i < colKey.length; i++) {
|
|
@@ -8692,7 +8681,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8692
8681
|
rows = [];
|
|
8693
8682
|
} else {
|
|
8694
8683
|
rows = cols;
|
|
8695
|
-
cols = [];
|
|
8684
|
+
cols = [point.colKeys[1]];
|
|
8696
8685
|
}
|
|
8697
8686
|
return { rows, cols };
|
|
8698
8687
|
}
|