@datarailsshared/dr_renderer 1.2.304 → 1.2.306-dragons

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.304",
3
+ "version": "1.2.306-dragons",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -91,6 +91,7 @@ let initDRPivotTable = function($, window, document) {
91
91
 
92
92
  DRPivotData.prototype.arrSort = function(attrs) {
93
93
  var a, sortersArr;
94
+ const sortByValueAttrs = this.sortByValueAttrs;
94
95
  sortersArr = (function() {
95
96
  var l, len1, results;
96
97
  results = [];
@@ -100,11 +101,16 @@ let initDRPivotTable = function($, window, document) {
100
101
  }
101
102
  return results;
102
103
  }).call(this);
104
+
103
105
  return function(a, b) {
104
106
  var comparison, i, sorter;
105
107
  for (i in sortersArr) {
106
108
  sorter = sortersArr[i];
107
- comparison = sorter(a[i], b[i]);
109
+ if (sortByValueAttrs.indexOf(attrs[parseInt(i)]) !== -1) {
110
+ comparison = sorter(a.slice(0, parseInt(i) + 1).join(','), b.slice(0, parseInt(i) + 1).join(','));
111
+ } else {
112
+ comparison = sorter(a[i], b[i]);
113
+ }
108
114
  if (comparison !== 0) {
109
115
  return comparison;
110
116
  }
@@ -1150,6 +1150,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1150
1150
  ob.name = row_n_value.join(highchartsRenderer.delimer)
1151
1151
  .replace(highchartsRenderer.DR_OTHERS_KEY, othersName);
1152
1152
  }
1153
+
1153
1154
  lodash.forEach(col_n_keys, function (col_n_value, index) {
1154
1155
  var agg = pivotData.getAggregator(row_n_value, col_n_value);
1155
1156
  var val = agg.value();
@@ -1391,6 +1392,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1391
1392
  if (opts.trendLine) {
1392
1393
  const a = ((ySum * squareXSum) - (xSum * xySum)) / ((n * squareXSum) - (xSum * xSum));
1393
1394
  const b = ((n * xySum) - (xSum* ySum)) / ((n * squareXSum) - (xSum * xSum));
1395
+
1394
1396
  const trendSeries = lodash.clone(chart_series[chart_series.length - 1]);
1395
1397
  trendSeries.className = 'trendSeries';
1396
1398
  trendSeries.name = highchartsRenderer.getTrendSeriesName(trendSeries);
@@ -1401,6 +1403,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1401
1403
  if (colors && colors[i]) {
1402
1404
  trendSeries.color = colors[i];
1403
1405
  }
1406
+
1404
1407
  trendSerieses.push(trendSeries);
1405
1408
  }
1406
1409
  i++;
@@ -1417,6 +1420,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1417
1420
  }
1418
1421
 
1419
1422
  let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
1423
+
1420
1424
  if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1421
1425
  chart_series.forEach((series, seriesIndex) => {
1422
1426
  const savedSeriesOption = lodash.find(opts.comboOptions.seriesOptions, {series: series.name});
@@ -2586,8 +2590,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2586
2590
  };
2587
2591
  }
2588
2592
 
2589
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2590
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2593
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
2594
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2595
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2596
+ }
2591
2597
 
2592
2598
  chartOptions.tooltip = opts.insightsTooltipFunc
2593
2599
  ? highchartsRenderer.customFormatterTooltipInsights(pivotData, opts)
@@ -2669,9 +2675,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2669
2675
  }
2670
2676
  };
2671
2677
  }
2672
-
2673
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2674
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2678
+
2679
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
2680
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2681
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2682
+ }
2675
2683
 
2676
2684
  chartOptions.tooltip = {
2677
2685
  formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
@@ -2765,8 +2773,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
2765
2773
  };
2766
2774
  }
2767
2775
 
2768
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2769
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2776
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
2777
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
2778
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
2779
+ }
2770
2780
 
2771
2781
  chartOptions.tooltip = {
2772
2782
  formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
@@ -3047,8 +3057,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3047
3057
  }
3048
3058
  };
3049
3059
  }
3050
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3051
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3060
+
3061
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3062
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3063
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3064
+ }
3052
3065
 
3053
3066
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
3054
3067
 
@@ -3186,8 +3199,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3186
3199
  };
3187
3200
  }
3188
3201
 
3189
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3190
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3202
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3203
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3204
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3205
+ }
3191
3206
 
