@datarailsshared/dr_renderer 1.2.54 → 1.2.58

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.54",
3
+ "version": "1.2.58",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -909,6 +909,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
909
909
  var variat_serias = null;
910
910
  const n = col_n_keys.length;
911
911
  const xSum = (1 + n) / 2 * n;
912
+ const trendSerieses = [];
912
913
 
913
914
  lodash.forEach(row_n_keys, function (row_n_value) {
914
915
  var ob = {};
@@ -973,11 +974,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
973
974
  trendSeries.color = colors[i];
974
975
  }
975
976
 
976
- chart_series.push(trendSeries);
977
+ trendSerieses.push(trendSeries);
977
978
  }
978
979
 
979
980
  i++;
980
981
  });
982
+ const ethalonSeries = chart_series[chart_series.length - 1];
981
983
 
982
984
  if (has_delta && additionOptions && additionOptions.delta_column.only_variant) {
983
985
  if (variat_serias)
@@ -996,10 +998,19 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
996
998
  }
997
999
  }
998
1000
 
999
- highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts);
1001
+ opts.chart_series = []
1002
+
1003
+ if (!lodash.isEqual(row_n_keys, [[]])) {
1004
+ chart_series.forEach(series => {
1005
+ opts.chart_series.push(series.name);
1006
+ })
1007
+ }
1000
1008
 
1001
1009
  if (opts.total) {
1002
- const newSeries = lodash.clone(chart_series[chart_series.length - 1]);
1010
+ const newSeries = lodash.clone(ethalonSeries);
1011
+ if (opts.totalSeriesSettings) {
1012
+ newSeries.yAxis = opts.totalSeriesSettings.secondaryAxis ? 1 : undefined;
1013
+ }
1003
1014
  newSeries.name = 'Total';
1004
1015
  newSeries.data = [];
1005
1016
  col_n_keys.forEach(columnKey => {
@@ -1013,6 +1024,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1013
1024
  chart_series.push(newSeries);
1014
1025
  }
1015
1026
 
1027
+ chart_series = [...chart_series, ...trendSerieses]
1028
+
1029
+ highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts, opts.total && opts.totalSeriesSettings && opts.totalSeriesSettings.secondaryAxis);
1030
+
1016
1031
  return chart_series;
1017
1032
  };
1018
1033
 
@@ -1033,6 +1048,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1033
1048
  var variat_serias = null;
1034
1049
  const n = col_n_keys.length;
1035
1050
  const xSum = (1 + n) / 2 * n;
1051
+ const trendSerieses = [];
1036
1052
 
1037
1053
  lodash.forEach(row_n_keys, function (row_n_value) {
1038
1054
  let ySum = 0;
@@ -1101,6 +1117,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1101
1117
 
1102
1118
  chart_series.push(ob);
1103
1119
 
1120
+
1104
1121
  if (opts.trendLine) {
1105
1122
  const a = ((ySum * squareXSum) - (xSum * xySum)) / ((n * squareXSum) - (xSum * xSum));
1106
1123
  const b = ((n * xySum) - (xSum* ySum)) / ((n * squareXSum) - (xSum * xSum));
@@ -1115,11 +1132,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1115
1132
  trendSeries.color = colors[i];
1116
1133
  }
1117
1134
 
1118
- chart_series.push(trendSeries);
1135
+ trendSerieses.push(trendSeries);
1119
1136
  }
1120
1137
  i++;
1121
1138
  });
1122
1139
 
1140
+ const ethalonSeries = chart_series[chart_series.length - 1];
1141
+
1123
1142
  if (has_delta && additionOptions.delta_column.only_variant) {
1124
1143
  if (variat_serias)
1125
1144
  return [variat_serias];
@@ -1128,41 +1147,36 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1128
1147
  }
1129
1148
  }
1130
1149
 
1131
- highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts);
1132
-
1133
1150
  let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
1134
1151
 
