@datarailsshared/dr_renderer 1.2.206-dragons → 1.2.208

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.206-dragons",
3
+ "version": "1.2.208",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -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
- const chart_series = [];
1349
- const row_n_keys = pivotData.getRowKeys();
1350
- const col_n_keys = pivotData.getColKeys();
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,45 +1363,61 @@ 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) {
1367
- const totalValueAgg = pivotData.getAggregator([], col_n_value);
1368
- resultObject.data.push({
1369
- y: totalValueAgg.value(),
1370
- name: lodash.unescape(col_n_value).replace('DR_Others', highchartsRenderer.getOthersName(opts)),
1371
- isSum: !!col_index,
1372
- isTotal: true,
1373
- color: colorOptions.total,
1374
- });
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();
1375
1372
 
1376
- if (col_index !== col_n_keys.length - 1) {
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();
1373
+ if (val != null && $.isNumeric(val)) {
1374
+ val = parseFloat(val);
1375
+ } else if (onlyNumbers) {
1376
+ val = NaN;
1377
+ } else {
1378
+ val = 0;
1379
+ }
1380
1380
 
1381
- val = $.isNumeric(val) ? parseFloat(val) : 0;
1382
- if (val) {
1383
- const tmoobj = {};
1384
- const key = lodash.isArray(row_n_value) ? row_n_value[0] : row_n_value;
1385
- 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];
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
  }
1406
+ }
1407
+ });
1399
1408
 
1400
- });
1401
- }
1409
+ const totalValueAgg = pivotData.getAggregator([], col_n_value);
1410
+ resultObject.data.push({
1411
+ y: totalValueAgg.value(),
1412
+ name: lodash.unescape(col_n_value).replace('DR_Others', highchartsRenderer.getOthersName(opts)),
1413
+ isSum: !!col_index,
1414
+ isTotal: true,
1415
+ color: colorOptions.total,
1416
+ });
1402
1417
  });
1403
1418
 
1404
1419
  chart_series.push(resultObject);
1420
+
1405
1421
  opts.chart_series = [];
1406
1422
  if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1407
1423
  chart_series.forEach(series => {
@@ -3175,8 +3191,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3175
3191
  ? opts.chartOptions
3176
3192
  : highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
3177
3193
 
3178
- pivotData.colKeys = lodash.map(lodash.keys(pivotData.colTotals), key => [key]);
3179
-
3180
3194
  chartOptions.chart = {
3181
3195
  type: 'waterfall',
3182
3196
  zoomType: additionOptions && additionOptions.chart && additionOptions.chart.zoom_type ? additionOptions.chart.zoom_type : 'None',
@@ -3227,7 +3241,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3227
3241
  chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
3228
3242
  }
3229
3243
  chartOptions.series = highchartsRenderer
3230
- .ptCreateWaterfallBreakdownSeries(pivotData, additionOptions, opts);
3244
+ .ptCreateWaterfallBreakdownSeries(pivotData, null, additionOptions, opts);
3231
3245
 
3232
3246
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3233
3247
  chartOptions.plotOptions = {
@@ -4952,28 +4966,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4952
4966
  }
4953
4967
  });
4954
4968
 
4955
- // add virtual fields to rows if required
4956
- let rows = widgetOptions.rows;
4957
- if (!lodash.get(widgetOptions, 'rows.length') && widgetOptions.options.breakdown_options) {
4958
- rows = [
4959
- {
4960
- id: -1,
4961
- name: highchartsRenderer.VIRTUAL_FIELDS.WATERFALL_VARIANCE,
4962
- type: 'Text',
4963
- },
4964
- ];
4965
- }
4966
-
4967
4969
  // fill rows fields
4968
- lodash.forEach(rows, function (valObj) {
4969
- if (lodash.includes(highchartsRenderer.VIRTUAL_FIELDS, valObj.name)) {
4970
- legendFields.push(valObj);
4971
- } else {
4972
- fieldOb = lodash.find(fields, {id: valObj.id});
4973
- if (fieldOb) {
4974
- legendFields.push(fieldOb);
4975
- lodash.remove(fields, {id: fieldOb.id});
4976
- }
4970
+ lodash.forEach(widgetOptions.rows, function (valObj) {
4971
+ fieldOb = lodash.find(fields, {id: valObj.id});
4972
+ if (fieldOb) {
4973
+ legendFields.push(fieldOb);
4974
+ lodash.remove(fields, {id: fieldOb.id});
4977
4975
  }
4978
4976
  });
4979
4977
 
@@ -7941,7 +7939,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7941
7939
  };
7942
7940
 
7943
7941
  highchartsRenderer.createDateFromString = function (dateString, format) {
7944
- if (!(format && highchartsRenderer.isDateFormat(dateString, format) || highchartsRenderer.isDate(dateString))) {
7942
+ if ((format && !highchartsRenderer.isDateFormat(dateString, format)) || !highchartsRenderer.isDate(dateString)) {
7945
7943
  return null;
7946
7944
  }
7947
7945
  const utcDate = format
@@ -8095,7 +8093,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8095
8093
  filter.is_excluded = false;
8096
8094
  } else {
8097
8095
  filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
8098
- filters.push(filter);
8099
8096
  }
8100
8097
  filter.values = [];
8101
8098
  for (let i = 0; i < colKey.length; i++) {
@@ -8698,7 +8695,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8698
8695
  rows = [];
8699
8696
  } else {
8700
8697
  rows = cols;
8701
- cols = [point.colKeys[1]];
8698
+ cols = [];
8702
8699
  }
8703
8700
  return { rows, cols };
8704
8701
  }