@datarailsshared/dr_renderer 1.2.421 → 1.2.423

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.421",
3
+ "version": "1.2.423",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -379,6 +379,31 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
379
379
 
380
380
  /** End of 'Highcharts initial configuration section' **/
381
381
 
382
+ const chartDataLabelsVerticalOptions = function (chartOptions) {
383
+ const vertical = lodash.get(chartOptions, 'label.vertical', false);
384
+ if (vertical) {
385
+ return {
386
+ rotation: 270,
387
+ y: -25,
388
+ padding: 10,
389
+ crop: false,
390
+ };
391
+ }
392
+
393
+ return {};
394
+ };
395
+
396
+ const chartHasVerticalDataLabelsOption = (type) => {
397
+ return ![
398
+ highchartsRenderer.CHART_TYPES.LINE_CHART,
399
+ highchartsRenderer.CHART_TYPES.LINE_CHART_SMOOTH,
400
+ highchartsRenderer.CHART_TYPES.AREA_CHART,
401
+ highchartsRenderer.CHART_TYPES.AREA_CHART_SMOOTH,
402
+ highchartsRenderer.CHART_TYPES.BAR_CHART,
403
+ highchartsRenderer.CHART_TYPES.BAR_CHART_STACKED,
404
+ ].includes(type);
405
+ };
406
+
382
407
  highchartsRenderer.filterFloat = function (value) {
383
408
  if (/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/.test(value))
384
409
  return Number(value);
@@ -763,10 +788,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
763
788
  }
764
789
 
765
790
  var cols = highchartsRenderer.getColsInFormatterContext(this);
766
- if (!cols && is_drill_down_pie) {
791
+ if (lodash.isNil(cols) && is_drill_down_pie) {
767
792
  cols = this.name;
768
793
  }
769
- if (!cols) {
794
+ if (lodash.isNil(cols)) {
770
795
  cols = [];
771
796
  }
772
797
 
@@ -1877,8 +1902,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1877
1902
  // it displays negative values as empty segments in version <= 8.2.2
1878
1903
  ob.y = val >= 0 || chartOptions.chart.type !== 'pie' ? val : 0;
1879
1904
 
1880
- if (!isNaN(key))
1881
- key = Number(key)
1905
+ if (lodash.isBoolean(key)) {
1906
+ key = key.toString();
1907
+ } else if (!isNaN(key)) {
1908
+ key = Number(key);
1909
+ }
1910
+
1882
1911
  ob.drilldown = key;
1883
1912
  pie_series.push(ob);
1884
1913
  });
@@ -1894,8 +1923,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1894
1923
  highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart = function (pivotData, chartOptions, additionOptions, opts) {
1895
1924
 
1896
1925
  var pie_drill_down_series = [],
1897
- row_n_keys = pivotData.getRowKeys(),
1898
- col_n_keys = pivotData.getColKeys();
1926
+ row_n_keys = pivotData.getRowKeys(),
1927
+ col_n_keys = pivotData.getColKeys();
1899
1928
 
1900
1929
  var num_cols = col_n_keys.length;
1901
1930
  var num_rows = row_n_keys.length;
@@ -1906,7 +1935,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1906
1935
  var col_ob = {};
1907
1936
  var col_n = col_n_value[0];
1908
1937
  if (col_n != undefined) {
1909
- col_ob.id = !isNaN(col_n) ? Number(col_n) : col_n;
1938
+
1939
+ col_ob.id = col_n;
1940
+ if (lodash.isBoolean(col_ob.id)) {
1941
+ col_ob.id = col_ob.id.toString();
1942
+ } else if (!isNaN(col_ob.id)) {
1943
+ col_ob.id = Number(col_ob.id);
1944
+ }
1945
+
1910
1946
  col_ob.initialName = col_n === highchartsRenderer.DR_OTHERS_KEY ? othersName : col_n;
1911
1947
  col_ob.name = highchartsRenderer.getFormattedColKey(col_ob.initialName, pivotData);
1912
1948
  col_ob.data = [];
@@ -3040,11 +3076,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3040
3076
  }
3041
3077
  };
3042
3078
  }
3043
-
3079
+ chartOptions.plotOptions.series = highchartsRenderer.getDataLabelsOptions(additionOptions, chartOptions.plotOptions.series);
3044
3080
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
3045
3081
 
