@datarailsshared/dr_renderer 1.2.204-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 -58
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,11 +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
|
-
|
|
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
|
+
}
|
|
1351
1351
|
|
|
1352
1352
|
let resultObject = {
|
|
1353
1353
|
data: [],
|
|
@@ -1363,44 +1363,60 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1363
1363
|
};
|
|
1364
1364
|
resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
|
|
1365
1365
|
|
|
1366
|
+
const breakdownValues = [];
|
|
1366
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();
|
|
1367
1372
|
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1373
|
+
if (val != null && $.isNumeric(val)) {
|
|
1374
|
+
val = parseFloat(val);
|
|
1375
|
+
} else if (onlyNumbers) {
|
|
1376
|
+
val = NaN;
|
|
1377
|
+
} else {
|
|
1378
|
+
val = 0;
|
|
1379
|
+
}
|
|
1375
1380
|
|
|
1376
|
-
|
|
1377
|
-
lodash.forEach(row_n_keys, function (row_n_value) {
|
|
1378
|
-
const agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1379
|
-
let val = agg.value();
|
|
1381
|
+
breakdownValues[col_index][row_index] = val;
|
|
1380
1382
|
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
const tmoobj = {};
|
|
1384
|
-
const key = lodash.isArray(row_n_value) ? row_n_value[0] : row_n_value;
|
|
1385
|
-
tmoobj.name = lodash.unescape(key);
|
|
1383
|
+
if (col_index) {
|
|
1384
|
+
const value = val - breakdownValues[col_index - 1][row_index];
|
|
1386
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
|
+
|
|
1387
1394
|
if (tmoobj.name) {
|
|
1388
1395
|
tmoobj.name = tmoobj.name.replace('DR_Others', highchartsRenderer.getOthersName(opts));
|
|
1389
1396
|
}
|
|
1397
|
+
|
|
1390
1398
|
if (lodash.isEmpty(String(tmoobj.name))) {
|
|
1391
1399
|
tmoobj.name = lodash.unescape(col_n_value);
|
|
1392
1400
|
tmoobj.visible = false;
|
|
1393
1401
|
}
|
|
1394
|
-
|
|
1395
|
-
tmoobj.y = val;
|
|
1402
|
+
tmoobj.y = value;
|
|
1396
1403
|
tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
|
|
1397
1404
|
resultObject.data.push(tmoobj);
|
|
1398
1405
|
}
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
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
|
+
});
|
|
1401
1416
|
});
|
|
1402
1417
|
|
|
1403
1418
|
chart_series.push(resultObject);
|
|
1419
|
+
|
|
1404
1420
|
opts.chart_series = [];
|
|
1405
1421
|
if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1406
1422
|
chart_series.forEach(series => {
|
|
@@ -3174,8 +3190,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3174
3190
|
? opts.chartOptions
|
|
3175
3191
|
: highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
|
|
3176
3192
|
|
|
3177
|
-
pivotData.colKeys = lodash.map(lodash.keys(pivotData.colTotals), key => [key]);
|
|
3178
|
-
|
|
3179
3193
|
chartOptions.chart = {
|
|
3180
3194
|
type: 'waterfall',
|
|
3181
3195
|
zoomType: additionOptions && additionOptions.chart && additionOptions.chart.zoom_type ? additionOptions.chart.zoom_type : 'None',
|
|
@@ -3226,7 +3240,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3226
3240
|
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
3227
3241
|
}
|
|
3228
3242
|
chartOptions.series = highchartsRenderer
|
|
3229
|
-
.ptCreateWaterfallBreakdownSeries(pivotData, additionOptions, opts);
|
|
3243
|
+
.ptCreateWaterfallBreakdownSeries(pivotData, null, additionOptions, opts);
|
|
3230
3244
|
|
|
3231
3245
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
3232
3246
|
chartOptions.plotOptions = {
|
|
@@ -4951,28 +4965,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4951
4965
|
}
|
|
4952
4966
|
});
|
|
4953
4967
|
|
|
4954
|
-
// add virtual fields to rows if required
|
|
4955
|
-
let rows = widgetOptions.rows;
|
|
4956
|
-
if (!lodash.get(widgetOptions, 'rows.length') && widgetOptions.options.breakdown_options) {
|
|
4957
|
-
rows = [
|
|
4958
|
-
{
|
|
4959
|
-
id: -1,
|
|
4960
|
-
name: highchartsRenderer.VIRTUAL_FIELDS.WATERFALL_VARIANCE,
|
|
4961
|
-
type: 'Text',
|
|
4962
|
-
},
|
|
4963
|
-
];
|
|
4964
|
-
}
|
|
4965
|
-
|
|
4966
4968
|
// fill rows fields
|
|
4967
|
-
lodash.forEach(rows, function (valObj) {
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
if (fieldOb) {
|
|
4973
|
-
legendFields.push(fieldOb);
|
|
4974
|
-
lodash.remove(fields, {id: fieldOb.id});
|
|
4975
|
-
}
|
|
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});
|
|
4976
4974
|
}
|
|
4977
4975
|
});
|
|
4978
4976
|
|
|
@@ -5096,13 +5094,36 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5096
5094
|
dynamicRangeOptions.pivot.calculatedValues = highchartsRenderer.objectCopyJsonMethod(dynamicRangeOptions.calculated_values || []);
|
|
5097
5095
|
}
|
|
5098
5096
|
|
|
5099
|
-
highchartsRenderer.
|
|
5097
|
+
highchartsRenderer.addTemplateDataToCalcModel = function (selectedTemplate, calcModelOptions) {
|
|
5100
5098
|
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
5101
5099
|
|
|
5102
5100
|
var fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplate.widget_fields);
|
|
5103
5101
|
var fieldOb;
|
|
5104
|
-
var
|
|
5105
|
-
|
|
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 = [];
|
|
5106
5127
|
|
|
5107
5128
|
lodash.forEach(functionOptions.filters, function (filterObj) {
|
|
5108
5129
|
fieldOb = lodash.find(fields, {id: filterObj.field});
|
|
@@ -7917,7 +7938,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7917
7938
|
};
|
|
7918
7939
|
|
|
7919
7940
|
highchartsRenderer.createDateFromString = function (dateString, format) {
|
|
7920
|
-
if (
|
|
7941
|
+
if ((format && !highchartsRenderer.isDateFormat(dateString, format)) || !highchartsRenderer.isDate(dateString)) {
|
|
7921
7942
|
return null;
|
|
7922
7943
|
}
|
|
7923
7944
|
const utcDate = format
|
|
@@ -8071,7 +8092,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8071
8092
|
filter.is_excluded = false;
|
|
8072
8093
|
} else {
|
|
8073
8094
|
filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
|
|
8074
|
-
filters.push(filter);
|
|
8075
8095
|
}
|
|
8076
8096
|
filter.values = [];
|
|
8077
8097
|
for (let i = 0; i < colKey.length; i++) {
|
|
@@ -8674,7 +8694,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
8674
8694
|
rows = [];
|
|
8675
8695
|
} else {
|
|
8676
8696
|
rows = cols;
|
|
8677
|
-
cols = [
|
|
8697
|
+
cols = [];
|
|
8678
8698
|
}
|
|
8679
8699
|
return { rows, cols };
|
|
8680
8700
|
}
|