@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 +1 -1
- package/src/highcharts_renderer.js +75 -15
package/package.json
CHANGED
@@ -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 (
|
791
|
+
if (lodash.isNil(cols) && is_drill_down_pie) {
|
767
792
|
cols = this.name;
|
768
793
|
}
|
769
|
-
if (
|
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 (
|
1881
|
-
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
|
-
|
1898
|
-
|
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
|
-
|
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
|
-
|
9651
|
-
|
9652
|
-
|
9653
|
-
|
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) {
|