1135
- if (opts.comboOptions && opts.comboOptions.seriesOptions.length && chartType.includes('combo')) {
1136
- opts.comboOptions.seriesOptions.forEach(option => {
1137
- chart_series.forEach(series => {
1138
- if (option.series === series.name) {
1139
- switch (option.chartType) {
1140
- case 'line-chart':
1141
- series.type = 'line';
1142
- break;
1143
- case 'line-chart-smooth':
1144
- series.type = 'spline';
1145
- break;
1146
- case 'area-chart':
1147
- series.type = 'area';
1148
- break;
1149
- case 'area-chart-smooth':
1150
- series.type = 'areaspline';
1151
- break;
1152
- case 'scatter-chart':
1153
- series.type = 'scatter';
1154
- break;
1155
- case 'column-chart' || 'column-chart-stacked':
1156
- delete series.type;
1157
- break;
1158
- }
1159
- }
1160
- })
1152
+ if (opts.comboOptions && chartType.includes('combo') && !lodash.isEqual(row_n_keys, [[]])) {
1153
+ chart_series.forEach((series, seriesIndex) => {
1154
+ const savedSeriesOption = lodash.find(opts.comboOptions.seriesOptions, {series: series.name});
1155
+ if (savedSeriesOption) {
1156
+ highchartsRenderer.setChartTypeBySeriesType(savedSeriesOption.chartType, series);
1157
+ } else if (seriesIndex === chart_series.length - 1 && chart_series.length > 1 && !has_delta && !opts.total && !trendSerieses.length) {
1158
+ series.type = 'line';
1159
+ }
1160
+ });
1161
+ }
1162
+
1163
+ opts.chart_series = []
1164
+
1165
+ if (!lodash.isEqual(row_n_keys, [[]])) {
1166
+ chart_series.forEach(series => {
1167
+ opts.chart_series.push(series.name);
1161
1168
  })
1162
1169
  }
1163
1170
 
1164
1171
  if (opts.total) {
1165
- const totalSeries = lodash.clone(chart_series[chart_series.length - 1]);
1172
+ const totalSeries = lodash.clone(ethalonSeries);
1173
+ if (opts.totalSeriesSettings) {
1174
+ if (chartType.includes('combo')) {
1175
+ highchartsRenderer.setChartTypeBySeriesType(opts.totalSeriesSettings.chartType, totalSeries);
1176
+ }
1177
+
1178
+ totalSeries.yAxis = opts.totalSeriesSettings.secondaryAxis ? 1 : undefined;
1179
+ }
1166
1180
  totalSeries.name = 'Total';
1167
1181
  totalSeries.data = [];
1168
1182
  col_n_keys.forEach(columnKey => {
@@ -1178,6 +1192,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1178
1192
  chart_series.push(totalSeries);
1179
1193
  }
1180
1194
 
1195
+ chart_series = [...chart_series, ...trendSerieses];
1196
+
1197
+ highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts, opts.total && opts.totalSeriesSettings && opts.totalSeriesSettings.secondaryAxis);
1198
+
1181
1199
  chart_series.sort((a,b) => {
1182
1200
  return (weights[a.type] || 0) > (weights[b.type] || 0) ? 1 : (weights[a.type] || 0) < (weights[b.type] || 0) ? -1 : 0
1183
1201
  });
@@ -1185,6 +1203,22 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1185
1203
  return chart_series;
1186
1204
  }
1187
1205
 
1206
+ highchartsRenderer.setChartTypeBySeriesType = function (type, series) {
1207
+ const types = {
1208
+ 'line-chart': 'line',
1209
+ 'line-chart-smooth': 'spline',
1210
+ 'area-chart': 'area',
1211
+ 'area-chart-smooth': 'areaspline',
1212
+ 'scatter-chart': 'scatter',
1213
+ }
1214
+
1215
+ if (type === 'column-chart' || type === 'column-chart-stacked') {
1216
+ delete series.type;
1217
+ } else {
1218
+ series.type = types[type]
1219
+ }
1220
+ }
1221
+
1188
1222
  highchartsRenderer.getVariantSeries = function (series, delta_column_options) {
1189
1223
  const varianceColor = delta_column_options.color || highchartsRenderer.variance_color || Highcharts.getOptions().colors[7];
1190
1224
  series.name = delta_column_options.name.replace('_', '');
@@ -1219,7 +1253,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1219
1253
  };
1220
1254
  } else if (delta_column_options.chart == 'column' || delta_column_options.chart == 'combo') {
1221
1255
  series.type = 'column';
1222
- } else if (delta_column_options.chart == 'spline') {
1256
+ } else if (delta_column_options.chart == '' || delta_column_options == 'scatter-chart') {
1223
1257
  series.type = 'spline';
1224
1258
  series.lineWidth = 0;
1225
1259
  series.lineColor = varianceColor;
@@ -1265,9 +1299,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1265
1299
  } else if (delta_column_options.chart == 'areaspline') {
1266
1300
  series.color = varianceColor;
1267
1301
  series.type = 'areaspline'
1268
- } else if (delta_column_options.chart == 'scatter-chart') {
1302
+ } else if (delta_column_options.chart == 'spline') {
1269
1303
  series.color = varianceColor;
1270
- series.type = 'scatter-chart'
1304
+ series.type = 'spline'
1271
1305
  }
1272
1306
  return series;
1273
1307
  }
@@ -1356,7 +1390,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1356
1390
  });