3192
3207
  chartOptions.xAxis = {
3193
3208
  type: 'category',
@@ -3373,8 +3388,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3373
3388
  };
3374
3389
  }
3375
3390
 
3376
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3377
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3391
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3392
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3393
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3394
+ }
3378
3395
 
3379
3396
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
3380
3397
 
@@ -3456,8 +3473,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3456
3473
  };
3457
3474
  }
3458
3475
 
3459
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3460
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3476
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3477
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3478
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3479
+ }
3461
3480
 
3462
3481
  chartOptions.xAxis = {
3463
3482
  categories: pivotData.getColKeys(),
@@ -3568,8 +3587,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3568
3587
  };
3569
3588
  }
3570
3589
 
3571
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3572
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3590
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3591
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3592
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3593
+ }
3573
3594
 
3574
3595
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 3, false);
3575
3596
  chartOptions.legend.useHTML = true;
@@ -3687,8 +3708,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3687
3708
  };
3688
3709
  }
3689
3710
 
3690
- chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3691
- chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3711
+ if (lodash.get(chartOptions, 'plotOptions.series.point.events')) {
3712
+ chartOptions.plotOptions.series.point.events.mouseOver = opts.trackUserInsightsTooltipFunc;
3713
+ chartOptions.plotOptions.series.point.events.mouseOut = opts.trackUserInsightsTooltipFunc;
3714
+ }
3692
3715
 
3693
3716
  if (waterfallOptions.colors) {
3694
3717
  chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 3, false);
@@ -4388,72 +4411,42 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4388
4411
  return ret_str;
4389
4412
  };
4390
4413
 
