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