1357
1391
  };
1358
1392
 
1359
- highchartsRenderer.moveSeriesToSecondYAxisIfNeeded = function(chartSeries, pivotData, chartOptions, additionOptions, opts) {
1393
+ highchartsRenderer.moveSeriesToSecondYAxisIfNeeded = function(chartSeries, pivotData, chartOptions, additionOptions, opts, forceAddSecondaryAxis) {
1360
1394
  if (!opts || !opts.comboOptions) {
1361
1395
  return;
1362
1396
  }
@@ -1372,11 +1406,15 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1372
1406
  }
1373
1407
  });
1374
1408
 
1375
- if (addSecondYAxis) {
1409
+ if (addSecondYAxis || forceAddSecondaryAxis) {
1376
1410
  highchartsRenderer.addSecondYAxis(pivotData, chartOptions, additionOptions, opts);
1377
1411
  }
1378
1412
  }
1379
1413
 
1414
+ highchartsRenderer.encodeHTMLBrackets = function (string) {
1415
+ return string.replaceAll('<', '&lt;').replaceAll('>', '&gt;');
1416
+ };
1417
+
1380
1418
  highchartsRenderer.addSecondYAxis = function (pivotData, chartOptions, additionOptions, opts) {
1381
1419
  const varianceColor = (additionOptions && additionOptions.delta_column.color) || (highchartsRenderer && highchartsRenderer.variance_color) || Highcharts.getOptions().colors[7];
1382
1420
  let labels_formatter = opts.comboOptions.secondaryAxisSettings.is_percentage ?
@@ -1388,7 +1426,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1388
1426
  min: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.min)) ? opts.comboOptions.secondaryAxisSettings.min : null,
1389
1427
  max: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.max)) ? opts.comboOptions.secondaryAxisSettings.max : null,
1390
1428
  title: {
1391
- text: opts.comboOptions.secondaryAxisSettings.name,
1429
+ text: highchartsRenderer.encodeHTMLBrackets(opts.comboOptions.secondaryAxisSettings.name),
1392
1430
  style: {
1393
1431
  color: varianceColor
1394
1432
  }
@@ -2608,7 +2646,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2608
2646
  } else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
2609
2647
  chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
2610
2648
  }
2611
- chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, true, true, null, opts, chartOptions, chartType);
2649
+ chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, true, true, additionOptions, opts, chartOptions, chartType);
2612
2650
  //chartOptions.drilldown = {}
2613
2651
 
2614
2652
  highchartsRenderer.handleGridLines(additionOptions, chartOptions)
@@ -3715,15 +3753,25 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3715
3753
  };
3716
3754
 
