@datarailsshared/dr_renderer 1.2.208 → 1.2.209

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.208",
3
+ "version": "1.2.209",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -1339,15 +1339,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1339
1339
  return chart_series;
1340
1340
  }
1341
1341
 
1342
- highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, onlyNumbers, additionOptions, opts) {
1342
+ highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, additionOptions, opts) {
1343
1343
  const colorOptions = opts.breakdown_options.colors;
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
- }
1344
+ const chart_series = [];
1345
+ const row_n_keys = pivotData.getRowKeys();
1346
+ const col_n_keys = pivotData.getColKeys();
1347
+ const hasBreakdownValues = lodash.get(opts, 'breakdown_options.values.breakdown.length');
1351
1348
 
1352
1349
  let resultObject = {
1353
1350
  data: [],
@@ -1363,57 +1360,46 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1363
1360
  };
1364
1361
  resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
1365
1362
 
1366
- const breakdownValues = [];
1367
1363
  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
-
1381
- breakdownValues[col_index][row_index] = val;
1382
1364
 
1383
- if (col_index) {
1384
- const value = val - breakdownValues[col_index - 1][row_index];
1365
+ const totalColumnValue = pivotData.getAggregator([], col_n_value).value();
1366
+ const nextTotalColumnKey = col_n_keys[col_index + 1];
1367
+ const nextTotalColumnValue = nextTotalColumnKey ? pivotData.getAggregator([], nextTotalColumnKey).value() : null;
1368
+ resultObject.data.push({
1369
+ y: totalColumnValue,
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
+ });
1385
1375
 
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
- }
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 = hasBreakdownValues
1380
+ ? agg.value()
1381
+ : nextTotalColumnValue - totalColumnValue;
1382
+
1383
+ val = $.isNumeric(val) ? parseFloat(val) : 0;
1384
+ if (val) {
1385
+ const tmoobj = {};
1386
+ const key = lodash.isArray(row_n_value) ? row_n_value[0] : row_n_value;
1392
1387
  tmoobj.name = lodash.unescape(key);
1393
-
1388
+
1394
1389
  if (tmoobj.name) {
1395
1390
  tmoobj.name = tmoobj.name.replace('DR_Others', highchartsRenderer.getOthersName(opts));
1396
1391
  }
1397
-
1398
1392
  if (lodash.isEmpty(String(tmoobj.name))) {
1399
1393
  tmoobj.name = lodash.unescape(col_n_value);
1400
1394
  tmoobj.visible = false;
1401
1395
  }
1402
- tmoobj.y = value;
1396
+
1397
+ tmoobj.y = val;
1403
1398
  tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
1404
1399
  resultObject.data.push(tmoobj);
1405
1400
  }
1406
- }
1407
- });
1408
-
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
- });
1401
+ });
1402
+ }
1417
1403
  });
1418
1404
 
1419
1405
  chart_series.push(resultObject);
@@ -3191,6 +3177,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3191
3177
  ? opts.chartOptions
3192
3178
  : highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
3193
3179
 
3180
+ pivotData.colKeys = lodash.map(lodash.keys(pivotData.colTotals), key => [key]);
3181
+
3194
3182
  chartOptions.chart = {
3195
3183
  type: 'waterfall',
3196
3184
  zoomType: additionOptions && additionOptions.chart && additionOptions.chart.zoom_type ? additionOptions.chart.zoom_type : 'None',
@@ -3241,7 +3229,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3241
3229
  chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
3242
3230
  }
3243
3231
  chartOptions.series = highchartsRenderer
3244
- .ptCreateWaterfallBreakdownSeries(pivotData, null, additionOptions, opts);
3232
+ .ptCreateWaterfallBreakdownSeries(pivotData, additionOptions, opts);
3245
3233
 
3246
3234
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3247
3235
  chartOptions.plotOptions = {
@@ -8695,7 +8683,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8695
8683
  rows = [];
8696
8684
  } else {
8697
8685
  rows = cols;
8698
- cols = [];
8686
+ cols = [point.colKeys[1]];
8699
8687
  }
8700
8688
  return { rows, cols };
8701
8689
  }