@datarailsshared/dr_renderer 1.2.46-beta → 1.2.48-beta
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/dataformatter.js +1 -1
- package/src/dr_pivottable.js +19 -9
- package/src/highcharts_renderer.js +528 -159
package/package.json
CHANGED
package/src/dataformatter.js
CHANGED
|
@@ -1004,7 +1004,7 @@ var DataFormatterImpl = function () {
|
|
|
1004
1004
|
// Call function
|
|
1005
1005
|
result = this.memoized[pattern].call(this, n, type);
|
|
1006
1006
|
|
|
1007
|
-
if (result.value === result.pattern) {
|
|
1007
|
+
if (result.value === result.pattern && !(String(n) === '0' && result.value.includes('0'))) {
|
|
1008
1008
|
result.value = n;
|
|
1009
1009
|
}
|
|
1010
1010
|
}
|
package/src/dr_pivottable.js
CHANGED
|
@@ -3,7 +3,7 @@ let initDRPivotTable = function($, window, document) {
|
|
|
3
3
|
var slice = [].slice;
|
|
4
4
|
var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
|
5
5
|
|
|
6
|
-
var DRPivotData, sortDateStrings, getSort, processKey, SubtotalRenderer, getFormattedNumber, largeToSmallSort, NovixRenderer;
|
|
6
|
+
var DRPivotData, sortDateStrings, getSort, processKey, SubtotalRenderer, getFormattedNumber, largeToSmallSort, largeToSmallSortByAbsolute, NovixRenderer;
|
|
7
7
|
|
|
8
8
|
var delim = " , ";
|
|
9
9
|
const newTableColors = ['rgb(127, 196, 255)', 'rgb(200, 243,243)', 'rgb(247, 161, 173)', 'rgb(255, 237, 178)', 'rgb(221, 239, 255)',
|
|
@@ -155,7 +155,7 @@ let initDRPivotTable = function($, window, document) {
|
|
|
155
155
|
totals[flatKey].push(record);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
if (addKey) {
|
|
158
|
+
if (addKey && key.length === attrs.length) {
|
|
159
159
|
keys.push(key);
|
|
160
160
|
}
|
|
161
161
|
return key;
|
|
@@ -180,13 +180,13 @@ let initDRPivotTable = function($, window, document) {
|
|
|
180
180
|
if (!colKey.length && !rowKey.length) {
|
|
181
181
|
this.allTotal.push(record);
|
|
182
182
|
}
|
|
183
|
-
if (!colKey.length && rowKey.length
|
|
184
|
-
this.rowTotals[rowKey
|
|
185
|
-
this.rowTotals[rowKey
|
|
183
|
+
if (!colKey.length && rowKey.length) {
|
|
184
|
+
this.rowTotals[rowKey.join(delim)].push(record);
|
|
185
|
+
this.rowTotals[rowKey.join(delim)].isChangeable = true;
|
|
186
186
|
}
|
|
187
|
-
if (!rowKey.length && colKey.length
|
|
188
|
-
this.colTotals[colKey
|
|
189
|
-
this.colTotals[colKey
|
|
187
|
+
if (!rowKey.length && colKey.length) {
|
|
188
|
+
this.colTotals[colKey.join(delim)].push(record);
|
|
189
|
+
this.colTotals[colKey.join(delim)].isChangeable = true;
|
|
190
190
|
}
|
|
191
191
|
} else {
|
|
192
192
|
this.allTotal.push(record);
|
|
@@ -340,7 +340,11 @@ let initDRPivotTable = function($, window, document) {
|
|
|
340
340
|
};
|
|
341
341
|
};
|
|
342
342
|
|
|
343
|
-
|
|
343
|
+
largeToSmallSortByAbsolute = function (as, bs) {
|
|
344
|
+
return largeToSmallSort(as , bs, true);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
largeToSmallSort = function(as, bs, is_abs = false) {
|
|
344
348
|
var a, a1, b, b1, rd, rx, rz;
|
|
345
349
|
rx = /(\d+)|(\D+)/g;
|
|
346
350
|
rd = /\d/;
|
|
@@ -352,6 +356,11 @@ let initDRPivotTable = function($, window, document) {
|
|
|
352
356
|
if (isNaN(bs)) {
|
|
353
357
|
return 1;
|
|
354
358
|
}
|
|
359
|
+
|
|
360
|
+
if (is_abs) {
|
|
361
|
+
return Math.abs(bs) - Math.abs(as);
|
|
362
|
+
}
|
|
363
|
+
|
|
355
364
|
return bs - as;
|
|
356
365
|
}
|
|
357
366
|
a = String(as).toLowerCase();
|
|
@@ -2217,6 +2226,7 @@ let initDRPivotTable = function($, window, document) {
|
|
|
2217
2226
|
$.pivotUtilities.getFormattedNumber = getFormattedNumber;
|
|
2218
2227
|
$.pivotUtilities.sortDateStrings = sortDateStrings;
|
|
2219
2228
|
$.pivotUtilities.largeToSmallSort = largeToSmallSort;
|
|
2229
|
+
$.pivotUtilities.largeToSmallSortByAbsolute = largeToSmallSortByAbsolute;
|
|
2220
2230
|
$.pivotUtilities.getPivotDataModel = function(input, opts){ return new DRPivotData(input, opts); }
|
|
2221
2231
|
$.pivotUtilities.getPivotTableFormula = function(rowData, opts, func, colFields, rowFields, aggregationDefaults, utils) {
|
|
2222
2232
|
let totalStr = 'Grand Totals';
|
|
@@ -891,14 +891,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
891
891
|
return chartOptions;
|
|
892
892
|
};
|
|
893
893
|
|
|
894
|
-
|
|
894
|
+
// Generate series for charts functions
|
|
895
|
+
highchartsRenderer.ptCreateBasicLineSeries = function (pivotData, colors, onlyNumbers, isUniqueVals, additionOptions, opts, chartOptions) {
|
|
895
896
|
var chart_series = [],
|
|
896
897
|
row_n_keys = pivotData.getRowKeys(),
|
|
897
898
|
col_n_keys = pivotData.getColKeys();
|
|
898
899
|
|
|
899
|
-
var num_cols = col_n_keys.length;
|
|
900
|
-
var num_rows = row_n_keys.length;
|
|
901
|
-
|
|
902
900
|
var has_delta = false;
|
|
903
901
|
if (additionOptions && lodash.has(additionOptions, "delta_column.field") && additionOptions.delta_column.field == "series") {
|
|
904
902
|
has_delta = true;
|
|
@@ -909,16 +907,22 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
909
907
|
|
|
910
908
|
var i = 0;
|
|
911
909
|
var variat_serias = null;
|
|
910
|
+
const n = col_n_keys.length;
|
|
911
|
+
const xSum = (1 + n) / 2 * n;
|
|
912
912
|
|
|
913
913
|
lodash.forEach(row_n_keys, function (row_n_value) {
|
|
914
914
|
var ob = {};
|
|
915
|
+
let ySum = 0;
|
|
916
|
+
let xySum = 0;
|
|
917
|
+
let squareXSum = 0;
|
|
915
918
|
ob.data = [];
|
|
916
919
|
if (row_n_value && row_n_value.length > 0)
|
|
917
920
|
ob.name = row_n_value.join(highchartsRenderer.delimer);
|
|
918
921
|
|
|
919
|
-
lodash.forEach(col_n_keys, function (col_n_value) {
|
|
922
|
+
lodash.forEach(col_n_keys, function (col_n_value, index) {
|
|
920
923
|
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
921
924
|
var val = agg.value();
|
|
925
|
+
|
|
922
926
|
if (isUniqueVals && agg.uniq)
|
|
923
927
|
val = agg.uniq.join('<br>');
|
|
924
928
|
|
|
@@ -937,6 +941,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
937
941
|
else
|
|
938
942
|
val = 0;
|
|
939
943
|
}
|
|
944
|
+
|
|
945
|
+
xySum += Number(val) * (index + 1);
|
|
946
|
+
ySum += Number(val);
|
|
947
|
+
squareXSum += (index + 1) * (index + 1);
|
|
940
948
|
ob.data.push(val);
|
|
941
949
|
});
|
|
942
950
|
|
|
@@ -950,6 +958,24 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
950
958
|
}
|
|
951
959
|
|
|
952
960
|
chart_series.push(ob);
|
|
961
|
+
|
|
962
|
+
if (opts.trendLine) {
|
|
963
|
+
const a = ((ySum * squareXSum) - (xSum * xySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
964
|
+
const b = ((n * xySum) - (xSum* ySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
965
|
+
|
|
966
|
+
const trendSeries = lodash.clone(chart_series[chart_series.length - 1]);
|
|
967
|
+
trendSeries.name = 'Trend Line (' + trendSeries.name + ')';
|
|
968
|
+
trendSeries.dashStyle = 'shortdot';
|
|
969
|
+
trendSeries.type = 'line';
|
|
970
|
+
trendSeries.data = trendSeries.data.map((el, index) => a + b * (index + 1));
|
|
971
|
+
|
|
972
|
+
if (colors && colors[i]) {
|
|
973
|
+
trendSeries.color = colors[i];
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
chart_series.push(trendSeries);
|
|
977
|
+
}
|
|
978
|
+
|
|
953
979
|
i++;
|
|
954
980
|
});
|
|
955
981
|
|
|
@@ -970,30 +996,48 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
970
996
|
}
|
|
971
997
|
}
|
|
972
998
|
|
|
999
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts);
|
|
1000
|
+
|
|
1001
|
+
if (opts.total) {
|
|
1002
|
+
const newSeries = lodash.clone(chart_series[chart_series.length - 1]);
|
|
1003
|
+
newSeries.name = 'Total';
|
|
1004
|
+
newSeries.data = [];
|
|
1005
|
+
col_n_keys.forEach(columnKey => {
|
|
1006
|
+
let totalKey = columnKey;
|
|
1007
|
+
if (lodash.isArray(columnKey)) {
|
|
1008
|
+
totalKey = totalKey.join(' , ');
|
|
1009
|
+
}
|
|
1010
|
+
newSeries.data.push(pivotData.colTotals[totalKey].sum);
|
|
1011
|
+
})
|
|
1012
|
+
|
|
1013
|
+
chart_series.push(newSeries);
|
|
1014
|
+
}
|
|
1015
|
+
|
|
973
1016
|
return chart_series;
|
|
974
1017
|
};
|
|
975
1018
|
|
|
976
|
-
|
|
977
|
-
highchartsRenderer.ptCreateColumnSeries = function (pivotData, colors, onlyNumbers, isUniqueVals, isNotDrilldown, additionOptions) {
|
|
1019
|
+
highchartsRenderer.ptCreateColumnSeries = function (pivotData, colors, onlyNumbers, isUniqueVals, isNotDrilldown, additionOptions, opts, chartOptions) {
|
|
978
1020
|
var chart_series = [],
|
|
979
1021
|
row_n_keys = pivotData.getRowKeys(),
|
|
980
1022
|
col_n_keys = pivotData.getColKeys();
|
|
981
|
-
var num_cols = col_n_keys.length;
|
|
982
|
-
var num_rows = row_n_keys.length;
|
|
983
1023
|
|
|
984
1024
|
var has_delta = false;
|
|
985
1025
|
if (additionOptions && lodash.has(additionOptions, "delta_column.field") && additionOptions.delta_column.field == "series") {
|
|
986
1026
|
has_delta = true;
|
|
987
1027
|
}
|
|
988
1028
|
|
|
989
|
-
|
|
990
1029
|
if (row_n_keys.length == 0)
|
|
991
1030
|
row_n_keys.push([]);
|
|
992
1031
|
|
|
993
1032
|
var i = 0;
|
|
994
1033
|
var variat_serias = null;
|
|
1034
|
+
const n = col_n_keys.length;
|
|
1035
|
+
const xSum = (1 + n) / 2 * n;
|
|
995
1036
|
|
|
996
1037
|
lodash.forEach(row_n_keys, function (row_n_value) {
|
|
1038
|
+
let ySum = 0;
|
|
1039
|
+
let xySum = 0;
|
|
1040
|
+
let squareXSum = 0;
|
|
997
1041
|
var ob = {};
|
|
998
1042
|
ob.data = [];
|
|
999
1043
|
if (row_n_value && row_n_value.length > 0)
|
|
@@ -1006,7 +1050,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1006
1050
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
|
1007
1051
|
}
|
|
1008
1052
|
|
|
1009
|
-
lodash.forEach(col_n_keys, function (col_n_value) {
|
|
1053
|
+
lodash.forEach(col_n_keys, function (col_n_value, index) {
|
|
1010
1054
|
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1011
1055
|
var val = agg.value();
|
|
1012
1056
|
|
|
@@ -1040,6 +1084,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1040
1084
|
if (!isNotDrilldown)
|
|
1041
1085
|
tmoobj.drilldown = true;
|
|
1042
1086
|
|
|
1087
|
+
xySum += Number(val) * (index + 1);
|
|
1088
|
+
ySum += Number(val);
|
|
1089
|
+
squareXSum += (index + 1) * (index + 1);
|
|
1043
1090
|
ob.data.push(tmoobj);
|
|
1044
1091
|
});
|
|
1045
1092
|
|
|
@@ -1053,6 +1100,23 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1053
1100
|
}
|
|
1054
1101
|
|
|
1055
1102
|
chart_series.push(ob);
|
|
1103
|
+
|
|
1104
|
+
if (opts.trendLine) {
|
|
1105
|
+
const a = ((ySum * squareXSum) - (xSum * xySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
1106
|
+
const b = ((n * xySum) - (xSum* ySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
1107
|
+
|
|
1108
|
+
const trendSeries = lodash.clone(chart_series[chart_series.length - 1]);
|
|
1109
|
+
trendSeries.name = 'Trend Line (' + trendSeries.name + ')';
|
|
1110
|
+
trendSeries.dashStyle = 'shortdot';
|
|
1111
|
+
trendSeries.type = 'line';
|
|
1112
|
+
trendSeries.data = trendSeries.data.map((data, index) => ({name: data.name, y: a + b * (index + 1)}));
|
|
1113
|
+
|
|
1114
|
+
if (colors && colors[i]) {
|
|
1115
|
+
trendSeries.color = colors[i];
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
chart_series.push(trendSeries);
|
|
1119
|
+
}
|
|
1056
1120
|
i++;
|
|
1057
1121
|
});
|
|
1058
1122
|
|
|
@@ -1064,18 +1128,68 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1064
1128
|
}
|
|
1065
1129
|
}
|
|
1066
1130
|
|
|
1131
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(chart_series, pivotData, chartOptions, additionOptions, opts);
|
|
1132
|
+
|
|
1133
|
+
let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
|
|
1134
|
+
|
|
1135
|
+
if (opts.comboOptions && opts.comboOptions.seriesOptions.length) {
|
|
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
|
+
})
|
|
1161
|
+
})
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
if (opts.total) {
|
|
1165
|
+
const totalSeries = lodash.clone(chart_series[chart_series.length - 1]);
|
|
1166
|
+
totalSeries.name = 'Total';
|
|
1167
|
+
totalSeries.data = [];
|
|
1168
|
+
col_n_keys.forEach(columnKey => {
|
|
1169
|
+
let key = columnKey;
|
|
1170
|
+
let totalKey = columnKey;
|
|
1171
|
+
if (lodash.isArray(columnKey)) {
|
|
1172
|
+
key = columnKey[0];
|
|
1173
|
+
totalKey = totalKey.join(' , ');
|
|
1174
|
+
}
|
|
1175
|
+
totalSeries.data.push({name: lodash.unescape(key), y: pivotData.colTotals[totalKey].sum});
|
|
1176
|
+
});
|
|
1177
|
+
|
|
1178
|
+
chart_series.push(totalSeries);
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
chart_series.sort((a,b) => {
|
|
1182
|
+
return (weights[a.type] || 0) > (weights[b.type] || 0) ? 1 : (weights[a.type] || 0) < (weights[b.type] || 0) ? -1 : 0
|
|
1183
|
+
});
|
|
1184
|
+
|
|
1067
1185
|
return chart_series;
|
|
1068
|
-
}
|
|
1186
|
+
}
|
|
1069
1187
|
|
|
1070
1188
|
highchartsRenderer.getVariantSeries = function (series, delta_column_options) {
|
|
1071
1189
|
const varianceColor = delta_column_options.color || highchartsRenderer.variance_color || Highcharts.getOptions().colors[7];
|
|
1072
1190
|
series.name = delta_column_options.name.replace('_', '');
|
|
1073
1191
|
series.color = varianceColor;
|
|
1074
1192
|
|
|
1075
|
-
if (!delta_column_options.only_variant && !delta_column_options.same_yaxis) {
|
|
1076
|
-
series.yAxis = 1;
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
1193
|
if (delta_column_options.point_click_event) {
|
|
1080
1194
|
series.allowPointSelect = true;
|
|
1081
1195
|
series.point = {
|
|
@@ -1103,7 +1217,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1103
1217
|
series.marker = {
|
|
1104
1218
|
lineColor: varianceColor
|
|
1105
1219
|
};
|
|
1106
|
-
} else if (delta_column_options.chart == 'column') {
|
|
1220
|
+
} else if (delta_column_options.chart == 'column' || delta_column_options.chart == 'combo') {
|
|
1107
1221
|
series.type = 'column';
|
|
1108
1222
|
} else {
|
|
1109
1223
|
series.type = 'spline';
|
|
@@ -1148,8 +1262,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1148
1262
|
return series;
|
|
1149
1263
|
}
|
|
1150
1264
|
|
|
1151
|
-
|
|
1152
|
-
highchartsRenderer.ptCreateSeriesToDrillDownChart = function (pivotData) {
|
|
1265
|
+
highchartsRenderer.ptCreateSeriesToDrillDownChart = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1153
1266
|
var pie_series = [];
|
|
1154
1267
|
|
|
1155
1268
|
var col_n_keys = pivotData.getColKeys();
|
|
@@ -1180,13 +1293,15 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1180
1293
|
pie_series.push(ob);
|
|
1181
1294
|
});
|
|
1182
1295
|
|
|
1296
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(pie_series, pivotData, chartOptions, additionOptions, opts);
|
|
1297
|
+
|
|
1183
1298
|
return ([{
|
|
1184
1299
|
colorByPoint: true,
|
|
1185
1300
|
data: pie_series
|
|
1186
1301
|
}]);
|
|
1187
1302
|
};
|
|
1188
1303
|
|
|
1189
|
-
highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart = function (pivotData) {
|
|
1304
|
+
highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1190
1305
|
|
|
1191
1306
|
var pie_drill_down_series = [],
|
|
1192
1307
|
row_n_keys = pivotData.getRowKeys(),
|
|
@@ -1224,12 +1339,60 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1224
1339
|
}
|
|
1225
1340
|
});
|
|
1226
1341
|
|
|
1342
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(pie_drill_down_series, pivotData, chartOptions, additionOptions, opts);
|
|
1227
1343
|
|
|
1228
1344
|
return ({
|
|
1229
1345
|
series: pie_drill_down_series
|
|
1230
1346
|
});
|
|
1231
1347
|
};
|
|
1232
1348
|
|
|
1349
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded = function(chartSeries, pivotData, chartOptions, additionOptions, opts) {
|
|
1350
|
+
if (!opts || !opts.comboOptions) {
|
|
1351
|
+
return;
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
let addSecondYAxis = false;
|
|
1355
|
+
lodash.forEach(chartSeries, function (series) {
|
|
1356
|
+
let sOptions = lodash.find(opts.comboOptions.seriesOptions, function(sOptions) {
|
|
1357
|
+
return sOptions.series === series.name || sOptions.series.replace('_', '') === series.name
|
|
1358
|
+
});
|
|
1359
|
+
if (sOptions && sOptions.secondaryAxis) {
|
|
1360
|
+
series.yAxis = 1;
|
|
1361
|
+
addSecondYAxis = true;
|
|
1362
|
+
}
|
|
1363
|
+
});
|
|
1364
|
+
|
|
1365
|
+
if (addSecondYAxis) {
|
|
1366
|
+
highchartsRenderer.addSecondYAxis(pivotData, chartOptions, additionOptions, opts);
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
highchartsRenderer.addSecondYAxis = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1371
|
+
const varianceColor = (additionOptions && additionOptions.delta_column.color) || (highchartsRenderer && highchartsRenderer.variance_color) || Highcharts.getOptions().colors[7];
|
|
1372
|
+
let labels_formatter = opts.comboOptions.secondaryAxisSettings.is_percentage ?
|
|
1373
|
+
highchartsRenderer.persantageValueLabelsFormatter(pivotData, opts) :
|
|
1374
|
+
highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts);
|
|
1375
|
+
|
|
1376
|
+
chartOptions.yAxis = [chartOptions.yAxis];
|
|
1377
|
+
chartOptions.yAxis[1] = {
|
|
1378
|
+
min: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.min)) ? opts.comboOptions.secondaryAxisSettings.min : null,
|
|
1379
|
+
max: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.max)) ? opts.comboOptions.secondaryAxisSettings.max : null,
|
|
1380
|
+
title: {
|
|
1381
|
+
text: opts.comboOptions.secondaryAxisSettings.name,
|
|
1382
|
+
style: {
|
|
1383
|
+
color: varianceColor
|
|
1384
|
+
}
|
|
1385
|
+
},
|
|
1386
|
+
labels: {
|
|
1387
|
+
formatter: labels_formatter,
|
|
1388
|
+
style: {
|
|
1389
|
+
color: varianceColor
|
|
1390
|
+
}
|
|
1391
|
+
},
|
|
1392
|
+
opposite: true
|
|
1393
|
+
}
|
|
1394
|
+
};
|
|
1395
|
+
|
|
1233
1396
|
highchartsRenderer.ptRenderBasicPie = function (pivotData, opts) {
|
|
1234
1397
|
var chartOptions = {};
|
|
1235
1398
|
var additionOptions = opts.chartOptions ? opts.chartOptions : highchartsRenderer.getDefaultValueForChart('pie-chart');
|
|
@@ -1409,7 +1572,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1409
1572
|
}
|
|
1410
1573
|
|
|
1411
1574
|
chartOptions.xAxis = {categories: pivotData.getColKeys()};
|
|
1412
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true);
|
|
1575
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, null, null, opts, chartOptions);
|
|
1413
1576
|
|
|
1414
1577
|
var total = [];
|
|
1415
1578
|
lodash.forEach(chartOptions.series, function (obj) {
|
|
@@ -1550,7 +1713,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1550
1713
|
|
|
1551
1714
|
|
|
1552
1715
|
chartOptions.xAxis = {categories: pivotData.getColKeys()};
|
|
1553
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true);
|
|
1716
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, null, null, opts, chartOptions);
|
|
1554
1717
|
|
|
1555
1718
|
var total = [];
|
|
1556
1719
|
lodash.forEach(chartOptions.series, function (obj) {
|
|
@@ -1644,7 +1807,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1644
1807
|
};
|
|
1645
1808
|
var uniqueVals = kpioptions.value.value == "Unique";
|
|
1646
1809
|
|
|
1647
|
-
let temp_series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, uniqueVals);
|
|
1810
|
+
let temp_series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, uniqueVals, null, opts, chartOptions);
|
|
1648
1811
|
|
|
1649
1812
|
var total = [];
|
|
1650
1813
|
lodash.forEach(temp_series, function (obj) {
|
|
@@ -1764,12 +1927,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1764
1927
|
if (useNewUx) {
|
|
1765
1928
|
chartOptions.tooltip.borderColor = '#fff';
|
|
1766
1929
|
}
|
|
1767
|
-
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData);
|
|
1930
|
+
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData, chartOptions, additionOptions, opts);
|
|
1768
1931
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 1, false, true);
|
|
1769
1932
|
if (drilldownFunc)
|
|
1770
1933
|
chartOptions.drilldown = {}
|
|
1771
1934
|
else
|
|
1772
|
-
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData);
|
|
1935
|
+
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData, chartOptions, additionOptions, opts);
|
|
1773
1936
|
|
|
1774
1937
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
1775
1938
|
|
|
@@ -1826,7 +1989,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1826
1989
|
formatter: highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts)
|
|
1827
1990
|
}
|
|
1828
1991
|
};
|
|
1829
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
1830
1992
|
|
|
1831
1993
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
1832
1994
|
|
|
@@ -1871,7 +2033,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1871
2033
|
}
|
|
1872
2034
|
};
|
|
1873
2035
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
1874
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions);
|
|
2036
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
|
1875
2037
|
|
|
1876
2038
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
1877
2039
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
@@ -1902,8 +2064,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1902
2064
|
}
|
|
1903
2065
|
};
|
|
1904
2066
|
|
|
1905
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
1906
|
-
|
|
1907
2067
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
1908
2068
|
|
|
1909
2069
|
chartOptions.plotOptions = {
|
|
@@ -1950,7 +2110,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1950
2110
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
1951
2111
|
|
|
1952
2112
|
var colors = ['#ff0202', '#b3060e', '#70000a'];
|
|
1953
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, colors, null, null, additionOptions);
|
|
2113
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, colors, null, null, additionOptions, opts, chartOptions);
|
|
1954
2114
|
|
|
1955
2115
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
1956
2116
|
|
|
@@ -1972,34 +2132,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1972
2132
|
|
|
1973
2133
|
}
|
|
1974
2134
|
|
|
1975
|
-
highchartsRenderer.addSecondYAxisIfNeed = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1976
|
-
if (additionOptions && additionOptions.delta_column && additionOptions.delta_column.field == "series") {
|
|
1977
|
-
chartOptions.yAxis = [chartOptions.yAxis];
|
|
1978
|
-
|
|
1979
|
-
let labels_formatter = highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts);
|
|
1980
|
-
if (additionOptions.delta_column.is_percentage) {
|
|
1981
|
-
labels_formatter = highchartsRenderer.persantageValueLabelsFormatter(pivotData, opts);
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
const varianceColor = additionOptions.delta_column.color || highchartsRenderer.variance_color || Highcharts.getOptions().colors[7];
|
|
1985
|
-
chartOptions.yAxis[1] = {
|
|
1986
|
-
title: {
|
|
1987
|
-
text: additionOptions.delta_column.name.replace('_', ''),
|
|
1988
|
-
style: {
|
|
1989
|
-
color: varianceColor
|
|
1990
|
-
}
|
|
1991
|
-
},
|
|
1992
|
-
labels: {
|
|
1993
|
-
formatter: labels_formatter,
|
|
1994
|
-
style: {
|
|
1995
|
-
color: varianceColor
|
|
1996
|
-
}
|
|
1997
|
-
},
|
|
1998
|
-
opposite: true
|
|
1999
|
-
}
|
|
2000
|
-
}
|
|
2001
|
-
};
|
|
2002
|
-
|
|
2003
2135
|
highchartsRenderer.ptRenderSpLine = function (pivotData, opts) {
|
|
2004
2136
|
var chartOptions = {};
|
|
2005
2137
|
var rowAttrs = pivotData.rowAttrs;
|
|
@@ -2025,8 +2157,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2025
2157
|
}
|
|
2026
2158
|
};
|
|
2027
2159
|
|
|
2028
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
2029
|
-
|
|
2030
2160
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
2031
2161
|
|
|
2032
2162
|
chartOptions.plotOptions = {
|
|
@@ -2068,7 +2198,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2068
2198
|
}
|
|
2069
2199
|
};
|
|
2070
2200
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2071
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions);
|
|
2201
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
|
2072
2202
|
|
|
2073
2203
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2074
2204
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
@@ -2116,7 +2246,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2116
2246
|
}
|
|
2117
2247
|
};
|
|
2118
2248
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2119
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2249
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2120
2250
|
|
|
2121
2251
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2122
2252
|
|
|
@@ -2213,7 +2343,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2213
2343
|
},
|
|
2214
2344
|
lineWidth: 0
|
|
2215
2345
|
};
|
|
2216
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2346
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2217
2347
|
|
|
2218
2348
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
|
|
2219
2349
|
|
|
@@ -2275,8 +2405,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2275
2405
|
}
|
|
2276
2406
|
};
|
|
2277
2407
|
|
|
2278
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
2279
|
-
|
|
2280
2408
|
chartOptions.tooltip = {
|
|
2281
2409
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
2282
2410
|
shadow: highchartsRenderer.tooltipShadow,
|
|
@@ -2290,7 +2418,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2290
2418
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2291
2419
|
|
|
2292
2420
|
var isNotDrilldown = !(colAttrs && colAttrs.length > 1);
|
|
2293
|
-
|
|
2421
|
+
if (lodash.get(opts, 'paletteOptions.widgetPalette', null)) {
|
|
2422
|
+
const mc_palette = lodash.find(lodash.get(opts.paletteOptions, 'monochromePalettes', []), { selected: true });
|
|
2423
|
+
chartOptions.colors = mc_palette ? mc_palette.colors : opts.paletteOptions.widgetPalette;
|
|
2424
|
+
} else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
|
|
2425
|
+
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
2426
|
+
}
|
|
2427
|
+
chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, null, isNotDrilldown, additionOptions, opts, chartOptions);
|
|
2294
2428
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2295
2429
|
chartOptions.plotOptions = {
|
|
2296
2430
|
column: {
|
|
@@ -2458,7 +2592,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2458
2592
|
};
|
|
2459
2593
|
//chartOptions.xAxis = { categories: pivotData.getColKeys() };
|
|
2460
2594
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2461
|
-
|
|
2595
|
+
if (lodash.get(opts, 'paletteOptions.widgetPalette', null)) {
|
|
2596
|
+
const mc_palette = lodash.find(lodash.get(opts.paletteOptions, 'monochromePalettes', []), { selected: true });
|
|
2597
|
+
chartOptions.colors = mc_palette ? mc_palette.colors : opts.paletteOptions.widgetPalette;
|
|
2598
|
+
} else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
|
|
2599
|
+
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
2600
|
+
}
|
|
2601
|
+
chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, true, true, null, opts, chartOptions);
|
|
2462
2602
|
//chartOptions.drilldown = {}
|
|
2463
2603
|
|
|
2464
2604
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
@@ -2535,11 +2675,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2535
2675
|
|
|
2536
2676
|
chartOptions.xAxis = {type: 'category'};
|
|
2537
2677
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2538
|
-
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData);
|
|
2678
|
+
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData, chartOptions, additionOptions, opts);
|
|
2539
2679
|
//if (drilldownFunc)
|
|
2540
2680
|
// chartOptions.drilldown = {}
|
|
2541
2681
|
//else
|
|
2542
|
-
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData);
|
|
2682
|
+
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData, chartOptions, additionOptions, opts);
|
|
2543
2683
|
|
|
2544
2684
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2545
2685
|
|
|
@@ -2610,7 +2750,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2610
2750
|
}
|
|
2611
2751
|
};
|
|
2612
2752
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2613
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2753
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2614
2754
|
|
|
2615
2755
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2616
2756
|
|
|
@@ -2724,7 +2864,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2724
2864
|
}
|
|
2725
2865
|
};
|
|
2726
2866
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2727
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2867
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2728
2868
|
|
|
2729
2869
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2730
2870
|
|
|
@@ -2813,6 +2953,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2813
2953
|
return format;
|
|
2814
2954
|
}
|
|
2815
2955
|
|
|
2956
|
+
highchartsRenderer.isRowKeyShouldBePercentage = function(render_options, rowKey) {
|
|
2957
|
+
if (render_options && render_options.comboOptions && render_options.comboOptions.secondaryAxisSettings &&
|
|
2958
|
+
render_options.comboOptions.secondaryAxisSettings.is_percentage) {
|
|
2959
|
+
const rowKeyString = rowKey.join(highchartsRenderer.delimer);
|
|
2960
|
+
const rowKeyOptions = lodash.find(render_options.comboOptions.seriesOptions, {series: rowKeyString});
|
|
2961
|
+
if (rowKeyOptions && rowKeyOptions.secondaryAxis) {
|
|
2962
|
+
return true;
|
|
2963
|
+
}
|
|
2964
|
+
}
|
|
2965
|
+
return false;
|
|
2966
|
+
}
|
|
2967
|
+
|
|
2816
2968
|
highchartsRenderer.ignoreIfCalculatedValue = function(data, rowKey, colKey, record, associatedFields, renderOptions, isGraph) {
|
|
2817
2969
|
var eliminate = renderOptions && renderOptions.chartOptions && renderOptions.chartOptions.table_options &&
|
|
2818
2970
|
renderOptions.chartOptions.table_options.eliminate_calc_totals && !_.isEmpty(associatedFields) && !isGraph;
|
|
@@ -2832,17 +2984,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2832
2984
|
|
|
2833
2985
|
highchartsRenderer.rhPivotCount = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
2834
2986
|
var attr = arg[0];
|
|
2835
|
-
var has_variants_persentage = false;
|
|
2836
|
-
var variant_name = '';
|
|
2837
|
-
|
|
2838
|
-
if (render_options && render_options.chartOptions &&
|
|
2839
|
-
render_options.chartOptions.delta_column &&
|
|
2840
|
-
render_options.chartOptions.delta_column.field === 'series' &&
|
|
2841
|
-
render_options.chartOptions.delta_column.is_percentage) {
|
|
2842
|
-
has_variants_persentage = true;
|
|
2843
|
-
variant_name = render_options.chartOptions.delta_column.name;
|
|
2844
|
-
}
|
|
2845
|
-
|
|
2846
2987
|
return function (data, rowKey, colKey) {
|
|
2847
2988
|
return {
|
|
2848
2989
|
sum: 0,
|
|
@@ -2864,10 +3005,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2864
3005
|
this.formats = lodash.uniq(this.formats);
|
|
2865
3006
|
}
|
|
2866
3007
|
|
|
2867
|
-
if (
|
|
2868
|
-
|
|
2869
|
-
this.widget_values_format = "#,###%";
|
|
2870
|
-
}
|
|
3008
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3009
|
+
this.widget_values_format = "#,###%";
|
|
2871
3010
|
}
|
|
2872
3011
|
|
|
2873
3012
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -2987,17 +3126,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2987
3126
|
};
|
|
2988
3127
|
|
|
2989
3128
|
highchartsRenderer.rhPivotAggregatorSum = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
2990
|
-
var attr;
|
|
2991
|
-
attr = arg[0];
|
|
2992
|
-
var has_variants_persentage = false;
|
|
2993
|
-
var variant_name = '';
|
|
2994
|
-
if (render_options && render_options.chartOptions &&
|
|
2995
|
-
render_options.chartOptions.delta_column &&
|
|
2996
|
-
render_options.chartOptions.delta_column.field == "series" &&
|
|
2997
|
-
render_options.chartOptions.delta_column.is_percentage) {
|
|
2998
|
-
has_variants_persentage = true;
|
|
2999
|
-
variant_name = render_options.chartOptions.delta_column.name;
|
|
3000
|
-
}
|
|
3129
|
+
var attr = arg[0];
|
|
3001
3130
|
return function (data, rowKey, colKey) {
|
|
3002
3131
|
return {
|
|
3003
3132
|
sum: 0,
|
|
@@ -3030,10 +3159,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3030
3159
|
this.formats = lodash.uniq(this.formats);
|
|
3031
3160
|
}
|
|
3032
3161
|
|
|
3033
|
-
if (
|
|
3034
|
-
|
|
3035
|
-
this.widget_values_format = "#,###%";
|
|
3036
|
-
}
|
|
3162
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3163
|
+
this.widget_values_format = "#,###%";
|
|
3037
3164
|
}
|
|
3038
3165
|
|
|
3039
3166
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3087,17 +3214,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3087
3214
|
};
|
|
3088
3215
|
|
|
3089
3216
|
highchartsRenderer.rhPivotAggregatorMin = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
3090
|
-
var attr;
|
|
3091
|
-
attr = arg[0];
|
|
3092
|
-
var has_variants_persentage = false;
|
|
3093
|
-
var variant_name = '';
|
|
3094
|
-
if (render_options && render_options.chartOptions &&
|
|
3095
|
-
render_options.chartOptions.delta_column &&
|
|
3096
|
-
render_options.chartOptions.delta_column.field == "series" &&
|
|
3097
|
-
render_options.chartOptions.delta_column.is_percentage) {
|
|
3098
|
-
has_variants_persentage = true;
|
|
3099
|
-
variant_name = render_options.chartOptions.delta_column.name;
|
|
3100
|
-
}
|
|
3217
|
+
var attr = arg[0];
|
|
3101
3218
|
return function (data, rowKey, colKey) {
|
|
3102
3219
|
return {
|
|
3103
3220
|
val: null,
|
|
@@ -3131,10 +3248,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3131
3248
|
this.formats = lodash.uniq(this.formats);
|
|
3132
3249
|
}
|
|
3133
3250
|
|
|
3134
|
-
if (
|
|
3135
|
-
|
|
3136
|
-
this.widget_values_format = "#,###%";
|
|
3137
|
-
}
|
|
3251
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3252
|
+
this.widget_values_format = "#,###%";
|
|
3138
3253
|
}
|
|
3139
3254
|
|
|
3140
3255
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3185,17 +3300,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3185
3300
|
};
|
|
3186
3301
|
|
|
3187
3302
|
highchartsRenderer.rhPivotAggregatorMax = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
3188
|
-
var attr;
|
|
3189
|
-
attr = arg[0];
|
|
3190
|
-
var has_variants_persentage = false;
|
|
3191
|
-
var variant_name = '';
|
|
3192
|
-
if (render_options && render_options.chartOptions &&
|
|
3193
|
-
render_options.chartOptions.delta_column &&
|
|
3194
|
-
render_options.chartOptions.delta_column.field == "series" &&
|
|
3195
|
-
render_options.chartOptions.delta_column.is_percentage) {
|
|
3196
|
-
has_variants_persentage = true;
|
|
3197
|
-
variant_name = render_options.chartOptions.delta_column.name;
|
|
3198
|
-
}
|
|
3303
|
+
var attr = arg[0];
|
|
3199
3304
|
return function (data, rowKey, colKey) {
|
|
3200
3305
|
return {
|
|
3201
3306
|
val: null,
|
|
@@ -3229,10 +3334,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3229
3334
|
this.formats = lodash.uniq(this.formats);
|
|
3230
3335
|
}
|
|
3231
3336
|
|
|
3232
|
-
if (
|
|
3233
|
-
|
|
3234
|
-
this.widget_values_format = "#,###%";
|
|
3235
|
-
}
|
|
3337
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3338
|
+
this.widget_values_format = "#,###%";
|
|
3236
3339
|
}
|
|
3237
3340
|
|
|
3238
3341
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3283,17 +3386,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3283
3386
|
};
|
|
3284
3387
|
|
|
3285
3388
|
highchartsRenderer.rhPivotAggregatorAverage = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
3286
|
-
var attr;
|
|
3287
|
-
attr = arg[0];
|
|
3288
|
-
var has_variants_persentage = false;
|
|
3289
|
-
var variant_name = '';
|
|
3290
|
-
if (render_options && render_options.chartOptions &&
|
|
3291
|
-
render_options.chartOptions.delta_column &&
|
|
3292
|
-
render_options.chartOptions.delta_column.field == "series" &&
|
|
3293
|
-
render_options.chartOptions.delta_column.is_percentage) {
|
|
3294
|
-
has_variants_persentage = true;
|
|
3295
|
-
variant_name = render_options.chartOptions.delta_column.name;
|
|
3296
|
-
}
|
|
3389
|
+
var attr = arg[0];
|
|
3297
3390
|
return function (data, rowKey, colKey) {
|
|
3298
3391
|
return {
|
|
3299
3392
|
sum: 0,
|
|
@@ -3328,10 +3421,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3328
3421
|
this.formats = lodash.uniq(this.formats);
|
|
3329
3422
|
}
|
|
3330
3423
|
|
|
3331
|
-
if (
|
|
3332
|
-
|
|
3333
|
-
this.widget_values_format = "#,###%";
|
|
3334
|
-
}
|
|
3424
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3425
|
+
this.widget_values_format = "#,###%";
|
|
3335
3426
|
}
|
|
3336
3427
|
|
|
3337
3428
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3879,11 +3970,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3879
3970
|
pivotData.sorters = new_sorting_function;
|
|
3880
3971
|
}
|
|
3881
3972
|
|
|
3882
|
-
|
|
3883
|
-
result = highchartsRenderer.generateFilteredResult(totalFilters, optsFiltered, rowData, opts, pivotData);
|
|
3884
|
-
} else {
|
|
3885
|
-
result = opts.renderer(pivotData, opts.rendererOptions);
|
|
3886
|
-
}
|
|
3973
|
+
result = opts.renderer(pivotData, opts.rendererOptions);
|
|
3887
3974
|
} catch (_error) {
|
|
3888
3975
|
e = _error;
|
|
3889
3976
|
if (typeof console !== "undefined" && console !== null) {
|
|
@@ -4283,6 +4370,27 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4283
4370
|
delete options.chartOptions.label;
|
|
4284
4371
|
}
|
|
4285
4372
|
}
|
|
4373
|
+
|
|
4374
|
+
if (!options.comboOptions) {
|
|
4375
|
+
options.comboOptions = {
|
|
4376
|
+
secondaryAxisSettings: {
|
|
4377
|
+
name: 'Secondary Axis',
|
|
4378
|
+
max: null,
|
|
4379
|
+
min: null,
|
|
4380
|
+
is_percentage: false,
|
|
4381
|
+
},
|
|
4382
|
+
seriesOptions: []
|
|
4383
|
+
}
|
|
4384
|
+
if (options.chartOptions.delta_column && options.chartOptions.delta_column.field === 'series') {
|
|
4385
|
+
options.comboOptions.seriesOptions.push({
|
|
4386
|
+
series: options.chartOptions.delta_column.name,
|
|
4387
|
+
chartType: options.chartOptions.delta_column.chart,
|
|
4388
|
+
secondaryAxis: !options.chartOptions.delta_column.same_yaxis,
|
|
4389
|
+
});
|
|
4390
|
+
options.comboOptions.secondaryAxisSettings.name = options.chartOptions.delta_column.name.replace('_', '');
|
|
4391
|
+
options.comboOptions.secondaryAxisSettings.is_percentage = options.chartOptions.delta_column.is_percentage;
|
|
4392
|
+
}
|
|
4393
|
+
}
|
|
4286
4394
|
};
|
|
4287
4395
|
|
|
4288
4396
|
highchartsRenderer.addPivotOptions = function (selectedTemplateWOData, widgetOptions, drilldownFunction, drillDownListFunction) {
|
|
@@ -4888,6 +4996,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4888
4996
|
value_name: 'remove_underscores',
|
|
4889
4997
|
default_value: true
|
|
4890
4998
|
},
|
|
4999
|
+
{
|
|
5000
|
+
element_type: 'checkbox',
|
|
5001
|
+
element_label: 'Use big data table',
|
|
5002
|
+
value_name: 'use_handsOnTable',
|
|
5003
|
+
default_value: false
|
|
5004
|
+
},
|
|
4891
5005
|
{
|
|
4892
5006
|
element_type: 'checkbox',
|
|
4893
5007
|
element_label: 'Use new table design',
|
|
@@ -5412,7 +5526,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5412
5526
|
element_options: [
|
|
5413
5527
|
{label: 'Markers', value: ''},
|
|
5414
5528
|
{label: 'Line', value: 'line'},
|
|
5529
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5415
5530
|
{label: 'Column', value: 'column'},
|
|
5531
|
+
{label: 'Area', value: 'area'},
|
|
5532
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5416
5533
|
],
|
|
5417
5534
|
default_value: ''
|
|
5418
5535
|
}, {
|
|
@@ -5424,7 +5541,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5424
5541
|
element_type: 'checkbox',
|
|
5425
5542
|
element_label: 'Same yAxis',
|
|
5426
5543
|
value_name: 'same_yaxis',
|
|
5427
|
-
default_value: false
|
|
5544
|
+
default_value: false,
|
|
5545
|
+
hidden: true,
|
|
5428
5546
|
}, {
|
|
5429
5547
|
element_type: 'checkbox',
|
|
5430
5548
|
element_label: 'Same xAxis',
|
|
@@ -5434,17 +5552,20 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5434
5552
|
element_type: 'checkbox',
|
|
5435
5553
|
element_label: 'Percentage',
|
|
5436
5554
|
value_name: 'is_percentage',
|
|
5437
|
-
default_value: false
|
|
5555
|
+
default_value: false,
|
|
5556
|
+
hidden: true,
|
|
5438
5557
|
}, {
|
|
5439
5558
|
element_type: 'checkbox',
|
|
5440
5559
|
element_label: 'Sort by variance',
|
|
5441
5560
|
value_name: 'sort_by_variance',
|
|
5442
|
-
default_value: false
|
|
5561
|
+
default_value: false,
|
|
5562
|
+
hidden: true
|
|
5443
5563
|
}, {
|
|
5444
5564
|
element_type: 'checkbox',
|
|
5445
5565
|
element_label: 'Sort by absolute variance',
|
|
5446
5566
|
value_name: 'sort_by_absolute_variance',
|
|
5447
|
-
default_value: false
|
|
5567
|
+
default_value: false,
|
|
5568
|
+
hidden: true
|
|
5448
5569
|
}]
|
|
5449
5570
|
},
|
|
5450
5571
|
'delta_column_for_drill_down': {
|
|
@@ -5483,7 +5604,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5483
5604
|
element_options: [
|
|
5484
5605
|
{label: 'Markers', value: ''},
|
|
5485
5606
|
{label: 'Line', value: 'line'},
|
|
5607
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5486
5608
|
{label: 'Column', value: 'column'},
|
|
5609
|
+
{label: 'Area', value: 'area'},
|
|
5610
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5487
5611
|
],
|
|
5488
5612
|
default_value: ''
|
|
5489
5613
|
}, {
|
|
@@ -5495,7 +5619,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5495
5619
|
element_type: 'checkbox',
|
|
5496
5620
|
element_label: 'Same yAxis',
|
|
5497
5621
|
value_name: 'same_yaxis',
|
|
5498
|
-
default_value: false
|
|
5622
|
+
default_value: false,
|
|
5623
|
+
hidden: true,
|
|
5499
5624
|
}, {
|
|
5500
5625
|
element_type: 'checkbox',
|
|
5501
5626
|
element_label: 'Same xAxis',
|
|
@@ -5505,7 +5630,85 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5505
5630
|
element_type: 'checkbox',
|
|
5506
5631
|
element_label: 'Percentage',
|
|
5507
5632
|
value_name: 'is_percentage',
|
|
5633
|
+
default_value: false,
|
|
5634
|
+
hidden: true,
|
|
5635
|
+
}, {
|
|
5636
|
+
element_type: 'checkbox',
|
|
5637
|
+
element_label: 'Sort by variance',
|
|
5638
|
+
value_name: 'sort_by_variance',
|
|
5508
5639
|
default_value: false
|
|
5640
|
+
}, {
|
|
5641
|
+
element_type: 'checkbox',
|
|
5642
|
+
element_label: 'Sort by absolute variance',
|
|
5643
|
+
value_name: 'sort_by_absolute_variance',
|
|
5644
|
+
default_value: false
|
|
5645
|
+
}, {
|
|
5646
|
+
element_type: 'checkbox',
|
|
5647
|
+
element_label: 'Filter zero values',
|
|
5648
|
+
value_name: 'is_filter_zero',
|
|
5649
|
+
default_value: false
|
|
5650
|
+
}]
|
|
5651
|
+
},
|
|
5652
|
+
'delta_column_combo': {
|
|
5653
|
+
category_class: 'google-visualization-charteditor-mini-more',
|
|
5654
|
+
category_label: 'Variance',
|
|
5655
|
+
category_type: 'delta_column',
|
|
5656
|
+
elements: [{
|
|
5657
|
+
element_type: 'radio',
|
|
5658
|
+
value_name: 'field',
|
|
5659
|
+
element_label: 'Select Field',
|
|
5660
|
+
element_options: [
|
|
5661
|
+
{label: 'None', value: ''},
|
|
5662
|
+
{label: 'Axis', value: 'category'},
|
|
5663
|
+
{label: 'Legend', value: 'series'},
|
|
5664
|
+
],
|
|
5665
|
+
default_value: ''
|
|
5666
|
+
}, {
|
|
5667
|
+
element_type: 'input',
|
|
5668
|
+
value_name: 'name',
|
|
5669
|
+
element_label: 'Name',
|
|
5670
|
+
default_value: '_Variance'
|
|
5671
|
+
}, {
|
|
5672
|
+
element_type: 'input',
|
|
5673
|
+
value_name: 'formula',
|
|
5674
|
+
element_label: 'Formula',
|
|
5675
|
+
default_value: 'x2-x1'
|
|
5676
|
+
}, {
|
|
5677
|
+
hidden: true,
|
|
5678
|
+
element_type: 'radio',
|
|
5679
|
+
value_name: 'chart',
|
|
5680
|
+
element_label: 'Chart',
|
|
5681
|
+
element_options: [
|
|
5682
|
+
{label: 'Markers', value: ''},
|
|
5683
|
+
{label: 'Line', value: 'line'},
|
|
5684
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5685
|
+
{label: 'Column', value: 'column'},
|
|
5686
|
+
{label: 'Area', value: 'area'},
|
|
5687
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5688
|
+
],
|
|
5689
|
+
default_value: ''
|
|
5690
|
+
}, {
|
|
5691
|
+
element_type: 'checkbox',
|
|
5692
|
+
element_label: 'Only variance',
|
|
5693
|
+
value_name: 'only_variant',
|
|
5694
|
+
default_value: false
|
|
5695
|
+
}, {
|
|
5696
|
+
element_type: 'checkbox',
|
|
5697
|
+
element_label: 'Same yAxis',
|
|
5698
|
+
value_name: 'same_yaxis',
|
|
5699
|
+
default_value: false,
|
|
5700
|
+
hidden: true,
|
|
5701
|
+
}, {
|
|
5702
|
+
element_type: 'checkbox',
|
|
5703
|
+
element_label: 'Same xAxis',
|
|
5704
|
+
value_name: 'same_xaxis',
|
|
5705
|
+
default_value: false
|
|
5706
|
+
}, {
|
|
5707
|
+
element_type: 'checkbox',
|
|
5708
|
+
element_label: 'Percentage',
|
|
5709
|
+
value_name: 'is_percentage',
|
|
5710
|
+
default_value: false,
|
|
5711
|
+
hidden: true,
|
|
5509
5712
|
}, {
|
|
5510
5713
|
element_type: 'checkbox',
|
|
5511
5714
|
element_label: 'Sort by variance',
|
|
@@ -5516,6 +5719,85 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5516
5719
|
element_label: 'Sort by absolute variance',
|
|
5517
5720
|
value_name: 'sort_by_absolute_variance',
|
|
5518
5721
|
default_value: false
|
|
5722
|
+
}]
|
|
5723
|
+
},
|
|
5724
|
+
'delta_column_for_drill_down_combo': {
|
|
5725
|
+
category_class: 'google-visualization-charteditor-mini-more',
|
|
5726
|
+
category_label: 'Variance',
|
|
5727
|
+
category_type: 'delta_column',
|
|
5728
|
+
elements: [{
|
|
5729
|
+
element_type: 'radio',
|
|
5730
|
+
value_name: 'field',
|
|
5731
|
+
element_label: 'Select Field',
|
|
5732
|
+
element_options: [
|
|
5733
|
+
{label: 'None', value: ''},
|
|
5734
|
+
{label: 'Axis', value: 'category'},
|
|
5735
|
+
{label: 'Legend', value: 'series'},
|
|
5736
|
+
],
|
|
5737
|
+
default_value: ''
|
|
5738
|
+
}, {
|
|
5739
|
+
element_type: 'input',
|
|
5740
|
+
value_name: 'name',
|
|
5741
|
+
element_label: 'Name',
|
|
5742
|
+
default_value: '_Variance'
|
|
5743
|
+
}, {
|
|
5744
|
+
element_type: 'input',
|
|
5745
|
+
value_name: 'formula',
|
|
5746
|
+
element_label: 'Formula',
|
|
5747
|
+
default_value: 'x2-x1'
|
|
5748
|
+
}, {
|
|
5749
|
+
element_type: 'input',
|
|
5750
|
+
value_name: 'color',
|
|
5751
|
+
element_label: 'Color',
|
|
5752
|
+
default_value: ''
|
|
5753
|
+
}, {
|
|
5754
|
+
hidden: true,
|
|
5755
|
+
element_type: 'radio',
|
|
5756
|
+
value_name: 'chart',
|
|
5757
|
+
element_label: 'Chart',
|
|
5758
|
+
element_options: [
|
|
5759
|
+
{label: 'Markers', value: ''},
|
|
5760
|
+
{label: 'Line', value: 'line'},
|
|
5761
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5762
|
+
{label: 'Column', value: 'column'},
|
|
5763
|
+
{label: 'Area', value: 'area'},
|
|
5764
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5765
|
+
],
|
|
5766
|
+
default_value: ''
|
|
5767
|
+
}, {
|
|
5768
|
+
element_type: 'checkbox',
|
|
5769
|
+
element_label: 'Only variance',
|
|
5770
|
+
value_name: 'only_variant',
|
|
5771
|
+
default_value: false
|
|
5772
|
+
}, {
|
|
5773
|
+
element_type: 'checkbox',
|
|
5774
|
+
element_label: 'Same yAxis',
|
|
5775
|
+
value_name: 'same_yaxis',
|
|
5776
|
+
default_value: false,
|
|
5777
|
+
hidden: true,
|
|
5778
|
+
}, {
|
|
5779
|
+
element_type: 'checkbox',
|
|
5780
|
+
element_label: 'Same xAxis',
|
|
5781
|
+
value_name: 'same_xaxis',
|
|
5782
|
+
default_value: false
|
|
5783
|
+
}, {
|
|
5784
|
+
element_type: 'checkbox',
|
|
5785
|
+
element_label: 'Percentage',
|
|
5786
|
+
value_name: 'is_percentage',
|
|
5787
|
+
default_value: false,
|
|
5788
|
+
hidden: true,
|
|
5789
|
+
}, {
|
|
5790
|
+
element_type: 'checkbox',
|
|
5791
|
+
element_label: 'Sort by variance',
|
|
5792
|
+
value_name: 'sort_by_variance',
|
|
5793
|
+
default_value: false,
|
|
5794
|
+
hidden: true
|
|
5795
|
+
}, {
|
|
5796
|
+
element_type: 'checkbox',
|
|
5797
|
+
element_label: 'Sort by absolute variance',
|
|
5798
|
+
value_name: 'sort_by_absolute_variance',
|
|
5799
|
+
default_value: false,
|
|
5800
|
+
hidden: true
|
|
5519
5801
|
}, {
|
|
5520
5802
|
element_type: 'checkbox',
|
|
5521
5803
|
element_label: 'Filter zero values',
|
|
@@ -5580,6 +5862,39 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5580
5862
|
};
|
|
5581
5863
|
|
|
5582
5864
|
highchartsRenderer.chartsTypesInfo = {
|
|
5865
|
+
'combo-chart': {
|
|
5866
|
+
name: 'Column Combo Chart ',
|
|
5867
|
+
label: 'Column Combo Chart ',
|
|
5868
|
+
title: 'Allows for multiple chart display formats in one widget',
|
|
5869
|
+
description: 'For example, Revenue and Cost of goods sold as clomuns, and Gross margin as a line',
|
|
5870
|
+
axisName: 'X - Axis',
|
|
5871
|
+
legendName: 'Data series',
|
|
5872
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart',
|
|
5873
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5874
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts',
|
|
5875
|
+
},
|
|
5876
|
+
'combo-column-chart': {
|
|
5877
|
+
name: 'Column Combo Chart ',
|
|
5878
|
+
label: 'Column Chart',
|
|
5879
|
+
title: 'Allows for multiple chart display formats in one widget',
|
|
5880
|
+
description: 'For example, Revenue and Cost of goods sold as clomuns, and Gross margin as a line',
|
|
5881
|
+
axisName: 'X - Axis',
|
|
5882
|
+
legendName: 'Data series',
|
|
5883
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart.',
|
|
5884
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5885
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts.',
|
|
5886
|
+
},
|
|
5887
|
+
'combo-stacked-chart': {
|
|
5888
|
+
name: 'Stacked Column Combo Chart ',
|
|
5889
|
+
label: 'Stacked Column',
|
|
5890
|
+
title: 'Allows for multiple chart display formats in one widget.',
|
|
5891
|
+
description: 'For example, different department stacked clomuns, and average as a line.',
|
|
5892
|
+
axisName: 'X - Axis',
|
|
5893
|
+
legendName: 'Data series',
|
|
5894
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart.',
|
|
5895
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5896
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts.',
|
|
5897
|
+
},
|
|
5583
5898
|
'line-chart': {
|
|
5584
5899
|
name: 'Line chart',
|
|
5585
5900
|
label: 'Line Chart',
|
|
@@ -5809,6 +6124,53 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5809
6124
|
highchartsRenderer.suboptions["table_options_transpose"],
|
|
5810
6125
|
highchartsRenderer.suboptions["chart_grid"],
|
|
5811
6126
|
highchartsRenderer.suboptions["negative_number_format"],
|
|
6127
|
+
highchartsRenderer.suboptions["delta_column_combo"],
|
|
6128
|
+
highchartsRenderer.suboptions["error_policy"],
|
|
6129
|
+
highchartsRenderer.suboptions["from_version"],
|
|
6130
|
+
highchartsRenderer.suboptions["legends"],
|
|
6131
|
+
]
|
|
6132
|
+
}
|
|
6133
|
+
]
|
|
6134
|
+
},
|
|
6135
|
+
{
|
|
6136
|
+
type: 'combo',
|
|
6137
|
+
name: 'Combo',
|
|
6138
|
+
class: 'combo-chart',
|
|
6139
|
+
subtypes: [{
|
|
6140
|
+
type: 'combo-column-chart',
|
|
6141
|
+
name: highchartsRenderer.chartsTypesInfo['combo-column-chart'].name,
|
|
6142
|
+
class: 'combo-column-chart',
|
|
6143
|
+
render: highchartsRenderer.ptRenderColumn,
|
|
6144
|
+
suboptions: [
|
|
6145
|
+
highchartsRenderer.suboptions["default_show"],
|
|
6146
|
+
highchartsRenderer.suboptions["axisY"],
|
|
6147
|
+
highchartsRenderer.suboptions["axisX"],
|
|
6148
|
+
highchartsRenderer.suboptions["tooltips"],
|
|
6149
|
+
highchartsRenderer.suboptions["label"],
|
|
6150
|
+
highchartsRenderer.suboptions["subtitle"],
|
|
6151
|
+
highchartsRenderer.suboptions["table_options"],
|
|
6152
|
+
highchartsRenderer.suboptions["chart"],
|
|
6153
|
+
highchartsRenderer.suboptions["negative_number_format"],
|
|
6154
|
+
highchartsRenderer.suboptions["delta_column_for_drill_down_combo"],
|
|
6155
|
+
highchartsRenderer.suboptions["error_policy"],
|
|
6156
|
+
highchartsRenderer.suboptions["from_version"],
|
|
6157
|
+
highchartsRenderer.suboptions["legends"],
|
|
6158
|
+
],
|
|
6159
|
+
},
|
|
6160
|
+
{
|
|
6161
|
+
type: 'combo-stacked-chart',
|
|
6162
|
+
name: highchartsRenderer.chartsTypesInfo['combo-stacked-chart'].name,
|
|
6163
|
+
class: 'combo-stacked-chart',
|
|
6164
|
+
render: highchartsRenderer.ptRenderStackedColumn,
|
|
6165
|
+
suboptions: [
|
|
6166
|
+
highchartsRenderer.suboptions["default_show"],
|
|
6167
|
+
highchartsRenderer.suboptions["axisY"],
|
|
6168
|
+
highchartsRenderer.suboptions["axisX"],
|
|
6169
|
+
highchartsRenderer.suboptions["tooltips"],
|
|
6170
|
+
highchartsRenderer.suboptions["label_with_percentage"],
|
|
6171
|
+
highchartsRenderer.suboptions["subtitle"],
|
|
6172
|
+
highchartsRenderer.suboptions["table_options"],
|
|
6173
|
+
highchartsRenderer.suboptions["chart_grid"],
|
|
5812
6174
|
highchartsRenderer.suboptions["delta_column"],
|
|
5813
6175
|
highchartsRenderer.suboptions["error_policy"],
|
|
5814
6176
|
highchartsRenderer.suboptions["from_version"],
|
|
@@ -6715,6 +7077,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6715
7077
|
};
|
|
6716
7078
|
|
|
6717
7079
|
highchartsRenderer.setNewFieldNames = function (res) {
|
|
7080
|
+
if (useTotalsCalculation) {
|
|
7081
|
+
return res;
|
|
7082
|
+
}
|
|
7083
|
+
|
|
6718
7084
|
if (res && res[0] && res[0]['DR_Values']) {
|
|
6719
7085
|
lodash.forEach(res, function (item) {
|
|
6720
7086
|
item['DR_Values'] = highchartsRenderer.getFieldName(item['DR_Values']);
|
|
@@ -6728,7 +7094,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6728
7094
|
var datesFields = [];
|
|
6729
7095
|
datesFields = lodash.filter(widget.rows, element => element.type == 'Date');
|
|
6730
7096
|
datesFields = datesFields.concat(lodash.filter(widget.cols, element => element.type == 'Date'));
|
|
6731
|
-
|
|
7097
|
+
|
|
6732
7098
|
const isCustomSorting = widget.options.sortingFields && Array.isArray(widget.options.sortingFields) && widget.options.sortingFields.length > 0;
|
|
6733
7099
|
if (isCustomSorting) {
|
|
6734
7100
|
lodash.forEach(datesFields, function (field) {
|
|
@@ -6796,7 +7162,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6796
7162
|
"name": field.name,
|
|
6797
7163
|
"type": field.type,
|
|
6798
7164
|
"values": [],
|
|
6799
|
-
"sorting": field.sorting
|
|
7165
|
+
"sorting": field.sorting,
|
|
6800
7166
|
});
|
|
6801
7167
|
}
|
|
6802
7168
|
} else if (field.sorting && field.sorting.type == "CustomOrder" && field.sorting.values) {
|
|
@@ -6881,6 +7247,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6881
7247
|
if (field.sorting && field.sorting.type == "DateString") {
|
|
6882
7248
|
return $.pivotUtilities.sortDateStrings(field.sorting.month_order);
|
|
6883
7249
|
} else if (field.sorting && field.sorting.type == "largestToSmallest") {
|
|
7250
|
+
if (field.sorting.is_absolute)
|
|
7251
|
+
return $.pivotUtilities.largeToSmallSortByAbsolute;
|
|
7252
|
+
|
|
6884
7253
|
return $.pivotUtilities.largeToSmallSort;
|
|
6885
7254
|
} else {
|
|
6886
7255
|
return $.pivotUtilities.sortAs(field.values);
|
|
@@ -7088,7 +7457,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7088
7457
|
itemMarginTop: 2,
|
|
7089
7458
|
};
|
|
7090
7459
|
const none = {
|
|
7091
|
-
enabled: false,
|
|
7460
|
+
enabled: false,
|
|
7092
7461
|
};
|
|
7093
7462
|
|
|
7094
7463
|
if (additionOptions.legends_position && additionOptions.legends_position.value) {
|