3717
3755
  highchartsRenderer.getNewAttrSortingForCol = function (pivotData, sortingOptions) {
3718
- let colAttrs, colKeys;
3719
- colAttrs = pivotData.colAttrs;
3756
+ let rowAttrs, rowKeys, colKeys, colAttrs;
3757
+ rowAttrs = pivotData.rowAttrs;
3758
+ rowKeys = pivotData.rowKeys;
3720
3759
  colKeys = pivotData.colKeys;
3760
+ colAttrs = pivotData.colAttrs;
3761
+
3762
+
3721
3763
  if (!colAttrs || colAttrs.length == 0) {
3722
3764
  return null;
3723
3765
  }
3766
+
3724
3767
  let values_names_arr = [];
3725
- lodash.forEach(colKeys, function (val) {
3726
- let aggregator_subtotal = pivotData.getAggregator([], [val[0]]);
3768
+ let keysArray = sortingOptions.field ? rowKeys : colKeys;
3769
+
3770
+ lodash.forEach(keysArray, function (val) {
3771
+ let firstArray = sortingOptions.field ? [val[0]] : [];
3772
+ let secondArray = sortingOptions.field ? sortingOptions.field.split(highchartsRenderer.delimer) : [val[0]];
3773
+ let aggregator_subtotal = pivotData.getAggregator(firstArray, secondArray);
3774
+
3727
3775
  if (aggregator_subtotal) {
3728
3776
  let value_subtotal = aggregator_subtotal.value();
3729
3777
  if (sortingOptions && sortingOptions.is_absolute && !isNaN(parseFloat(value_subtotal))) {
@@ -3742,19 +3790,28 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3742
3790
 
3743
3791
  // map only names
3744
3792
  let attr_sorted_values = lodash.map(values_names_arr, 'name');
3745
- return {name: colAttrs[0], values: attr_sorted_values};
3793
+ return {name: sortingOptions.field ? rowAttrs[0] : colAttrs[0], values: attr_sorted_values};
3746
3794
  };
3747
3795
 
3748
3796
  highchartsRenderer.getNewAttrSortingForRow = function (pivotData, sortingOptions) {
3749
- let rowAttrs, rowKeys;
3797
+ let rowAttrs, rowKeys, colKeys, colAttrs;
3750
3798
  rowAttrs = pivotData.rowAttrs;
3751
3799
  rowKeys = pivotData.rowKeys;
3800
+ colKeys = pivotData.colKeys;
3801
+ colAttrs = pivotData.colAttrs;
3802
+
3752
3803
  if (!rowAttrs || rowAttrs.length == 0) {
3753
3804
  return null;
3754
3805
  }
3806
+
3755
3807
  let values_names_arr = [];
3756
- lodash.forEach(rowKeys, function (val) {
3757
- let aggregator_subtotal = pivotData.getAggregator([val[0]], []);
3808
+ let keysArray = sortingOptions.field ? colKeys : rowKeys;
3809
+
3810
+ lodash.forEach(keysArray, function (val) {
3811
+ let firstArray = sortingOptions.field ? sortingOptions.field.split(highchartsRenderer.delimer) : [val[0]];
3812
+ let secondArray = sortingOptions.field ? [val[0]] : [];
3813
+ let aggregator_subtotal = pivotData.getAggregator(firstArray, secondArray);
3814
+
3758
3815
  if (aggregator_subtotal) {
3759
3816
  let value_subtotal = aggregator_subtotal.value();
3760
3817
  if (sortingOptions && sortingOptions.is_absolute && !isNaN(parseFloat(value_subtotal))) {
@@ -3773,7 +3830,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3773
3830
 
3774
3831
  // map only names
3775
3832
  let attr_sorted_values = lodash.map(values_names_arr, 'name');
3776
- return {name: rowAttrs[0], values: attr_sorted_values};
3833
+ return {name: sortingOptions.field ? colAttrs[0] : rowAttrs[0], values: attr_sorted_values};
3777
3834
  };
3778
3835
 
3779
3836
  highchartsRenderer.generateSortingFunctionByValues = function (sortingOptions, pivotData, opts) {
@@ -5665,160 +5722,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
5665
5722
  value_name: 'is_percentage',
5666
5723
  default_value: false,
5667
5724
  hidden: true,
5668
- }, {
5669
- element_type: 'checkbox',
5670
- element_label: 'Sort by variance',
5671
- value_name: 'sort_by_variance',
5672
- default_value: false
5673
- }, {
5674
- element_type: 'checkbox',
5675
- element_label: 'Sort by absolute variance',
5676
- value_name: 'sort_by_absolute_variance',
5677
- default_value: false
5678
- }, {
5679
- element_type: 'checkbox',
5680
- element_label: 'Filter zero values',
5681
- value_name: 'is_filter_zero',
5682
- default_value: false
5683
- }]
5684
- },
5685
- 'delta_column_combo': {
5686
- category_class: 'google-visualization-charteditor-mini-more',
5687
- category_label: 'Variance',
5688
- category_type: 'delta_column',
5689
- elements: [{
5690
- element_type: 'radio',
5691
- value_name: 'field',
5692
- element_label: 'Select Field',
5693
- element_options: [
5694
- {label: 'None', value: ''},
5695
- {label: 'Axis', value: 'category'},
5696
- {label: 'Legend', value: 'series'},
5697
- ],
5698
- default_value: ''
5699
- }, {
5700
- element_type: 'input',
5701
- value_name: 'name',
5702
- element_label: 'Name',
5703
- default_value: '_Variance'
5704
- }, {
5705
- element_type: 'input',
5706
- value_name: 'formula',
5707
- element_label: 'Formula',
5708
- default_value: 'x2-x1'
5709
- }, {
5710
- hidden: true,
5711
- element_type: 'radio',
5712
- value_name: 'chart',
5713
- element_label: 'Chart',
5714
- element_options: [
5715
- {label: 'Markers', value: ''},
5716
- {label: 'Line', value: 'line'},
5717
- {label: 'Smooth Line', value: 'spline'},
5718
- {label: 'Column', value: 'column'},
5719
- {label: 'Area', value: 'area'},
5720
- {label: 'Smooth Area', value: 'areaspline'},
5721
- ],
5722
- default_value: ''
5723
- }, {
5724
- element_type: 'checkbox',
5725
- element_label: 'Only variance',
5726
- value_name: 'only_variant',
5727
- default_value: false
5728
- }, {
5729
- element_type: 'checkbox',
5730
- element_label: 'Same yAxis',
5731
- value_name: 'same_yaxis',
5732
- default_value: false,
5733
- hidden: true,
5734
- }, {
5735
- element_type: 'checkbox',
5736
- element_label: 'Same xAxis',
5737
- value_name: 'same_xaxis',
5738
- default_value: false
5739
- }, {
5740
- element_type: 'checkbox',
5741
- element_label: 'Percentage',
5742
- value_name: 'is_percentage',
5743
- default_value: false,
5744
- hidden: true,
5745
- }, {
5746
- element_type: 'checkbox',
5747
- element_label: 'Sort by variance',
5748
- value_name: 'sort_by_variance',
5749
- default_value: false
5750
- }, {
5751
- element_type: 'checkbox',
5752
- element_label: 'Sort by absolute variance',
5753
- value_name: 'sort_by_absolute_variance',
5754
- default_value: false
5755
- }]
5756
- },
5757
- 'delta_column_for_drill_down_combo': {
5758
- category_class: 'google-visualization-charteditor-mini-more',
5759
- category_label: 'Variance',
5760
- category_type: 'delta_column',
5761
- elements: [{
5762
- element_type: 'radio',
5763
- value_name: 'field',
5764
- element_label: 'Select Field',
5765
- element_options: [
5766
- {label: 'None', value: ''},
5767
- {label: 'Axis', value: 'category'},
5768
- {label: 'Legend', value: 'series'},
5769
- ],
5770
- default_value: ''
5771
- }, {
5772
- element_type: 'input',
5773
- value_name: 'name',
5774
- element_label: 'Name',
5775
- default_value: '_Variance'
5776
- }, {
5777
- element_type: 'input',
5778
- value_name: 'formula',
5779
- element_label: 'Formula',
5780
- default_value: 'x2-x1'
5781
- }, {
5782
- element_type: 'input',
5783
- value_name: 'color',
5784
- element_label: 'Color',
5785
- default_value: ''
5786
- }, {
5787
- hidden: true,
5788
- element_type: 'radio',
5789
- value_name: 'chart',
5790
- element_label: 'Chart',
5791
- element_options: [
5792
- {label: 'Markers', value: ''},
5793
- {label: 'Line', value: 'line'},
5794
- {label: 'Smooth Line', value: 'spline'},
5795
- {label: 'Column', value: 'column'},
5796
- {label: 'Area', value: 'area'},
5797
- {label: 'Smooth Area', value: 'areaspline'},
5798
- ],
5799
- default_value: ''
5800
- }, {
5801
- element_type: 'checkbox',
5802
- element_label: 'Only variance',
5803
- value_name: 'only_variant',
5804
- default_value: false
5805
- }, {
5806
- element_type: 'checkbox',
5807
- element_label: 'Same yAxis',
5808
- value_name: 'same_yaxis',
5809
- default_value: false,
5810
- hidden: true,
5811
- }, {
5812
- element_type: 'checkbox',
5813
- element_label: 'Same xAxis',
5814
- value_name: 'same_xaxis',
5815
- default_value: false
5816
- }, {
5817
- element_type: 'checkbox',
5818
- element_label: 'Percentage',
5819
- value_name: 'is_percentage',
5820
- default_value: false,
5821
- hidden: true,
5822
5725
  }, {
5823
5726
  element_type: 'checkbox',
5824
5727
  element_label: 'Sort by variance',
@@ -5896,8 +5799,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
5896
5799
 
5897
5800
  highchartsRenderer.chartsTypesInfo = {
5898
5801
  'combo-chart': {
5899
- name: 'Column Combo Chart ',
5900
- label: 'Column Combo Chart ',
5802
+ name: 'Combo Chart ',
5803
+ label: 'Combo Chart ',
5901
5804
  title: 'Allows for multiple chart display formats in one widget',
5902
5805
  description: 'For example, Revenue and Cost of goods sold as clomuns, and Gross margin as a line',
5903
5806
  axisName: 'X - Axis',
@@ -6157,7 +6060,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6157
6060
  highchartsRenderer.suboptions["table_options_transpose"],
6158
6061
  highchartsRenderer.suboptions["chart_grid"],
6159
6062
  highchartsRenderer.suboptions["negative_number_format"],
6160
- highchartsRenderer.suboptions["delta_column_combo"],
6063
+ highchartsRenderer.suboptions["delta_column"],
6161
6064
  highchartsRenderer.suboptions["error_policy"],
6162
6065
  highchartsRenderer.suboptions["from_version"],
6163
6066
  highchartsRenderer.suboptions["legends"],
@@ -6184,7 +6087,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6184
6087
  highchartsRenderer.suboptions["table_options"],
6185
6088
  highchartsRenderer.suboptions["chart"],
6186
6089
  highchartsRenderer.suboptions["negative_number_format"],
6187
- highchartsRenderer.suboptions["delta_column_for_drill_down_combo"],
6090
+ highchartsRenderer.suboptions["delta_column_for_drill_down"],
6188
6091
  highchartsRenderer.suboptions["error_policy"],
6189
6092
  highchartsRenderer.suboptions["from_version"],
6190
6093
  highchartsRenderer.suboptions["legends"],
@@ -7238,12 +7141,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7238
7141
  return data_row[field_with_variant.name] == variance_config.name && data_row[field_for_sorting.name] != undefined;
7239
7142
  });
7240
7143
 
7144
+ const sorting_variance = widget.options.total_value_options.sorting_variance === '' ? 'asc' : 'desc';
7145
+
7241
7146
  if (widget.options.chartOptions.delta_column.sort_by_absolute_variance) {
7242
7147
  data_sorted = lodash.sortBy(data_sorted, function (o) {
7243
- return Math.abs(o[val_field.name]) * -1;
7148
+ if (sorting_variance === 'desc') {
7149
+ return Math.abs(o[val_field.name]) * -1;
7150
+ }
7151
+
7152
+ return Math.abs(o[val_field.name]) * 1;
7244
7153
  });
7245
7154
  } else {
7246
- data_sorted = lodash.orderBy(data_sorted, [val_field.name], ['desc']);
7155
+ data_sorted = lodash.orderBy(data_sorted, [val_field.name], [sorting_variance]);
7247
7156
  }
7248
7157
 
7249
7158
  let values_for_sort = lodash.map(data_sorted, function (data_row) {