@datarailsshared/dr_renderer 1.3.37 → 1.3.39

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.3.37",
3
+ "version": "1.3.39",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -62,6 +62,10 @@ function disableLegendInteractionIfRequired(chartOptions, additionOptions) {
62
62
  _.set(chartOptions, 'legend.itemStyle.cursor', 'default');
63
63
  }
64
64
 
65
+ function isShowingEmptyValues(additionOptions) {
66
+ return !additionOptions || !additionOptions.chart || additionOptions.chart.dislay_empty_values !== false;
67
+ }
68
+
65
69
  module.exports = {
66
70
  backendSortingKeysAreNotEmpty,
67
71
  capitalize,
@@ -70,4 +74,5 @@ module.exports = {
70
74
  mergeDeep,
71
75
  removeSVGTextCorrection,
72
76
  disableLegendInteractionIfRequired,
77
+ isShowingEmptyValues,
73
78
  }
@@ -403,6 +403,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
403
403
  };
404
404
 
405
405
  const isChartTypeSupportedForSmartQuery = (type) => {
406
+ if (!type) return null;
406
407
  return [
407
408
  'line',
408
409
  'spline',
@@ -1265,6 +1266,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1265
1266
  .replace(highchartsRenderer.DR_OTHERS_KEY, othersName);
1266
1267
  ob.name = highchartsRenderer.getFormattedRowKey(ob.initialName, pivotData);
1267
1268
  }
1269
+
1268
1270
  lodash.forEach(col_n_keys, function (col_n_value, index) {
1269
1271
  var agg = pivotData.getAggregator(row_n_value, col_n_value);
1270
1272
  var val = agg.value();
@@ -1275,13 +1277,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1275
1277
  if (val != null) {
1276
1278
  if ($.isNumeric(val)) {
1277
1279
  val = parseFloat(val);
1278
- // if (val > -1 && val < 1) {
1279
- // val = parseFloat(val.toPrecision(4));
1280
- // } else {
1281
- // val = parseFloat(val.toFixed(2));
1282
- // }
1283
1280
  }
1284
- } else {
1281
+ } else if (helpers.isShowingEmptyValues(additionOptions)) {
1285
1282
  if (onlyNumbers)
1286
1283
  val = NaN;
1287
1284
  else
@@ -1420,7 +1417,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1420
1417
 
1421
1418
  highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts, opts.total && opts.totalSeriesSettings && opts.totalSeriesSettings.secondaryAxis);
1422
1419
 
1423
- const smartQuerySeries = isChartTypeSupportedForSmartQuery(chartOptions.chart.type)
1420
+ const chartType = chartOptions && chartOptions.chart && chartOptions.chart.type ? chartOptions.chart.type : null;
1421
+ const smartQuerySeries = isChartTypeSupportedForSmartQuery(chartType)
1424
1422
  ? smartQueriesHelper.createSingleDataSeriesForForecast(chart_series, opts.chartOptions)
1425
1423
  : null;
1426
1424
 
@@ -1482,13 +1480,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1482
1480
  if (val != null) {
1483
1481
  if ($.isNumeric(val)) {
1484
1482
  val = parseFloat(val);
1485
- // if (val > -1 && val < 1) {
1486
- // val = parseFloat(val.toPrecision(4));
1487
- // } else {
1488
- // val = parseFloat(val.toFixed(2));
1489
- // }
1490
1483
  }
1491
- } else {
1484
+ } else if (helpers.isShowingEmptyValues(additionOptions)) {
1492
1485
  if (onlyNumbers)
1493
1486
  val = NaN;
1494
1487
  else
@@ -1573,6 +1566,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1573
1566
  } else if (seriesIndex === chart_series.length - 1 && chart_series.length > 1 && !has_delta && !opts.total && !trendSerieses.length) {
1574
1567
  series.type = 'line';
1575
1568
  }
1569
+ series.connectNulls = !helpers.isShowingEmptyValues(additionOptions);
1576
1570
  });
1577
1571
  }
1578
1572
 
@@ -2530,7 +2524,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2530
2524
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2531
2525
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2532
2526
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2533
- }
2527
+ },
2528
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2534
2529
  }
2535
2530
  };
2536
2531
 
@@ -2619,7 +2614,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2619
2614
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2620
2615
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2621
2616
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2622
- }
2617
+ },
2618
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2623
2619
  }
2624
2620
  };
2625
2621
 
@@ -2715,8 +2711,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2715
2711
  allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
2716
2712
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2717
2713
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2718
- style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2719
- }
2714
+ style: highchartsRenderer.getDataLabelsStyle(additionOptions),
2715
+ },
2716
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2720
2717
  }
2721
2718
  };
2722
2719
 
@@ -2802,13 +2799,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2802
2799
  }
2803
2800
  };
2804
2801
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
2805
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
2802
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
2806
2803
 
2807
2804
  highchartsRenderer.handleGridLines(additionOptions, chartOptions);
2808
2805
 