4391
- highchartsRenderer.getNewAttrSortingForCol = function (pivotData, sortingOptions) {
4392
- let rowAttrs, rowKeys, colKeys, colAttrs;
4393
- rowAttrs = pivotData.rowAttrs;
4394
- rowKeys = pivotData.rowKeys;
4395
- colKeys = pivotData.colKeys;
4396
- colAttrs = pivotData.colAttrs;
4397
-
4398
-
4399
- if (!colAttrs || colAttrs.length == 0) {
4400
- return null;
4401
- }
4402
-
4414
+ highchartsRenderer.getSortingByValueOrderList = function (pivotData, sortingOptions, keysArray, attrs, fieldIndex, widget) {
4403
4415
  let values_names_arr = [];
4404
- let keysArray = sortingOptions.field ? rowKeys : colKeys;
4405
-
4406
4416
  lodash.forEach(keysArray, function (val) {
4407
- let firstArray = sortingOptions.field ? [val[0]] : [];
4408
- let secondArray = sortingOptions.field ? sortingOptions.field.split(highchartsRenderer.delimer) : [val[0]];
4409
- let aggregator_subtotal = pivotData.getAggregator(firstArray, secondArray);
4410
-
4411
- if (aggregator_subtotal) {
4412
- let value_subtotal = aggregator_subtotal.value();
4413
- if (sortingOptions && sortingOptions.is_absolute && !isNaN(parseFloat(value_subtotal))) {
4414
- value_subtotal = Math.abs(value_subtotal);
4415
- }
4416
- values_names_arr.push({name: val[0], value: value_subtotal});
4417
- }
4418
- });
4419
-
4420
- // ORDERING
4421
- let sorting_vector = ['asc'];
4422
- if (sortingOptions && sortingOptions.type == 'largestToSmallest') {
4423
- sorting_vector = ['desc'];
4424
- }
4425
- values_names_arr = lodash.orderBy(values_names_arr, ['value'], sorting_vector);
4426
-
4427
- // map only names
4428
- let attr_sorted_values = lodash.map(values_names_arr, 'name');
4429
- return {name: sortingOptions.field ? rowAttrs[0] : colAttrs[0], values: attr_sorted_values};
4430
- };
4431
-
4432
- highchartsRenderer.getNewAttrSortingForRow = function (pivotData, sortingOptions) {
4433
- let rowAttrs, rowKeys, colKeys, colAttrs;
4434
- rowAttrs = pivotData.rowAttrs;
4435
- rowKeys = pivotData.rowKeys;
4436
- colKeys = pivotData.colKeys;
4437
- colAttrs = pivotData.colAttrs;
4417
+ const firstArray = [];
4418
+ const secondArray = val.slice(0, fieldIndex + 1);
4419
+
4420
+ let valueForComparison;
4421
+ if (sortingOptions.sort_by === 'variance') {
4422
+ const varianceConfig = widget.options.chartOptions.delta_column;
4423
+ const data = pivotData.input;
4424
+ const varianceField = varianceConfig.field === 'category' ? widget.cols[0] : widget.rows[0];
4425
+ const varianceRowsForCurrentKey = lodash.filter(data, row =>
4426
+ row[varianceField.name] === varianceConfig.name
4427
+ && lodash.every(secondArray, (item, index) => row[attrs[index]] === item)
4428
+ );
4438
4429
 
4439
- if (!rowAttrs || rowAttrs.length == 0) {
4440
- return null;
4441
- }
4430
+ valueForComparison = lodash.reduce(varianceRowsForCurrentKey, (a, d) => a + d[widget.vals[0].name], 0);
4431
+ } else {
4432
+ let getAggregatorParams = [firstArray, secondArray];
4442
4433
 
4443
- let values_names_arr = [];
4444
- let keysArray = sortingOptions.field ? colKeys : rowKeys;
4434
+ if (lodash.includes(pivotData.rowAttrs, attrs[fieldIndex])) {
4435
+ getAggregatorParams = lodash.reverse(getAggregatorParams);
4436
+ }
4437
+
4438
+ let aggregator_subtotal = pivotData.getAggregator(...getAggregatorParams);
4445
4439
 
4446
- lodash.forEach(keysArray, function (val) {
4447
- let firstArray = sortingOptions.field ? sortingOptions.field.split(highchartsRenderer.delimer) : [val[0]];
4448
- let secondArray = sortingOptions.field ? [val[0]] : [];
4449
- let aggregator_subtotal = pivotData.getAggregator(firstArray, secondArray);
4440
+ if (aggregator_subtotal) {
4441
+ valueForComparison = aggregator_subtotal.value();
4442
+ }
4443
+ }
4450
4444
 
4451
- if (aggregator_subtotal) {
4452
- let value_subtotal = aggregator_subtotal.value();
4453
- if (sortingOptions && sortingOptions.is_absolute && !isNaN(parseFloat(value_subtotal))) {
4454
- value_subtotal = Math.abs(value_subtotal);
4445
+ if (typeof valueForComparison !== 'undefined') {
4446
+ if (sortingOptions && sortingOptions.is_absolute && !isNaN(parseFloat(valueForComparison))) {
4447
+ valueForComparison = Math.abs(valueForComparison);
4455
4448
  }
4456
- values_names_arr.push({name: val[0], value: value_subtotal});
4449
+ values_names_arr.push({name: secondArray.join(','), value: valueForComparison});
4457
4450
  }
4458
4451
  });
4459
4452
 
@@ -4465,36 +4458,33 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4465
4458
  values_names_arr = lodash.orderBy(values_names_arr, ['value'], sorting_vector);
4466
4459
 
4467
4460
  // map only names
4468
- let attr_sorted_values = lodash.map(values_names_arr, 'name');
4469
- return {name: sortingOptions.field ? colAttrs[0] : rowAttrs[0], values: attr_sorted_values};
4461
+ return lodash.map(values_names_arr, 'name');
4470
4462
  };
4471
4463
 
4472
- highchartsRenderer.generateSortingFunctionByValues = function (sortingOptions, pivotData, opts) {
4473
- let new_map;
4474
- let axis = highchartsRenderer.getAxis(sortingOptions.axis, opts);
4475
- if (axis == 'col_total') {
4476
- new_map = highchartsRenderer.getNewAttrSortingForCol(pivotData, sortingOptions);
4477
- } else if (axis == 'row_total') {
4478
- new_map = highchartsRenderer.getNewAttrSortingForRow(pivotData, sortingOptions);
4479
- }
4480
-
4464
+ highchartsRenderer.generateSortingFunctionByValues = function (sortByValueSettings, pivotData, opts, widget) {
4481
4465
  let old_sorters_function = opts.sorters;
4482
4466
  if (!old_sorters_function) {
4483
4467
  old_sorters_function = function () {
4484
4468
  };
4485
4469
  }
4486
- if (new_map) {
4487
- var sortAs = $.pivotUtilities.sortAs;
4488
- let new_sorters_function = function (attr) {
4489
- if (new_map.name == attr) {
4490
- return $.pivotUtilities.sortAs(new_map.values);
4491
- } else {
4492
- return old_sorters_function(attr);
4493
- }
4470
+ return function (attr) {
4471
+ const sortingOptions = lodash.find(sortByValueSettings, fieldSorting => fieldSorting.name === attr);
4472
+ if (sortingOptions) {
4473
+ const axis = highchartsRenderer.getAxis(_.includes(pivotData.colAttrs, attr) ? 'col_total' : 'row_total', opts);
4474
+ const isColumnSort = axis === 'col_total';
4475
+ const fieldIndex = lodash.findIndex(isColumnSort ? pivotData.colAttrs : pivotData.rowAttrs, name => name === attr);
4476
+ const orderedNamesList = highchartsRenderer.getSortingByValueOrderList(
4477
+ pivotData,
4478
+ sortingOptions.sorting,
4479
+ pivotData[isColumnSort ? 'colKeys' : 'rowKeys'],
4480
+ pivotData[isColumnSort ? 'colAttrs' : 'rowAttrs'],
4481
+ fieldIndex,
4482
+ widget
4483
+ );
4484
+ return $.pivotUtilities.sortAs(orderedNamesList);
4485
+ } else {
4486
+ return old_sorters_function(attr);
4494
4487
  }
4495
- return new_sorters_function;
4496
- } else {
4497
- return old_sorters_function;
4498
4488
  }
4499
4489
  };
4500
4490
 
@@ -4698,6 +4688,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4698
4688
  result = null;
4699
4689
  try {
4700
4690
  pivotData = $.pivotUtilities.getPivotDataModel(rowData, opts);
4691
+ pivotData.sortByValueAttrs = [];
4701
4692
  try {
4702
4693
  if (options && options.onlyOptions) {
4703
4694
  if (!opts.rendererOptions) {
@@ -4705,9 +4696,15 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4705
4696
  }
4706
4697
  opts.rendererOptions.onlyOptions = true;
4707
4698
  }
4708
- var totalFilters = lodash.get(opts, 'rendererOptions.total_value_options', null);
4709
- if (totalFilters && totalFilters.sorting_options) {
4710
- let new_sorting_function = highchartsRenderer.generateSortingFunctionByValues(totalFilters.sorting_options, pivotData, opts);
4699
+
4700
+ const sortByValueSettings = lodash.filter(
4701
+ lodash.get(widget, 'options.sortingFields', []),
4702
+ sortingField => lodash.includes(['field_values', 'variance'], lodash.get(sortingField, 'sorting.sort_by'))
4703
+ );
4704
+
4705
+ if (sortByValueSettings.length) {
4706
+ pivotData.sortByValueAttrs = lodash.map(sortByValueSettings, fieldSorting => fieldSorting.name);
4707
+ let new_sorting_function = highchartsRenderer.generateSortingFunctionByValues(sortByValueSettings, pivotData, opts, widget);
4711
4708
  opts.sorters = new_sorting_function;
4712
4709
  optsFiltered.sorters = new_sorting_function;
4713
4710
  pivotData.sorters = new_sorting_function;
@@ -7058,18 +7055,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7058
7055
  value_name: 'is_percentage',
7059
7056
  default_value: false,
7060
7057
  hidden: true,
7061
- }, {
7062
- element_type: 'checkbox',
7063
- element_label: 'Sort by variance',
7064
- value_name: 'sort_by_variance',
7065
- default_value: false,
7066
- hidden: true
7067
- }, {
7068
- element_type: 'checkbox',
7069
- element_label: 'Sort by absolute variance',
7070
- value_name: 'sort_by_absolute_variance',
7071
- default_value: false,
7072
- hidden: true
7073
7058
  }]
7074
7059
  },
7075
7060
  'delta_column_for_drill_down': {
@@ -7136,18 +7121,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7136
7121
  value_name: 'is_percentage',
7137
7122
  default_value: false,
7138
7123
  hidden: true,
7139
- }, {
7140
- element_type: 'checkbox',
7141
- element_label: 'Sort by variance',
7142
- value_name: 'sort_by_variance',
7143
- default_value: false,
7144
- hidden: true
7145
- }, {
7146
- element_type: 'checkbox',
7147
- element_label: 'Sort by absolute variance',
7148
- value_name: 'sort_by_absolute_variance',
7149
- default_value: false,
7150
- hidden: true
7151
7124
  }, {
7152
7125
  element_type: 'checkbox',
7153
7126
  element_label: 'Filter zero values',
@@ -8664,7 +8637,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8664
8637
  const isCustomSorting = widget.options.sortingFields && Array.isArray(widget.options.sortingFields) && widget.options.sortingFields.length > 0;
8665
8638
  if (isCustomSorting) {
8666
8639
  lodash.forEach(datesFields, function (field) {
8667
- const fieldToSort = lodash.find(widget.options.sortingFields, element => element.id === field.id);
8640
+ const fieldToSort = lodash.find(
8641
+ widget.options.sortingFields, element => element.id === field.id && lodash.get(element, 'sorting.sort_by') === 'field_items'
8642
+ );
8668
8643
  field.sorting = fieldToSort ? fieldToSort.sorting : field.sorting;
8669
8644
  });
8670
8645
  }
@@ -8746,7 +8721,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8746
8721
  });
8747
8722
  } else if (isCustomSorting) {
8748
8723
  lodash.forEach(rowsAndCols, function (field) {
8749
- const fieldToSort = lodash.find(widget.options.sortingFields, element => element.id === field.id);
8724
+ const fieldToSort = lodash.find(
8725
+ widget.options.sortingFields, element => element.id === field.id && lodash.get(element, 'sorting.sort_by') === 'field_items'
8726
+ );
8750
8727
  field.sorting = fieldToSort ? fieldToSort.sorting : field.sorting;
8751
8728
  });
8752
8729
  }
@@ -8781,61 +8758,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8781
8758
  }
8782
8759
 
8783
8760
  /****** END *******/
8784
-
8785
- if (lodash.has(widget, "options.chartOptions.delta_column") &&
8786
- widget.options.chartOptions.delta_column.field != '' &&
8787
- (widget.options.chartOptions.delta_column.sort_by_variance ||
8788
- widget.options.chartOptions.delta_column.sort_by_absolute_variance) &&
8789
- widget.rows.length > 0 &&
8790
- widget.cols.length > 0 &&
8791
- widget.vals.length
8792
- ) {
8793
- let variance_config = widget.options.chartOptions.delta_column;
8794
- let val_field = widget.vals[0];
8795
- let field_for_sorting = null;
8796
- let field_with_variant = null;
8797
- if (variance_config.field == "series") {
8798
- field_for_sorting = widget.cols[0];
8799
- field_with_variant = widget.rows[0];
8800
- } else if (variance_config.field == "category") {
8801
- field_for_sorting = widget.rows[0];
8802
- field_with_variant = widget.cols[0];
8803
- }
8804
-
8805
- let data_sorted = lodash.filter(data, function (data_row) {
8806
- return data_row[field_with_variant.name] == variance_config.name && data_row[field_for_sorting.name] != undefined;
8807
- });
8808
-
8809
- const sorting_variance = widget.options.total_value_options && widget.options.total_value_options.sorting_variance === '' ? 'asc' : 'desc';
8810
-
8811
- if (widget.options.chartOptions.delta_column.sort_by_absolute_variance) {
8812
- data_sorted = lodash.sortBy(data_sorted, function (o) {
8813
- if (sorting_variance === 'desc') {
8814
- return Math.abs(o[val_field.name]) * -1;
8815
- }
8816
-
8817
- return Math.abs(o[val_field.name]) * 1;
8818
- });
8819
- } else {
8820
- data_sorted = lodash.orderBy(data_sorted, [val_field.name], [sorting_variance]);
8821
- }
8822
-
8823
- let values_for_sort = lodash.map(data_sorted, function (data_row) {
8824
- return data_row[field_for_sorting.name];
8825
- });
8826
-
8827
- values_for_sort = lodash.uniq(values_for_sort);
8828
-
8829
- if (values_for_sort.length > 0) {
8830
- let field = lodash.find(datesFields, {name: field_for_sorting.name});
8831
- if (field) {
8832
- field.values = values_for_sort;
8833
- field.sorting = null;
8834
- } else {
8835
- datesFields.push({name: field_for_sorting.name, values: values_for_sort});
8836
- }
8837
- }
8838
- } else if (widget.options && widget.options.sortingValues) {
8761
+
8762
+ // TODO: Remove. sortingValues looks like lagacy which is not in use neither in webclient nor in renderer
8763
+ if (widget.options && widget.options.sortingValues) {
8839
8764
  var field = lodash.find(datesFields, {name: widget.options.sortingValues.field});
8840
8765
  if (field) {
8841
8766
  field.values = widget.options.sortingValues.values;