@datarailsshared/dr_renderer 1.3.38 → 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.38",
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
  }
@@ -1266,6 +1266,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1266
1266
  .replace(highchartsRenderer.DR_OTHERS_KEY, othersName);
1267
1267
  ob.name = highchartsRenderer.getFormattedRowKey(ob.initialName, pivotData);
1268
1268
  }
1269
+
1269
1270
  lodash.forEach(col_n_keys, function (col_n_value, index) {
1270
1271
  var agg = pivotData.getAggregator(row_n_value, col_n_value);
1271
1272
  var val = agg.value();
@@ -1276,13 +1277,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1276
1277
  if (val != null) {
1277
1278
  if ($.isNumeric(val)) {
1278
1279
  val = parseFloat(val);
1279
- // if (val > -1 && val < 1) {
1280
- // val = parseFloat(val.toPrecision(4));
1281
- // } else {
1282
- // val = parseFloat(val.toFixed(2));
1283
- // }
1284
1280
  }
1285
- } else {
1281
+ } else if (helpers.isShowingEmptyValues(additionOptions)) {
1286
1282
  if (onlyNumbers)
1287
1283
  val = NaN;
1288
1284
  else
@@ -1484,13 +1480,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1484
1480
  if (val != null) {
1485
1481
  if ($.isNumeric(val)) {
1486
1482
  val = parseFloat(val);
1487
- // if (val > -1 && val < 1) {
1488
- // val = parseFloat(val.toPrecision(4));
1489
- // } else {
1490
- // val = parseFloat(val.toFixed(2));
1491
- // }
1492
1483
  }
1493
- } else {
1484
+ } else if (helpers.isShowingEmptyValues(additionOptions)) {
1494
1485
  if (onlyNumbers)
1495
1486
  val = NaN;
1496
1487
  else
@@ -1575,6 +1566,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1575
1566
  } else if (seriesIndex === chart_series.length - 1 && chart_series.length > 1 && !has_delta && !opts.total && !trendSerieses.length) {
1576
1567
  series.type = 'line';
1577
1568
  }
1569
+ series.connectNulls = !helpers.isShowingEmptyValues(additionOptions);
1578
1570
  });
1579
1571
  }
1580
1572
 
@@ -2532,7 +2524,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2532
2524
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2533
2525
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2534
2526
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2535
- }
2527
+ },
2528
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2536
2529
  }
2537
2530
  };
2538
2531
 
@@ -2621,7 +2614,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2621
2614
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2622
2615
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2623
2616
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2624
- }
2617
+ },
2618
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2625
2619
  }
2626
2620
  };
2627
2621
 
@@ -2717,8 +2711,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2717
2711
  allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
2718
2712
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2719
2713
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2720
- style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2721
- }
2714
+ style: highchartsRenderer.getDataLabelsStyle(additionOptions),
2715
+ },
2716
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2722
2717
  }
2723
2718
  };
2724
2719
 
@@ -2804,13 +2799,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2804
2799
  }
2805
2800
  };
2806
2801
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
2807
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
2802
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
2808
2803
 
2809
2804
  highchartsRenderer.handleGridLines(additionOptions, chartOptions);
2810
2805
 
2806
+ const isShowingEmptyValues = helpers.isShowingEmptyValues(additionOptions);
2811
2807
  chartOptions.plotOptions = {
2812
2808
  [type === 'area-chart' ? 'area' : 'areaspline']: {
2813
- stacking: 'normal',
2809
+ stacking: isShowingEmptyValues ? 'normal' : undefined,
2814
2810
  lineColor: CHART_COLORS.TICK_COLOR,
2815
2811
  lineWidth: 1,
2816
2812
  marker: {
@@ -2825,7 +2821,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2825
2821
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2826
2822
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2827
2823
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2828
- }
2824
+ },
2825
+ connectNulls: !isShowingEmptyValues,
2829
2826
  }
2830
2827
  };
2831
2828
 
@@ -2884,7 +2881,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2884
2881
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
2885
2882
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
2886
2883
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
2887
- }
2884
+ },
2885
+ connectNulls: !helpers.isShowingEmptyValues(additionOptions),
2888
2886
  }
2889
2887
  };
2890
2888
 
@@ -2911,7 +2909,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2911
2909
  },
2912
2910
  lineWidth: 0
2913
2911
  };
2914
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
2912
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
2915
2913
 
2916
2914
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
2917
2915
 
@@ -2981,7 +2979,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2981
2979
  highchartsRenderer.setYAxisMinMax(chartOptions.yAxis, additionOptions.axisY);
2982
2980
  }
2983
2981
 
2984
-
2985
2982
  chartOptions.tooltip = {
2986
2983
  formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
2987
2984
  valueDecimals: 2,
@@ -3012,7 +3009,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3012
3009
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
3013
3010
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
3014
3011
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
3015
- }
3012
+ },
3016
3013
  }
3017
3014
  };
3018
3015
  if (opts.drillDownListFunc) {
@@ -3319,7 +3316,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3319
3316
  },
3320
3317
  };
3321
3318
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3322
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
3319
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
3323
3320
 
3324
3321
  highchartsRenderer.handleGridLines(additionOptions, chartOptions)
3325
3322
 
@@ -3337,7 +3334,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3337
3334
  enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
3338
3335
  formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
3339
3336
  style: highchartsRenderer.getDataLabelsStyle(additionOptions)
3340
- }
3337
+ },
3341
3338
  }
3342
3339
  };
3343
3340
 
@@ -3445,7 +3442,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3445
3442
  },
3446
3443
  };
3447
3444
  chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
3448
- chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
3445
+ chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
3449
3446
 
3450
3447
  if (opts.selectedPoint) {
3451
3448
  seriesPointStylesHelper.setInitialPointStyles(opts, chartOptions.series);
@@ -6594,12 +6591,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6594
6591
  category_class: 'google-visualization-charteditor-mini-more',
6595
6592
  category_label: 'Chart',
6596
6593
  category_type: 'chart',
6597
- elements: [{
6598
- element_type: 'input',
6599
- value_name: 'colors_offset',
6600
- element_label: 'Colors offset',
6601
- default_value: 0
6602
- },
6594
+ elements: [
6595
+ {
6596
+ element_type: 'input',
6597
+ value_name: 'colors_offset',
6598
+ element_label: 'Colors offset',
6599
+ default_value: 0
6600
+ },
6603
6601
  {
6604
6602
  element_type: 'radio',
6605
6603
  value_name: 'zoom_type',
@@ -6611,12 +6609,19 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6611
6609
  {label: 'xy', value: 'xy'}
6612
6610
  ],
6613
6611
  default_value: 'None'
6614
- }, {
6612
+ },
6613
+ {
6615
6614
  element_type: 'checkbox',
6616
6615
  value_name: 'show',
6617
6616
  element_label: 'Show grid',
6618
6617
  default_value: true
6619
- }
6618
+ },
6619
+ {
6620
+ element_type: 'checkbox',
6621
+ value_name: 'dislay_empty_values',
6622
+ element_label: 'Display empty values',
6623
+ default_value: true
6624
+ },
6620
6625
  ]
6621
6626
  },
6622
6627
  'chart_grid': {
@@ -6639,6 +6644,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6639
6644
  element_label: 'Show legends over 10',
6640
6645
  default_value: false
6641
6646
  },
6647
+ {
6648
+ element_type: 'checkbox',
6649
+ value_name: 'dislay_empty_values',
6650
+ element_label: 'Display empty values',
6651
+ default_value: true
6652
+ },
6642
6653
  {
6643
6654
  element_type: 'devider',
6644
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
  }