@datarailsshared/dr_renderer 1.2.50 → 1.2.54
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 +80 -57
- package/src/highcharts_renderer.js +618 -162
- package/src/published_items_renderer.js +6 -8
|
@@ -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, chartType) {
|
|
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 && 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
|
+
})
|
|
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,9 +1217,9 @@ 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
|
-
} else {
|
|
1222
|
+
} else if (delta_column_options.chart == 'spline') {
|
|
1109
1223
|
series.type = 'spline';
|
|
1110
1224
|
series.lineWidth = 0;
|
|
1111
1225
|
series.lineColor = varianceColor;
|
|
@@ -1145,11 +1259,20 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1145
1259
|
}
|
|
1146
1260
|
};
|
|
1147
1261
|
}
|
|
1262
|
+
else if (delta_column_options.chart == 'area') {
|
|
1263
|
+
series.color = varianceColor;
|
|
1264
|
+
series.type = 'area'
|
|
1265
|
+
} else if (delta_column_options.chart == 'areaspline') {
|
|
1266
|
+
series.color = varianceColor;
|
|
1267
|
+
series.type = 'areaspline'
|
|
1268
|
+
} else if (delta_column_options.chart == 'scatter-chart') {
|
|
1269
|
+
series.color = varianceColor;
|
|
1270
|
+
series.type = 'scatter-chart'
|
|
1271
|
+
}
|
|
1148
1272
|
return series;
|
|
1149
1273
|
}
|
|
1150
1274
|
|
|
1151
|
-
|
|
1152
|
-
highchartsRenderer.ptCreateSeriesToDrillDownChart = function (pivotData) {
|
|
1275
|
+
highchartsRenderer.ptCreateSeriesToDrillDownChart = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1153
1276
|
var pie_series = [];
|
|
1154
1277
|
|
|
1155
1278
|
var col_n_keys = pivotData.getColKeys();
|
|
@@ -1180,13 +1303,15 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1180
1303
|
pie_series.push(ob);
|
|
1181
1304
|
});
|
|
1182
1305
|
|
|
1306
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(pie_series, pivotData, chartOptions, additionOptions, opts);
|
|
1307
|
+
|
|
1183
1308
|
return ([{
|
|
1184
1309
|
colorByPoint: true,
|
|
1185
1310
|
data: pie_series
|
|
1186
1311
|
}]);
|
|
1187
1312
|
};
|
|
1188
1313
|
|
|
1189
|
-
highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart = function (pivotData) {
|
|
1314
|
+
highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1190
1315
|
|
|
1191
1316
|
var pie_drill_down_series = [],
|
|
1192
1317
|
row_n_keys = pivotData.getRowKeys(),
|
|
@@ -1224,12 +1349,60 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1224
1349
|
}
|
|
1225
1350
|
});
|
|
1226
1351
|
|
|
1352
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded(pie_drill_down_series, pivotData, chartOptions, additionOptions, opts);
|
|
1227
1353
|
|
|
1228
1354
|
return ({
|
|
1229
1355
|
series: pie_drill_down_series
|
|
1230
1356
|
});
|
|
1231
1357
|
};
|
|
1232
1358
|
|
|
1359
|
+
highchartsRenderer.moveSeriesToSecondYAxisIfNeeded = function(chartSeries, pivotData, chartOptions, additionOptions, opts) {
|
|
1360
|
+
if (!opts || !opts.comboOptions) {
|
|
1361
|
+
return;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
let addSecondYAxis = false;
|
|
1365
|
+
lodash.forEach(chartSeries, function (series) {
|
|
1366
|
+
let sOptions = lodash.find(opts.comboOptions.seriesOptions, function(sOptions) {
|
|
1367
|
+
return sOptions.series === series.name || sOptions.series.replace('_', '') === series.name
|
|
1368
|
+
});
|
|
1369
|
+
if (sOptions && sOptions.secondaryAxis) {
|
|
1370
|
+
series.yAxis = 1;
|
|
1371
|
+
addSecondYAxis = true;
|
|
1372
|
+
}
|
|
1373
|
+
});
|
|
1374
|
+
|
|
1375
|
+
if (addSecondYAxis) {
|
|
1376
|
+
highchartsRenderer.addSecondYAxis(pivotData, chartOptions, additionOptions, opts);
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
highchartsRenderer.addSecondYAxis = function (pivotData, chartOptions, additionOptions, opts) {
|
|
1381
|
+
const varianceColor = (additionOptions && additionOptions.delta_column.color) || (highchartsRenderer && highchartsRenderer.variance_color) || Highcharts.getOptions().colors[7];
|
|
1382
|
+
let labels_formatter = opts.comboOptions.secondaryAxisSettings.is_percentage ?
|
|
1383
|
+
highchartsRenderer.persantageValueLabelsFormatter(pivotData, opts) :
|
|
1384
|
+
highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts);
|
|
1385
|
+
|
|
1386
|
+
chartOptions.yAxis = [chartOptions.yAxis];
|
|
1387
|
+
chartOptions.yAxis[1] = {
|
|
1388
|
+
min: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.min)) ? opts.comboOptions.secondaryAxisSettings.min : null,
|
|
1389
|
+
max: !isNaN(parseInt(opts.comboOptions.secondaryAxisSettings.max)) ? opts.comboOptions.secondaryAxisSettings.max : null,
|
|
1390
|
+
title: {
|
|
1391
|
+
text: opts.comboOptions.secondaryAxisSettings.name,
|
|
1392
|
+
style: {
|
|
1393
|
+
color: varianceColor
|
|
1394
|
+
}
|
|
1395
|
+
},
|
|
1396
|
+
labels: {
|
|
1397
|
+
formatter: labels_formatter,
|
|
1398
|
+
style: {
|
|
1399
|
+
color: varianceColor
|
|
1400
|
+
}
|
|
1401
|
+
},
|
|
1402
|
+
opposite: true
|
|
1403
|
+
}
|
|
1404
|
+
};
|
|
1405
|
+
|
|
1233
1406
|
highchartsRenderer.ptRenderBasicPie = function (pivotData, opts) {
|
|
1234
1407
|
var chartOptions = {};
|
|
1235
1408
|
var additionOptions = opts.chartOptions ? opts.chartOptions : highchartsRenderer.getDefaultValueForChart('pie-chart');
|
|
@@ -1409,7 +1582,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1409
1582
|
}
|
|
1410
1583
|
|
|
1411
1584
|
chartOptions.xAxis = {categories: pivotData.getColKeys()};
|
|
1412
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true);
|
|
1585
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, null, null, opts, chartOptions);
|
|
1413
1586
|
|
|
1414
1587
|
var total = [];
|
|
1415
1588
|
lodash.forEach(chartOptions.series, function (obj) {
|
|
@@ -1550,7 +1723,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1550
1723
|
|
|
1551
1724
|
|
|
1552
1725
|
chartOptions.xAxis = {categories: pivotData.getColKeys()};
|
|
1553
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true);
|
|
1726
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, null, null, opts, chartOptions);
|
|
1554
1727
|
|
|
1555
1728
|
var total = [];
|
|
1556
1729
|
lodash.forEach(chartOptions.series, function (obj) {
|
|
@@ -1644,7 +1817,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1644
1817
|
};
|
|
1645
1818
|
var uniqueVals = kpioptions.value.value == "Unique";
|
|
1646
1819
|
|
|
1647
|
-
let temp_series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, uniqueVals);
|
|
1820
|
+
let temp_series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, true, uniqueVals, null, opts, chartOptions);
|
|
1648
1821
|
|
|
1649
1822
|
var total = [];
|
|
1650
1823
|
lodash.forEach(temp_series, function (obj) {
|
|
@@ -1764,12 +1937,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1764
1937
|
if (useNewUx) {
|
|
1765
1938
|
chartOptions.tooltip.borderColor = '#fff';
|
|
1766
1939
|
}
|
|
1767
|
-
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData);
|
|
1940
|
+
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData, chartOptions, additionOptions, opts);
|
|
1768
1941
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 1, false, true);
|
|
1769
1942
|
if (drilldownFunc)
|
|
1770
1943
|
chartOptions.drilldown = {}
|
|
1771
1944
|
else
|
|
1772
|
-
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData);
|
|
1945
|
+
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData, chartOptions, additionOptions, opts);
|
|
1773
1946
|
|
|
1774
1947
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
1775
1948
|
|
|
@@ -1826,7 +1999,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1826
1999
|
formatter: highchartsRenderer.defaultValueLabelsFormatter(pivotData, opts)
|
|
1827
2000
|
}
|
|
1828
2001
|
};
|
|
1829
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
1830
2002
|
|
|
1831
2003
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
1832
2004
|
|
|
@@ -1871,7 +2043,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1871
2043
|
}
|
|
1872
2044
|
};
|
|
1873
2045
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
1874
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions);
|
|
2046
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
|
1875
2047
|
|
|
1876
2048
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
1877
2049
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
@@ -1902,8 +2074,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1902
2074
|
}
|
|
1903
2075
|
};
|
|
1904
2076
|
|
|
1905
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
1906
|
-
|
|
1907
2077
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
1908
2078
|
|
|
1909
2079
|
chartOptions.plotOptions = {
|
|
@@ -1950,7 +2120,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1950
2120
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
1951
2121
|
|
|
1952
2122
|
var colors = ['#ff0202', '#b3060e', '#70000a'];
|
|
1953
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, colors, null, null, additionOptions);
|
|
2123
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, colors, null, null, additionOptions, opts, chartOptions);
|
|
1954
2124
|
|
|
1955
2125
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
1956
2126
|
|
|
@@ -1972,34 +2142,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1972
2142
|
|
|
1973
2143
|
}
|
|
1974
2144
|
|
|
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
2145
|
highchartsRenderer.ptRenderSpLine = function (pivotData, opts) {
|
|
2004
2146
|
var chartOptions = {};
|
|
2005
2147
|
var rowAttrs = pivotData.rowAttrs;
|
|
@@ -2025,8 +2167,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2025
2167
|
}
|
|
2026
2168
|
};
|
|
2027
2169
|
|
|
2028
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
2029
|
-
|
|
2030
2170
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, true);
|
|
2031
2171
|
|
|
2032
2172
|
chartOptions.plotOptions = {
|
|
@@ -2068,7 +2208,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2068
2208
|
}
|
|
2069
2209
|
};
|
|
2070
2210
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2071
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions);
|
|
2211
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
|
2072
2212
|
|
|
2073
2213
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2074
2214
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
@@ -2116,7 +2256,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2116
2256
|
}
|
|
2117
2257
|
};
|
|
2118
2258
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2119
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2259
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2120
2260
|
|
|
2121
2261
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2122
2262
|
|
|
@@ -2213,14 +2353,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2213
2353
|
},
|
|
2214
2354
|
lineWidth: 0
|
|
2215
2355
|
};
|
|
2216
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2356
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2217
2357
|
|
|
2218
2358
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
|
|
2219
2359
|
|
|
2220
2360
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
2221
2361
|
};
|
|
2222
2362
|
|
|
2223
|
-
highchartsRenderer.ptRenderColumn = function (pivotData, opts, drilldownFunc) {
|
|
2363
|
+
highchartsRenderer.ptRenderColumn = function (pivotData, opts, drilldownFunc, chartType) {
|
|
2224
2364
|
var chartOptions = {};
|
|
2225
2365
|
var rowAttrs = pivotData.rowAttrs;
|
|
2226
2366
|
var colAttrs = pivotData.colAttrs;
|
|
@@ -2275,8 +2415,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2275
2415
|
}
|
|
2276
2416
|
};
|
|
2277
2417
|
|
|
2278
|
-
highchartsRenderer.addSecondYAxisIfNeed(pivotData, chartOptions, additionOptions, opts);
|
|
2279
|
-
|
|
2280
2418
|
chartOptions.tooltip = {
|
|
2281
2419
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
2282
2420
|
shadow: highchartsRenderer.tooltipShadow,
|
|
@@ -2290,7 +2428,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2290
2428
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
|
2291
2429
|
|
|
2292
2430
|
var isNotDrilldown = !(colAttrs && colAttrs.length > 1);
|
|
2293
|
-
|
|
2431
|
+
if (lodash.get(opts, 'paletteOptions.widgetPalette', null)) {
|
|
2432
|
+
const mc_palette = lodash.find(lodash.get(opts.paletteOptions, 'monochromePalettes', []), { selected: true });
|
|
2433
|
+
chartOptions.colors = mc_palette ? mc_palette.colors : opts.paletteOptions.widgetPalette;
|
|
2434
|
+
} else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
|
|
2435
|
+
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
2436
|
+
}
|
|
2437
|
+
chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, null, isNotDrilldown, additionOptions, opts, chartOptions, chartType);
|
|
2294
2438
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2295
2439
|
chartOptions.plotOptions = {
|
|
2296
2440
|
column: {
|
|
@@ -2327,7 +2471,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2327
2471
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
2328
2472
|
};
|
|
2329
2473
|
|
|
2330
|
-
highchartsRenderer.ptRenderStackedColumn = function (pivotData, opts, drilldownFunc) {
|
|
2474
|
+
highchartsRenderer.ptRenderStackedColumn = function (pivotData, opts, drilldownFunc, chartType) {
|
|
2331
2475
|
var chartOptions = {};
|
|
2332
2476
|
var rowAttrs = pivotData.rowAttrs;
|
|
2333
2477
|
var additionOptions = opts.chartOptions ? opts.chartOptions : highchartsRenderer.getDefaultValueForChart('column-chart-stacked');
|
|
@@ -2458,7 +2602,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2458
2602
|
};
|
|
2459
2603
|
//chartOptions.xAxis = { categories: pivotData.getColKeys() };
|
|
2460
2604
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2461
|
-
|
|
2605
|
+
if (lodash.get(opts, 'paletteOptions.widgetPalette', null)) {
|
|
2606
|
+
const mc_palette = lodash.find(lodash.get(opts.paletteOptions, 'monochromePalettes', []), { selected: true });
|
|
2607
|
+
chartOptions.colors = mc_palette ? mc_palette.colors : opts.paletteOptions.widgetPalette;
|
|
2608
|
+
} else if (lodash.get(opts, 'paletteOptions.dashboardPalette.colors', null)) {
|
|
2609
|
+
chartOptions.colors = opts.paletteOptions.dashboardPalette.colors;
|
|
2610
|
+
}
|
|
2611
|
+
chartOptions.series = highchartsRenderer.ptCreateColumnSeries(pivotData, chartOptions.colors, null, true, true, null, opts, chartOptions, chartType);
|
|
2462
2612
|
//chartOptions.drilldown = {}
|
|
2463
2613
|
|
|
2464
2614
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
@@ -2535,11 +2685,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2535
2685
|
|
|
2536
2686
|
chartOptions.xAxis = {type: 'category'};
|
|
2537
2687
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2538
|
-
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData);
|
|
2688
|
+
chartOptions.series = highchartsRenderer.ptCreateSeriesToDrillDownChart(pivotData, chartOptions, additionOptions, opts);
|
|
2539
2689
|
//if (drilldownFunc)
|
|
2540
2690
|
// chartOptions.drilldown = {}
|
|
2541
2691
|
//else
|
|
2542
|
-
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData);
|
|
2692
|
+
chartOptions.drilldown = highchartsRenderer.ptCreateDrillDownSeriesToDrilldownChart(pivotData, chartOptions, additionOptions, opts);
|
|
2543
2693
|
|
|
2544
2694
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2545
2695
|
|
|
@@ -2610,7 +2760,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2610
2760
|
}
|
|
2611
2761
|
};
|
|
2612
2762
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2613
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2763
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2614
2764
|
|
|
2615
2765
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2616
2766
|
|
|
@@ -2724,7 +2874,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2724
2874
|
}
|
|
2725
2875
|
};
|
|
2726
2876
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
|
2727
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData);
|
|
2877
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, null, opts, chartOptions);
|
|
2728
2878
|
|
|
2729
2879
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
|
2730
2880
|
|
|
@@ -2813,6 +2963,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2813
2963
|
return format;
|
|
2814
2964
|
}
|
|
2815
2965
|
|
|
2966
|
+
highchartsRenderer.isRowKeyShouldBePercentage = function(render_options, rowKey) {
|
|
2967
|
+
if (render_options && render_options.comboOptions && render_options.comboOptions.secondaryAxisSettings &&
|
|
2968
|
+
render_options.comboOptions.secondaryAxisSettings.is_percentage) {
|
|
2969
|
+
const rowKeyString = rowKey.join(highchartsRenderer.delimer);
|
|
2970
|
+
const rowKeyOptions = lodash.find(render_options.comboOptions.seriesOptions, {series: rowKeyString});
|
|
2971
|
+
if (rowKeyOptions && rowKeyOptions.secondaryAxis) {
|
|
2972
|
+
return true;
|
|
2973
|
+
}
|
|
2974
|
+
}
|
|
2975
|
+
return false;
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2816
2978
|
highchartsRenderer.ignoreIfCalculatedValue = function(data, rowKey, colKey, record, associatedFields, renderOptions, isGraph) {
|
|
2817
2979
|
var eliminate = renderOptions && renderOptions.chartOptions && renderOptions.chartOptions.table_options &&
|
|
2818
2980
|
renderOptions.chartOptions.table_options.eliminate_calc_totals && !_.isEmpty(associatedFields) && !isGraph;
|
|
@@ -2832,17 +2994,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2832
2994
|
|
|
2833
2995
|
highchartsRenderer.rhPivotCount = function (arg, widget_values_format, is_graph, render_options, calculated_info) {
|
|
2834
2996
|
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
2997
|
return function (data, rowKey, colKey) {
|
|
2847
2998
|
return {
|
|
2848
2999
|
sum: 0,
|
|
@@ -2864,10 +3015,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2864
3015
|
this.formats = lodash.uniq(this.formats);
|
|
2865
3016
|
}
|
|
2866
3017
|
|
|
2867
|
-
if (
|
|
2868
|
-
|
|
2869
|
-
this.widget_values_format = "#,###%";
|
|
2870
|
-
}
|
|
3018
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3019
|
+
this.widget_values_format = "#,###%";
|
|
2871
3020
|
}
|
|
2872
3021
|
|
|
2873
3022
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -2987,17 +3136,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2987
3136
|
};
|
|
2988
3137
|
|
|
2989
3138
|
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
|
-
}
|
|
3139
|
+
var attr = arg[0];
|
|
3001
3140
|
return function (data, rowKey, colKey) {
|
|
3002
3141
|
return {
|
|
3003
3142
|
sum: 0,
|
|
@@ -3030,10 +3169,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3030
3169
|
this.formats = lodash.uniq(this.formats);
|
|
3031
3170
|
}
|
|
3032
3171
|
|
|
3033
|
-
if (
|
|
3034
|
-
|
|
3035
|
-
this.widget_values_format = "#,###%";
|
|
3036
|
-
}
|
|
3172
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3173
|
+
this.widget_values_format = "#,###%";
|
|
3037
3174
|
}
|
|
3038
3175
|
|
|
3039
3176
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3087,17 +3224,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3087
3224
|
};
|
|
3088
3225
|
|
|
3089
3226
|
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
|
-
}
|
|
3227
|
+
var attr = arg[0];
|
|
3101
3228
|
return function (data, rowKey, colKey) {
|
|
3102
3229
|
return {
|
|
3103
3230
|
val: null,
|
|
@@ -3131,10 +3258,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3131
3258
|
this.formats = lodash.uniq(this.formats);
|
|
3132
3259
|
}
|
|
3133
3260
|
|
|
3134
|
-
if (
|
|
3135
|
-
|
|
3136
|
-
this.widget_values_format = "#,###%";
|
|
3137
|
-
}
|
|
3261
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3262
|
+
this.widget_values_format = "#,###%";
|
|
3138
3263
|
}
|
|
3139
3264
|
|
|
3140
3265
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3185,17 +3310,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3185
3310
|
};
|
|
3186
3311
|
|
|
3187
3312
|
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
|
-
}
|
|
3313
|
+
var attr = arg[0];
|
|
3199
3314
|
return function (data, rowKey, colKey) {
|
|
3200
3315
|
return {
|
|
3201
3316
|
val: null,
|
|
@@ -3229,10 +3344,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3229
3344
|
this.formats = lodash.uniq(this.formats);
|
|
3230
3345
|
}
|
|
3231
3346
|
|
|
3232
|
-
if (
|
|
3233
|
-
|
|
3234
|
-
this.widget_values_format = "#,###%";
|
|
3235
|
-
}
|
|
3347
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3348
|
+
this.widget_values_format = "#,###%";
|
|
3236
3349
|
}
|
|
3237
3350
|
|
|
3238
3351
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3283,17 +3396,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3283
3396
|
};
|
|
3284
3397
|
|
|
3285
3398
|
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
|
-
}
|
|
3399
|
+
var attr = arg[0];
|
|
3297
3400
|
return function (data, rowKey, colKey) {
|
|
3298
3401
|
return {
|
|
3299
3402
|
sum: 0,
|
|
@@ -3328,10 +3431,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3328
3431
|
this.formats = lodash.uniq(this.formats);
|
|
3329
3432
|
}
|
|
3330
3433
|
|
|
3331
|
-
if (
|
|
3332
|
-
|
|
3333
|
-
this.widget_values_format = "#,###%";
|
|
3334
|
-
}
|
|
3434
|
+
if (highchartsRenderer.isRowKeyShouldBePercentage(render_options, rowKey)) {
|
|
3435
|
+
this.widget_values_format = "#,###%";
|
|
3335
3436
|
}
|
|
3336
3437
|
|
|
3337
3438
|
if (highchartsRenderer.ignoreIfCalculatedValue(data, rowKey, colKey, record, calculated_info.associated_fields, render_options, is_graph)) {
|
|
@@ -3879,11 +3980,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3879
3980
|
pivotData.sorters = new_sorting_function;
|
|
3880
3981
|
}
|
|
3881
3982
|
|
|
3882
|
-
|
|
3883
|
-
result = highchartsRenderer.generateFilteredResult(totalFilters, optsFiltered, rowData, opts, pivotData);
|
|
3884
|
-
} else {
|
|
3885
|
-
result = opts.renderer(pivotData, opts.rendererOptions);
|
|
3886
|
-
}
|
|
3983
|
+
result = opts.renderer(pivotData, opts.rendererOptions);
|
|
3887
3984
|
} catch (_error) {
|
|
3888
3985
|
e = _error;
|
|
3889
3986
|
if (typeof console !== "undefined" && console !== null) {
|
|
@@ -4283,6 +4380,50 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4283
4380
|
delete options.chartOptions.label;
|
|
4284
4381
|
}
|
|
4285
4382
|
}
|
|
4383
|
+
|
|
4384
|
+
if (!options.comboOptions) {
|
|
4385
|
+
options.comboOptions = {
|
|
4386
|
+
secondaryAxisSettings: {
|
|
4387
|
+
name: 'Secondary Axis',
|
|
4388
|
+
max: null,
|
|
4389
|
+
min: null,
|
|
4390
|
+
is_percentage: false,
|
|
4391
|
+
},
|
|
4392
|
+
seriesOptions: []
|
|
4393
|
+
}
|
|
4394
|
+
if (options.chartOptions.delta_column && options.chartOptions.delta_column.field === 'series') {
|
|
4395
|
+
let deltaColumnSeries = {
|
|
4396
|
+
series: options.chartOptions.delta_column.name,
|
|
4397
|
+
secondaryAxis: !options.chartOptions.delta_column.same_yaxis,
|
|
4398
|
+
};
|
|
4399
|
+
switch (options.chartOptions.delta_column.chart) {
|
|
4400
|
+
case 'line':
|
|
4401
|
+
deltaColumnSeries.chartType = 'line-chart';
|
|
4402
|
+
break;
|
|
4403
|
+
case 'spline':
|
|
4404
|
+
deltaColumnSeries.chartType = 'line-chart-smooth';
|
|
4405
|
+
break;
|
|
4406
|
+
case 'area':
|
|
4407
|
+
deltaColumnSeries.chartType = 'area-chart';
|
|
4408
|
+
break;
|
|
4409
|
+
case 'areaspline':
|
|
4410
|
+
deltaColumnSeries.chartType = 'area-chart-smooth';
|
|
4411
|
+
break;
|
|
4412
|
+
case 'scatter':
|
|
4413
|
+
deltaColumnSeries.chartType = 'scatter-chart';
|
|
4414
|
+
break;
|
|
4415
|
+
case 'column':
|
|
4416
|
+
deltaColumnSeries.chartType = 'column-chart';
|
|
4417
|
+
break;
|
|
4418
|
+
default:
|
|
4419
|
+
deltaColumnSeries.chartType = 'scatter-chart';
|
|
4420
|
+
break;
|
|
4421
|
+
}
|
|
4422
|
+
options.comboOptions.seriesOptions.push(deltaColumnSeries);
|
|
4423
|
+
options.comboOptions.secondaryAxisSettings.name = options.chartOptions.delta_column.name.replace('_', '');
|
|
4424
|
+
options.comboOptions.secondaryAxisSettings.is_percentage = options.chartOptions.delta_column.is_percentage;
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
4286
4427
|
};
|
|
4287
4428
|
|
|
4288
4429
|
highchartsRenderer.addPivotOptions = function (selectedTemplateWOData, widgetOptions, drilldownFunction, drillDownListFunction) {
|
|
@@ -4390,6 +4531,60 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4390
4531
|
exTableOptions.pivot.calculatedValues = highchartsRenderer.objectCopyJsonMethod(exTableOptions.calculated_values || []);
|
|
4391
4532
|
};
|
|
4392
4533
|
|
|
4534
|
+
highchartsRenderer.addTemplateDataToDynamicRangeOptions = function (selectedTemplate, dynamicRangeOptions) {
|
|
4535
|
+
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
4536
|
+
|
|
4537
|
+
var fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplate.widget_fields);
|
|
4538
|
+
var fieldOb;
|
|
4539
|
+
var filterFields = [];
|
|
4540
|
+
var selectedFields = [];
|
|
4541
|
+
|
|
4542
|
+
lodash.forEach(dynamicRangeOptions.filters, function (filterObj) {
|
|
4543
|
+
fieldOb = lodash.find(fields, {id: filterObj.field});
|
|
4544
|
+
if (fieldOb && filterObj.values && filterObj.values.datetype && filterObj.values.datetype === 'list') {
|
|
4545
|
+
filterObj.values = filterObj.values.val
|
|
4546
|
+
} else if (fieldOb && filterObj.values && filterObj.values.datetype && filterObj.values.datetype !== 'list') {
|
|
4547
|
+
fieldOb.values = filterObj.values;
|
|
4548
|
+
} else if (fieldOb && filterObj.values && filterObj.values.type === 'advanced') {
|
|
4549
|
+
fieldOb.values = filterObj.values;
|
|
4550
|
+
}
|
|
4551
|
+
if (fieldOb && filterObj.values && filterObj.values instanceof Array) {
|
|
4552
|
+
if (filterObj.is_excluded == true) {
|
|
4553
|
+
fieldOb.excludes = filterObj.values;
|
|
4554
|
+
} else {
|
|
4555
|
+
fieldOb.includes = filterObj.values;
|
|
4556
|
+
}
|
|
4557
|
+
}
|
|
4558
|
+
if (filterObj.allow_nulls && fieldOb) {
|
|
4559
|
+
fieldOb.allow_nulls = filterObj.allow_nulls;
|
|
4560
|
+
}
|
|
4561
|
+
});
|
|
4562
|
+
|
|
4563
|
+
// fill selected fields
|
|
4564
|
+
lodash.forEach(dynamicRangeOptions.fields, function (valObj) {
|
|
4565
|
+
fieldOb = lodash.find(fields, {id: valObj.field});
|
|
4566
|
+
if (fieldOb) {
|
|
4567
|
+
selectedFields.push(fieldOb);
|
|
4568
|
+
lodash.remove(fields, {id: fieldOb.id});
|
|
4569
|
+
}
|
|
4570
|
+
});
|
|
4571
|
+
|
|
4572
|
+
// fill filter fields
|
|
4573
|
+
lodash.forEach(dynamicRangeOptions.filters, function (valObj) {
|
|
4574
|
+
fieldOb = lodash.find(fields, {id: valObj.field});
|
|
4575
|
+
if (fieldOb) {
|
|
4576
|
+
filterFields.push(fieldOb);
|
|
4577
|
+
lodash.remove(fields, {id: fieldOb.id});
|
|
4578
|
+
}
|
|
4579
|
+
});
|
|
4580
|
+
|
|
4581
|
+
dynamicRangeOptions.pivot = {};
|
|
4582
|
+
dynamicRangeOptions.pivot.fieldsArray = fields;
|
|
4583
|
+
dynamicRangeOptions.pivot.selectedFieldsArray = selectedFields;
|
|
4584
|
+
dynamicRangeOptions.pivot.filtersArray = filterFields;
|
|
4585
|
+
dynamicRangeOptions.pivot.calculatedValues = highchartsRenderer.objectCopyJsonMethod(dynamicRangeOptions.calculated_values || []);
|
|
4586
|
+
}
|
|
4587
|
+
|
|
4393
4588
|
highchartsRenderer.addTemplateDataToFunctionOptions = function (selectedTemplate, functionOptions) {
|
|
4394
4589
|
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
4395
4590
|
|
|
@@ -4834,6 +5029,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4834
5029
|
value_name: 'remove_underscores',
|
|
4835
5030
|
default_value: true
|
|
4836
5031
|
},
|
|
5032
|
+
{
|
|
5033
|
+
element_type: 'checkbox',
|
|
5034
|
+
element_label: 'Use big data table',
|
|
5035
|
+
value_name: 'use_handsOnTable',
|
|
5036
|
+
default_value: false
|
|
5037
|
+
},
|
|
4837
5038
|
{
|
|
4838
5039
|
element_type: 'checkbox',
|
|
4839
5040
|
element_label: 'Use new table design',
|
|
@@ -5358,7 +5559,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5358
5559
|
element_options: [
|
|
5359
5560
|
{label: 'Markers', value: ''},
|
|
5360
5561
|
{label: 'Line', value: 'line'},
|
|
5562
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5361
5563
|
{label: 'Column', value: 'column'},
|
|
5564
|
+
{label: 'Area', value: 'area'},
|
|
5565
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5362
5566
|
],
|
|
5363
5567
|
default_value: ''
|
|
5364
5568
|
}, {
|
|
@@ -5370,7 +5574,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5370
5574
|
element_type: 'checkbox',
|
|
5371
5575
|
element_label: 'Same yAxis',
|
|
5372
5576
|
value_name: 'same_yaxis',
|
|
5373
|
-
default_value: false
|
|
5577
|
+
default_value: false,
|
|
5578
|
+
hidden: true,
|
|
5374
5579
|
}, {
|
|
5375
5580
|
element_type: 'checkbox',
|
|
5376
5581
|
element_label: 'Same xAxis',
|
|
@@ -5380,17 +5585,20 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5380
5585
|
element_type: 'checkbox',
|
|
5381
5586
|
element_label: 'Percentage',
|
|
5382
5587
|
value_name: 'is_percentage',
|
|
5383
|
-
default_value: false
|
|
5588
|
+
default_value: false,
|
|
5589
|
+
hidden: true,
|
|
5384
5590
|
}, {
|
|
5385
5591
|
element_type: 'checkbox',
|
|
5386
5592
|
element_label: 'Sort by variance',
|
|
5387
5593
|
value_name: 'sort_by_variance',
|
|
5388
|
-
default_value: false
|
|
5594
|
+
default_value: false,
|
|
5595
|
+
hidden: true
|
|
5389
5596
|
}, {
|
|
5390
5597
|
element_type: 'checkbox',
|
|
5391
5598
|
element_label: 'Sort by absolute variance',
|
|
5392
5599
|
value_name: 'sort_by_absolute_variance',
|
|
5393
|
-
default_value: false
|
|
5600
|
+
default_value: false,
|
|
5601
|
+
hidden: true
|
|
5394
5602
|
}]
|
|
5395
5603
|
},
|
|
5396
5604
|
'delta_column_for_drill_down': {
|
|
@@ -5429,7 +5637,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5429
5637
|
element_options: [
|
|
5430
5638
|
{label: 'Markers', value: ''},
|
|
5431
5639
|
{label: 'Line', value: 'line'},
|
|
5640
|
+
{label: 'Smooth Line', value: 'spline'},
|
|
5432
5641
|
{label: 'Column', value: 'column'},
|
|
5642
|
+
{label: 'Area', value: 'area'},
|
|
5643
|
+
{label: 'Smooth Area', value: 'areaspline'},
|
|
5433
5644
|
],
|
|
5434
5645
|
default_value: ''
|
|
5435
5646
|
}, {
|
|
@@ -5441,7 +5652,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5441
5652
|
element_type: 'checkbox',
|
|
5442
5653
|
element_label: 'Same yAxis',
|
|
5443
5654
|
value_name: 'same_yaxis',
|
|
5444
|
-
default_value: false
|
|
5655
|
+
default_value: false,
|
|
5656
|
+
hidden: true,
|
|
5445
5657
|
}, {
|
|
5446
5658
|
element_type: 'checkbox',
|
|
5447
5659
|
element_label: 'Same xAxis',
|
|
@@ -5451,7 +5663,85 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5451
5663
|
element_type: 'checkbox',
|
|
5452
5664
|
element_label: 'Percentage',
|
|
5453
5665
|
value_name: 'is_percentage',
|
|
5666
|
+
default_value: false,
|
|
5667
|
+
hidden: true,
|
|
5668
|
+
}, {
|
|
5669
|
+
element_type: 'checkbox',
|
|
5670
|
+
element_label: 'Sort by variance',
|
|
5671
|
+
value_name: 'sort_by_variance',
|
|
5454
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,
|
|
5455
5745
|
}, {
|
|
5456
5746
|
element_type: 'checkbox',
|
|
5457
5747
|
element_label: 'Sort by variance',
|
|
@@ -5462,6 +5752,85 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5462
5752
|
element_label: 'Sort by absolute variance',
|
|
5463
5753
|
value_name: 'sort_by_absolute_variance',
|
|
5464
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
|
+
}, {
|
|
5823
|
+
element_type: 'checkbox',
|
|
5824
|
+
element_label: 'Sort by variance',
|
|
5825
|
+
value_name: 'sort_by_variance',
|
|
5826
|
+
default_value: false,
|
|
5827
|
+
hidden: true
|
|
5828
|
+
}, {
|
|
5829
|
+
element_type: 'checkbox',
|
|
5830
|
+
element_label: 'Sort by absolute variance',
|
|
5831
|
+
value_name: 'sort_by_absolute_variance',
|
|
5832
|
+
default_value: false,
|
|
5833
|
+
hidden: true
|
|
5465
5834
|
}, {
|
|
5466
5835
|
element_type: 'checkbox',
|
|
5467
5836
|
element_label: 'Filter zero values',
|
|
@@ -5526,6 +5895,39 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5526
5895
|
};
|
|
5527
5896
|
|
|
5528
5897
|
highchartsRenderer.chartsTypesInfo = {
|
|
5898
|
+
'combo-chart': {
|
|
5899
|
+
name: 'Column Combo Chart ',
|
|
5900
|
+
label: 'Column Combo Chart ',
|
|
5901
|
+
title: 'Allows for multiple chart display formats in one widget',
|
|
5902
|
+
description: 'For example, Revenue and Cost of goods sold as clomuns, and Gross margin as a line',
|
|
5903
|
+
axisName: 'X - Axis',
|
|
5904
|
+
legendName: 'Data series',
|
|
5905
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart',
|
|
5906
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5907
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts',
|
|
5908
|
+
},
|
|
5909
|
+
'combo-column-chart': {
|
|
5910
|
+
name: 'Column Combo Chart ',
|
|
5911
|
+
label: 'Column Chart',
|
|
5912
|
+
title: 'Allows for multiple chart display formats in one widget',
|
|
5913
|
+
description: 'For example, Revenue and Cost of goods sold as clomuns, and Gross margin as a line',
|
|
5914
|
+
axisName: 'X - Axis',
|
|
5915
|
+
legendName: 'Data series',
|
|
5916
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart.',
|
|
5917
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5918
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts.',
|
|
5919
|
+
},
|
|
5920
|
+
'combo-stacked-chart': {
|
|
5921
|
+
name: 'Stacked Column Combo Chart ',
|
|
5922
|
+
label: 'Stacked Column',
|
|
5923
|
+
title: 'Allows for multiple chart display formats in one widget.',
|
|
5924
|
+
description: 'For example, different department stacked clomuns, and average as a line.',
|
|
5925
|
+
axisName: 'X - Axis',
|
|
5926
|
+
legendName: 'Data series',
|
|
5927
|
+
startedMessage: 'To add multiple chart types, click on “Combo Chart Options“. A Secondary Axis is available in this chart.',
|
|
5928
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
|
5929
|
+
legendTooltipTitle: 'Click to display these data series as line or area charts.',
|
|
5930
|
+
},
|
|
5529
5931
|
'line-chart': {
|
|
5530
5932
|
name: 'Line chart',
|
|
5531
5933
|
label: 'Line Chart',
|
|
@@ -5755,6 +6157,53 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5755
6157
|
highchartsRenderer.suboptions["table_options_transpose"],
|
|
5756
6158
|
highchartsRenderer.suboptions["chart_grid"],
|
|
5757
6159
|
highchartsRenderer.suboptions["negative_number_format"],
|
|
6160
|
+
highchartsRenderer.suboptions["delta_column_combo"],
|
|
6161
|
+
highchartsRenderer.suboptions["error_policy"],
|
|
6162
|
+
highchartsRenderer.suboptions["from_version"],
|
|
6163
|
+
highchartsRenderer.suboptions["legends"],
|
|
6164
|
+
]
|
|
6165
|
+
}
|
|
6166
|
+
]
|
|
6167
|
+
},
|
|
6168
|
+
{
|
|
6169
|
+
type: 'combo',
|
|
6170
|
+
name: 'Combo',
|
|
6171
|
+
class: 'combo-chart',
|
|
6172
|
+
subtypes: [{
|
|
6173
|
+
type: 'combo-column-chart',
|
|
6174
|
+
name: highchartsRenderer.chartsTypesInfo['combo-column-chart'].name,
|
|
6175
|
+
class: 'combo-column-chart',
|
|
6176
|
+
render: highchartsRenderer.ptRenderColumn,
|
|
6177
|
+
suboptions: [
|
|
6178
|
+
highchartsRenderer.suboptions["default_show"],
|
|
6179
|
+
highchartsRenderer.suboptions["axisY"],
|
|
6180
|
+
highchartsRenderer.suboptions["axisX"],
|
|
6181
|
+
highchartsRenderer.suboptions["tooltips"],
|
|
6182
|
+
highchartsRenderer.suboptions["label"],
|
|
6183
|
+
highchartsRenderer.suboptions["subtitle"],
|
|
6184
|
+
highchartsRenderer.suboptions["table_options"],
|
|
6185
|
+
highchartsRenderer.suboptions["chart"],
|
|
6186
|
+
highchartsRenderer.suboptions["negative_number_format"],
|
|
6187
|
+
highchartsRenderer.suboptions["delta_column_for_drill_down_combo"],
|
|
6188
|
+
highchartsRenderer.suboptions["error_policy"],
|
|
6189
|
+
highchartsRenderer.suboptions["from_version"],
|
|
6190
|
+
highchartsRenderer.suboptions["legends"],
|
|
6191
|
+
],
|
|
6192
|
+
},
|
|
6193
|
+
{
|
|
6194
|
+
type: 'combo-stacked-chart',
|
|
6195
|
+
name: highchartsRenderer.chartsTypesInfo['combo-stacked-chart'].name,
|
|
6196
|
+
class: 'combo-stacked-chart',
|
|
6197
|
+
render: highchartsRenderer.ptRenderStackedColumn,
|
|
6198
|
+
suboptions: [
|
|
6199
|
+
highchartsRenderer.suboptions["default_show"],
|
|
6200
|
+
highchartsRenderer.suboptions["axisY"],
|
|
6201
|
+
highchartsRenderer.suboptions["axisX"],
|
|
6202
|
+
highchartsRenderer.suboptions["tooltips"],
|
|
6203
|
+
highchartsRenderer.suboptions["label_with_percentage"],
|
|
6204
|
+
highchartsRenderer.suboptions["subtitle"],
|
|
6205
|
+
highchartsRenderer.suboptions["table_options"],
|
|
6206
|
+
highchartsRenderer.suboptions["chart_grid"],
|
|
5758
6207
|
highchartsRenderer.suboptions["delta_column"],
|
|
5759
6208
|
highchartsRenderer.suboptions["error_policy"],
|
|
5760
6209
|
highchartsRenderer.suboptions["from_version"],
|
|
@@ -6661,6 +7110,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6661
7110
|
};
|
|
6662
7111
|
|
|
6663
7112
|
highchartsRenderer.setNewFieldNames = function (res) {
|
|
7113
|
+
if (useTotalsCalculation) {
|
|
7114
|
+
return res;
|
|
7115
|
+
}
|
|
7116
|
+
|
|
6664
7117
|
if (res && res[0] && res[0]['DR_Values']) {
|
|
6665
7118
|
lodash.forEach(res, function (item) {
|
|
6666
7119
|
item['DR_Values'] = highchartsRenderer.getFieldName(item['DR_Values']);
|
|
@@ -6674,7 +7127,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6674
7127
|
var datesFields = [];
|
|
6675
7128
|
datesFields = lodash.filter(widget.rows, element => element.type == 'Date');
|
|
6676
7129
|
datesFields = datesFields.concat(lodash.filter(widget.cols, element => element.type == 'Date'));
|
|
6677
|
-
|
|
7130
|
+
|
|
6678
7131
|
const isCustomSorting = widget.options.sortingFields && Array.isArray(widget.options.sortingFields) && widget.options.sortingFields.length > 0;
|
|
6679
7132
|
if (isCustomSorting) {
|
|
6680
7133
|
lodash.forEach(datesFields, function (field) {
|
|
@@ -6742,7 +7195,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6742
7195
|
"name": field.name,
|
|
6743
7196
|
"type": field.type,
|
|
6744
7197
|
"values": [],
|
|
6745
|
-
"sorting": field.sorting
|
|
7198
|
+
"sorting": field.sorting,
|
|
6746
7199
|
});
|
|
6747
7200
|
}
|
|
6748
7201
|
} else if (field.sorting && field.sorting.type == "CustomOrder" && field.sorting.values) {
|
|
@@ -6827,6 +7280,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
6827
7280
|
if (field.sorting && field.sorting.type == "DateString") {
|
|
6828
7281
|
return $.pivotUtilities.sortDateStrings(field.sorting.month_order);
|
|
6829
7282
|
} else if (field.sorting && field.sorting.type == "largestToSmallest") {
|
|
7283
|
+
if (field.sorting.is_absolute)
|
|
7284
|
+
return $.pivotUtilities.largeToSmallSortByAbsolute;
|
|
7285
|
+
|
|
6830
7286
|
return $.pivotUtilities.largeToSmallSort;
|
|
6831
7287
|
} else {
|
|
6832
7288
|
return $.pivotUtilities.sortAs(field.values);
|
|
@@ -7034,7 +7490,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7034
7490
|
itemMarginTop: 2,
|
|
7035
7491
|
};
|
|
7036
7492
|
const none = {
|
|
7037
|
-
enabled: false,
|
|
7493
|
+
enabled: false,
|
|
7038
7494
|
};
|
|
7039
7495
|
|
|
7040
7496
|
if (additionOptions.legends_position && additionOptions.legends_position.value) {
|