2806
+ const isShowingEmptyValues = helpers.isShowingEmptyValues(additionOptions);
2809
2807
  chartOptions.plotOptions = {
2810
2808
  [type === 'area-chart' ? 'area' : 'areaspline']: {
2811
- stacking: 'normal',
2809
+ stacking: isShowingEmptyValues ? 'normal' : undefined,
2812
2810
  lineColor: CHART_COLORS.TICK_COLOR,
2813
2811
  lineWidth: 1,
2814
2812
  marker: {
@@ -2823,7 +2821,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2823
2821
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2824
2822
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2825
2823
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2826
- }
2824
+ },
2825
+ connectNulls: !isShowingEmptyValues,
2827
2826
  }
2828
2827
  };
2829
2828
 
@@ -2882,7 +2881,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2882
2881
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2883
2882
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2884
2883
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2885
- }
2884
+ },
2885
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2886
2886
  }
2887
2887
  };
2888
2888
 
@@ -2909,7 +2909,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2909
2909
  },
2910
2910
  lineWidth: 0
2911
2911
  };
2912
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
2912
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
2913
2913
 
2914
2914
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
2915
2915
 
@@ -2979,7 +2979,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2979
2979
  highchartsRenderer.setYAxisMinMax(chartOptions.yAxis, additionOptions.axisY);
2980
2980
  }
2981
2981
 
2982
-
2983
2982
  chartOptions.tooltip = {
2984
2983
  formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
2985
2984
  valueDecimals: 2,
@@ -3010,7 +3009,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3010
3009
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
3011
3010
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
3012
3011
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
3013
- }
3012
+ },
3014
3013
  }
3015
3014
  };
3016
3015
  if (opts.drillDownListFunc) {
@@ -3317,7 +3316,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3317
3316
  },
3318
3317
  };
3319
3318
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3320
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
3319
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
3321
3320
 
3322
3321
  highchartsRenderer.handleGridLines(additionOptions, chartOptions)
3323
3322
 
@@ -3335,7 +3334,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3335
3334
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
3336
3335
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
3337
3336
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
3338
- }
3337
+ },
3339
3338
  }
3340
3339
  };
3341
3340
 
@@ -3443,7 +3442,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3443
3442
  },
3444
3443
  };
3445
3444
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3446
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
3445
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
3447
3446
 
3448
3447
  if (opts.selectedPoint) {
3449
3448
  seriesPointStylesHelper.setInitialPointStyles(opts, chartOptions.series);
@@ -6592,12 +6591,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6592
6591
  category_class: 'google-visualization-charteditor-mini-more',
6593
6592
  category_label: 'Chart',
6594
6593
  category_type: 'chart',
6595
- elements: [{
6596
- element_type: 'input',
6597
- value_name: 'colors_offset',
6598
- element_label: 'Colors offset',
6599
- default_value: 0
6600
- },
6594
+ elements: [
6595
+ {
6596
+ element_type: 'input',
6597
+ value_name: 'colors_offset',
6598
+ element_label: 'Colors offset',
6599
+ default_value: 0
6600
+ },
6601
6601
  {
6602
6602
  element_type: 'radio',
6603
6603
  value_name: 'zoom_type',
@@ -6609,12 +6609,19 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6609
6609
  {label: 'xy', value: 'xy'}
6610
6610
  ],
6611
6611
  default_value: 'None'
6612
- }, {
6612
+ },
6613
+ {
6613
6614
  element_type: 'checkbox',
6614
6615
  value_name: 'show',
6615
6616
  element_label: 'Show grid',
6616
6617
  default_value: true
6617
- }
6618
+ },
6619
+ {
6620
+ element_type: 'checkbox',
6621
+ value_name: 'dislay_empty_values',
6622
+ element_label: 'Display empty values',
6623
+ default_value: true
6624
+ },
6618
6625
  ]
6619
6626
  },
6620
6627
  'chart_grid': {
@@ -6637,6 +6644,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6637
6644
  element_label: 'Show legends over 10',
6638
6645
  default_value: false
6639
6646
  },
6647
+ {
6648
+ element_type: 'checkbox',
6649
+ value_name: 'dislay_empty_values',
6650
+ element_label: 'Display empty values',
6651
+ default_value: true
6652
+ },
6640
6653
  {
6641
6654
  element_type: 'devider',
6642
6655
  element_label: 'Chart Patterns',
@@ -6811,6 +6811,7 @@ describe('highcharts_renderer', () => {
6811
6811
  formatter: expect.any(Function),
6812
6812
  },
6813
6813
  color: '#ff0202',
6814
+ connectNulls: false,
6814
6815
  type: 'area'
6815
6816
  },
6816
6817
  {data: [
@@ -6846,6 +6847,7 @@ describe('highcharts_renderer', () => {
6846
6847
  enabled: true,
6847
6848
  formatter: expect.any(Function),
6848
6849
  },
6850
+ connectNulls: false,
6849
6851
  color: '#b3060e',
6850
6852
  type: 'line'
6851
6853
  }