3046
3082
  chartOptions.drilldown = highchartsRenderer.getDataLabelsStylesForDrillDown(additionOptions);
3047
-
3048
3083
  return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
3049
3084
  };
3050
3085
 
@@ -6031,7 +6066,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6031
6066
  let valToReturn = {};
6032
6067
  if (chartOpt) {
6033
6068
  lodash.forEach(chartOpt.suboptions, (suboption) => {
6034
- valToReturn[suboption.category_type] = highchartsRenderer.getDefaultValueForSubOptions(suboption, existing_options);
6069
+ valToReturn[suboption.category_type] = highchartsRenderer.getDefaultValueForSubOptions(suboption, existing_options, type);
6035
6070
  });
6036
6071
  }
6037
6072
 
@@ -6101,6 +6136,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6101
6136
  };
6102
6137
  result = lodash.merge(result, options);
6103
6138
  result = lodash.merge(result, chartOptions.dataLabels);
6139
+ result = lodash.merge(result, chartDataLabelsVerticalOptions(additionalOptions, chartOptions));
6104
6140
  chartOptions.dataLabels = result;
6105
6141
 
6106
6142
  return chartOptions;
@@ -6112,7 +6148,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6112
6148
  return key
6113
6149
  };
6114
6150
 
6115
- highchartsRenderer.getDefaultValueForSubOptions = function (option, existing_options) {
6151
+ highchartsRenderer.getDefaultValueForSubOptions = function (option, existing_options, chartType) {
6116
6152
  const valToReturn = {};
6117
6153
 
6118
6154
  if (option) {
@@ -6120,6 +6156,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6120
6156
  lodash.forEach(option.elements, function (elem) {
6121
6157
  if (existing_options && lodash.has(existing_options, type + '.' + elem.value_name)) {
6122
6158
  valToReturn[elem.value_name] = lodash.get(existing_options, type + '.' + elem.value_name);
6159
+
6160
+ if (elem.showFn && typeof elem.showFn === 'function' && !elem.showFn(chartType)) {
6161
+ valToReturn[elem.value_name] = undefined;
6162
+ }
6123
6163
  }
6124
6164
  if (valToReturn[elem.value_name] == undefined && elem.element_type !== 'devider') {
6125
6165
  if (typeof elem.default_value === 'object') {
@@ -6666,6 +6706,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6666
6706
  value_name: 'overlap',
6667
6707
  default_value: false
6668
6708
  },
6709
+ {
6710
+ element_type: 'toggle',
6711
+ element_label: 'Vertical',
6712
+ value_name: 'vertical',
6713
+ default_value: false,
6714
+ showFn: chartHasVerticalDataLabelsOption,
6715
+ },
6669
6716
  {
6670
6717
  element_type: 'devider',
6671
6718
  },
@@ -6809,6 +6856,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6809
6856
  value_name: 'overlap',
6810
6857
  default_value: false
6811
6858
  },
6859
+ {
6860
+ element_type: 'toggle',
6861
+ element_label: 'Vertical',
6862
+ value_name: 'vertical',
6863
+ default_value: false,
6864
+ showFn: chartHasVerticalDataLabelsOption,
6865
+ },
6812
6866
  {
6813
6867
  element_type: 'toggle',
6814
6868
  element_label: 'Shadow',
@@ -9647,10 +9701,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
9647
9701
  }
9648
9702
 
9649
9703
  highchartsRenderer.getColsInFormatterContext = function(context) {
9650
- return lodash.get(context, 'point.options.colsForTotal')
9651
- || lodash.get(context, 'point.initialName')
9652
- || lodash.get(context, 'options.initialName')
9653
- || context.key;
9704
+ const colsForTotal = lodash.get(context, "point.options.colsForTotal");
9705
+ const pointInitialName = lodash.get(context, "point.initialName");
9706
+ const optionsInitialName = lodash.get(context, "options.initialName");
9707
+
9708
+ switch(true) {
9709
+ case !lodash.isNil(colsForTotal): return colsForTotal;
9710
+ case !lodash.isNil(pointInitialName): return pointInitialName;
9711
+ case !lodash.isNil(optionsInitialName): return optionsInitialName;
9712
+ default: return context.key;
9713
+ }
9654
9714
  }
9655
9715
 
9656
9716
  highchartsRenderer.getTableFormatInfosForWidgetFields = function(widget, pivotOptions, fields) {