@datarailsshared/dr_renderer 1.2.273 → 1.2.275
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/highcharts_renderer.js +35 -191
package/package.json
CHANGED
|
@@ -2504,6 +2504,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2504
2504
|
};
|
|
2505
2505
|
}
|
|
2506
2506
|
|
|
2507
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
2508
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
2509
|
+
|
|
2507
2510
|
chartOptions.tooltip = {
|
|
2508
2511
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
2509
2512
|
valueDecimals: 2,
|
|
@@ -2583,6 +2586,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2583
2586
|
};
|
|
2584
2587
|
}
|
|
2585
2588
|
|
|
2589
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
2590
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
2591
|
+
|
|
2586
2592
|
chartOptions.tooltip = {
|
|
2587
2593
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
2588
2594
|
valueDecimals: 2,
|
|
@@ -2675,6 +2681,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2675
2681
|
};
|
|
2676
2682
|
}
|
|
2677
2683
|
|
|
2684
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
2685
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
2686
|
+
|
|
2678
2687
|
chartOptions.tooltip = {
|
|
2679
2688
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
|
2680
2689
|
valueDecimals: 2,
|
|
@@ -2951,6 +2960,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
2951
2960
|
}
|
|
2952
2961
|
};
|
|
2953
2962
|
}
|
|
2963
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
2964
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
2954
2965
|
|
|
2955
2966
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
|
|
2956
2967
|
|
|
@@ -3084,6 +3095,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3084
3095
|
}
|
|
3085
3096
|
};
|
|
3086
3097
|
}
|
|
3098
|
+
|
|
3099
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
3100
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
3101
|
+
|
|
3087
3102
|
chartOptions.xAxis = {
|
|
3088
3103
|
type: 'category',
|
|
3089
3104
|
crosshair: true,
|
|
@@ -3265,6 +3280,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3265
3280
|
}
|
|
3266
3281
|
};
|
|
3267
3282
|
}
|
|
3283
|
+
|
|
3284
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
3285
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
3286
|
+
|
|
3268
3287
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
|
|
3269
3288
|
|
|
3270
3289
|
return highchartsRenderer.ptCreateElementAndDraw(chartOptions, opts);
|
|
@@ -3343,6 +3362,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3343
3362
|
};
|
|
3344
3363
|
}
|
|
3345
3364
|
|
|
3365
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
3366
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
3367
|
+
|
|
3346
3368
|
chartOptions.xAxis = {
|
|
3347
3369
|
categories: pivotData.getColKeys(),
|
|
3348
3370
|
title: {
|
|
@@ -3452,6 +3474,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3452
3474
|
};
|
|
3453
3475
|
}
|
|
3454
3476
|
|
|
3477
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
3478
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
3479
|
+
|
|
3455
3480
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 3, false);
|
|
3456
3481
|
chartOptions.legend.useHTML = true;
|
|
3457
3482
|
chartOptions.legend.labelFormatter = function() {
|
|
@@ -3567,6 +3592,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
3567
3592
|
}
|
|
3568
3593
|
};
|
|
3569
3594
|
}
|
|
3595
|
+
|
|
3596
|
+
chartOptions.plotOptions.series.point.events.mouseOver = opts.insightsTooltipFunc;
|
|
3597
|
+
chartOptions.plotOptions.series.point.events.mouseOut = opts.insightsTooltipFunc;
|
|
3598
|
+
|
|
3570
3599
|
if (waterfallOptions.colors) {
|
|
3571
3600
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, 3, false);
|
|
3572
3601
|
chartOptions.legend.useHTML = true;
|
|
@@ -4222,155 +4251,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4222
4251
|
};
|
|
4223
4252
|
};
|
|
4224
4253
|
|
|
4225
|
-
highchartsRenderer.createTotalColFiltersArr = function (colKeys, colTotals, totalFilters, pivotData) {
|
|
4226
|
-
var colIndexesToFilter = []
|
|
4227
|
-
if (!totalFilters || !totalFilters.type)
|
|
4228
|
-
return colIndexesToFilter
|
|
4229
|
-
|
|
4230
|
-
var colTotalsWithoutSubTotals = {};
|
|
4231
|
-
var i, flatKey;
|
|
4232
|
-
for (i in colKeys) {
|
|
4233
|
-
flatKey = colKeys[i].join($.pivotUtilities.delim);
|
|
4234
|
-
if (colTotals[flatKey])
|
|
4235
|
-
colTotalsWithoutSubTotals[flatKey] = colTotals[flatKey];
|
|
4236
|
-
}
|
|
4237
|
-
|
|
4238
|
-
var filterFunc = highchartsRenderer.getTotalsFilter(totalFilters.type, totalFilters.value, totalFilters.is_absolute, colTotalsWithoutSubTotals)
|
|
4239
|
-
for (var j in colKeys) {
|
|
4240
|
-
var totalVal = pivotData.getAggregator([], colKeys[j]).value();
|
|
4241
|
-
if (filterFunc(totalVal)) {
|
|
4242
|
-
colIndexesToFilter.push(j)
|
|
4243
|
-
}
|
|
4244
|
-
}
|
|
4245
|
-
|
|
4246
|
-
let keyAttListToFilter = [];
|
|
4247
|
-
for (var attr in pivotData.colAttrs) {
|
|
4248
|
-
for (var key in pivotData.colKeys) {
|
|
4249
|
-
if ($.inArray(key, colIndexesToFilter) >= 0) {
|
|
4250
|
-
keyAttListToFilter.push(pivotData.colKeys[key])
|
|
4251
|
-
}
|
|
4252
|
-
}
|
|
4253
|
-
}
|
|
4254
|
-
return keyAttListToFilter;
|
|
4255
|
-
};
|
|
4256
|
-
|
|
4257
|
-
highchartsRenderer.createTotalRowFiltersArr = function (rowKeys, rowTotals, totalFilters, pivotData) {
|
|
4258
|
-
var rowIndexesToFilter = [];
|
|
4259
|
-
if (!totalFilters || !totalFilters.type)
|
|
4260
|
-
return rowIndexesToFilter;
|
|
4261
|
-
|
|
4262
|
-
var rowTotalsWithoutSubTotals = {};
|
|
4263
|
-
var i, flatKey;
|
|
4264
|
-
for (i in rowKeys) {
|
|
4265
|
-
flatKey = rowKeys[i].join($.pivotUtilities.delim);
|
|
4266
|
-
if (rowTotals[flatKey])
|
|
4267
|
-
rowTotalsWithoutSubTotals[flatKey] = rowTotals[flatKey];
|
|
4268
|
-
}
|
|
4269
|
-
|
|
4270
|
-
var filterFunc = highchartsRenderer.getTotalsFilter(totalFilters.type, totalFilters.value, totalFilters.is_absolute, rowTotalsWithoutSubTotals)
|
|
4271
|
-
for (var j in rowKeys) {
|
|
4272
|
-
var totalVal = pivotData.getAggregator(rowKeys[j], []).value();
|
|
4273
|
-
if (filterFunc(totalVal)) {
|
|
4274
|
-
rowIndexesToFilter.push(j)
|
|
4275
|
-
}
|
|
4276
|
-
}
|
|
4277
|
-
|
|
4278
|
-
let keyAttListToFilter = [];
|
|
4279
|
-
for (var attr in pivotData.rowAttrs) {
|
|
4280
|
-
for (var key in pivotData.rowKeys) {
|
|
4281
|
-
if ($.inArray(key, rowIndexesToFilter) >= 0) {
|
|
4282
|
-
keyAttListToFilter.push(pivotData.rowKeys[key])
|
|
4283
|
-
}
|
|
4284
|
-
}
|
|
4285
|
-
}
|
|
4286
|
-
return keyAttListToFilter;
|
|
4287
|
-
};
|
|
4288
|
-
|
|
4289
|
-
highchartsRenderer.getTotalsFilter = function (type, vals, is_absolute, totals) {
|
|
4290
|
-
var filter = (a) => false;
|
|
4291
|
-
switch (type) {
|
|
4292
|
-
case "filter_above":
|
|
4293
|
-
if (is_absolute)
|
|
4294
|
-
filter = (a) => Math.abs(a) <= vals[0];
|
|
4295
|
-
else
|
|
4296
|
-
filter = (a) => a <= vals[0];
|
|
4297
|
-
break;
|
|
4298
|
-
case "filter_below":
|
|
4299
|
-
if (is_absolute)
|
|
4300
|
-
filter = (a) => Math.abs(a) >= vals[0];
|
|
4301
|
-
else
|
|
4302
|
-
filter = (a) => a >= vals[0];
|
|
4303
|
-
break;
|
|
4304
|
-
case "filter_between":
|
|
4305
|
-
if (is_absolute)
|
|
4306
|
-
filter = (a) => Math.abs(a) <= vals[0] || Math.abs(a) >= vals[1];
|
|
4307
|
-
else
|
|
4308
|
-
filter = (a) => a <= vals[0] || a >= vals[1];
|
|
4309
|
-
break;
|
|
4310
|
-
case "filter_out_of_range":
|
|
4311
|
-
if (is_absolute)
|
|
4312
|
-
filter = (a) => Math.abs(a) >= vals[0] && Math.abs(a) <= vals[1];
|
|
4313
|
-
else
|
|
4314
|
-
filter = (a) => a >= vals[0] && a <= vals[1];
|
|
4315
|
-
break;
|
|
4316
|
-
case "filter_top_x":
|
|
4317
|
-
var topx;
|
|
4318
|
-
if (is_absolute)
|
|
4319
|
-
topx = lodash.map(totals, (x) => Math.abs(x.value())).filter((v, i, a) => a.indexOf(v) === i).sort((a, b) => b - a).slice(0, vals[0]).pop();
|
|
4320
|
-
else
|
|
4321
|
-
topx = lodash.map(totals, (x) => x.value()).filter((v, i, a) => a.indexOf(v) === i).sort((a, b) => b - a).slice(0, vals[0]).pop();
|
|
4322
|
-
|
|
4323
|
-
if (topx != undefined) {
|
|
4324
|
-
if (is_absolute)
|
|
4325
|
-
filter = (a) => Math.abs(a) < topx;
|
|
4326
|
-
else
|
|
4327
|
-
filter = (a) => a < topx;
|
|
4328
|
-
}
|
|
4329
|
-
break;
|
|
4330
|
-
case "filter_bottom_x":
|
|
4331
|
-
var bottomx;
|
|
4332
|
-
if (is_absolute)
|
|
4333
|
-
bottomx = lodash.map(totals, (x) => Math.abs(x.value())).filter((v, i, a) => a.indexOf(v) === i).sort((a, b) => a - b).slice(0, vals[0]).pop();
|
|
4334
|
-
else
|
|
4335
|
-
bottomx = lodash.map(totals, (x) => x.value()).filter((v, i, a) => a.indexOf(v) === i).sort((a, b) => a - b).slice(0, vals[0]).pop();
|
|
4336
|
-
|
|
4337
|
-
if (bottomx != undefined) {
|
|
4338
|
-
if (is_absolute)
|
|
4339
|
-
filter = (a) => Math.abs(a) > bottomx;
|
|
4340
|
-
else
|
|
4341
|
-
filter = (a) => a > bottomx;
|
|
4342
|
-
}
|
|
4343
|
-
break;
|
|
4344
|
-
case "filter_smallest":
|
|
4345
|
-
const smallest_sumOfFields = lodash.reduce(totals, (acc, curr) => acc += curr.sum, 0);
|
|
4346
|
-
const smallest = Math.floor((smallest_sumOfFields * vals[0])/100);
|
|
4347
|
-
|
|
4348
|
-
if (is_absolute)
|
|
4349
|
-
filter = (a) => Math.abs(a) > smallest;
|
|
4350
|
-
else
|
|
4351
|
-
filter = (a) => a > smallest;
|
|
4352
|
-
break;
|
|
4353
|
-
case "filter_largest":
|
|
4354
|
-
const largest_sumOfFields = lodash.reduce(totals, (acc, curr) => acc += curr.sum, 0);
|
|
4355
|
-
const largest = Math.floor((largest_sumOfFields * vals[0])/100);
|
|
4356
|
-
|
|
4357
|
-
if (is_absolute)
|
|
4358
|
-
filter = (a) => Math.abs(a) < largest;
|
|
4359
|
-
else
|
|
4360
|
-
filter = (a) => a < largest;
|
|
4361
|
-
break;
|
|
4362
|
-
case "filter_out_zero":
|
|
4363
|
-
if (is_absolute)
|
|
4364
|
-
filter = (a) => Math.abs(a) == 0;
|
|
4365
|
-
else
|
|
4366
|
-
filter = (a) => a == 0;
|
|
4367
|
-
break;
|
|
4368
|
-
default:
|
|
4369
|
-
|
|
4370
|
-
}
|
|
4371
|
-
return filter;
|
|
4372
|
-
};
|
|
4373
|
-
|
|
4374
4254
|
highchartsRenderer.getAxis = function (axis, opts, farceIsTable = false) {
|
|
4375
4255
|
let is_transpose = lodash.get(opts, 'rendererOptions.chartOptions.table_options.transpose_table', false);
|
|
4376
4256
|
let is_table = opts.isTable;
|
|
@@ -4384,43 +4264,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4384
4264
|
return axis;
|
|
4385
4265
|
};
|
|
4386
4266
|
|
|
4387
|
-
highchartsRenderer.generateFilteredResult = function (totalFilters, optsFiltered, rowData, opts, pivotData) {
|
|
4388
|
-
let keyAttListToFilter;
|
|
4389
|
-
let axis = highchartsRenderer.getAxis(totalFilters.filter_options.axis, opts);
|
|
4390
|
-
|
|
4391
|
-
if (axis == 'col_total') {
|
|
4392
|
-
keyAttListToFilter = highchartsRenderer.createTotalColFiltersArr(pivotData.colKeys, pivotData.colTotals, totalFilters.filter_options, pivotData);
|
|
4393
|
-
return highchartsRenderer.generateFilteredResultForRowAndCol(keyAttListToFilter, optsFiltered, pivotData.colAttrs, rowData, opts, pivotData);
|
|
4394
|
-
} else if (axis == 'row_total') {
|
|
4395
|
-
keyAttListToFilter = highchartsRenderer.createTotalRowFiltersArr(pivotData.rowKeys, pivotData.rowTotals, totalFilters.filter_options, pivotData);
|
|
4396
|
-
return highchartsRenderer.generateFilteredResultForRowAndCol(keyAttListToFilter, optsFiltered, pivotData.rowAttrs, rowData, opts, pivotData);
|
|
4397
|
-
} else {
|
|
4398
|
-
return opts.renderer(pivotData, opts.rendererOptions);
|
|
4399
|
-
}
|
|
4400
|
-
};
|
|
4401
|
-
|
|
4402
|
-
highchartsRenderer.generateFilteredResultForRowAndCol = function (keyAttListToFilter, optsFiltered, attrs, rowData, opts, pivotData) {
|
|
4403
|
-
let pivotDataFiltered = pivotData;
|
|
4404
|
-
if (!lodash.isEmpty(keyAttListToFilter)) {
|
|
4405
|
-
var myfilter = function (rec) {
|
|
4406
|
-
for (var i in keyAttListToFilter) {
|
|
4407
|
-
var allsame = true;
|
|
4408
|
-
var find_one = lodash.find(attrs, function (val, j) {
|
|
4409
|
-
return ((rec[val] != keyAttListToFilter[i][j]) && !(!rec[val] && keyAttListToFilter[i][j] == "null"))
|
|
4410
|
-
});
|
|
4411
|
-
if (find_one == undefined) {
|
|
4412
|
-
return false;
|
|
4413
|
-
}
|
|
4414
|
-
}
|
|
4415
|
-
return true;
|
|
4416
|
-
}
|
|
4417
|
-
optsFiltered.filter = myfilter;
|
|
4418
|
-
|
|
4419
|
-
pivotDataFiltered = $.pivotUtilities.getPivotDataModel(rowData, optsFiltered);
|
|
4420
|
-
}
|
|
4421
|
-
return opts.renderer(pivotDataFiltered, opts.rendererOptions);
|
|
4422
|
-
};
|
|
4423
|
-
|
|
4424
4267
|
highchartsRenderer.sanitizeOptions = function (opts) {
|
|
4425
4268
|
if (opts && opts.rendererOptions) {
|
|
4426
4269
|
if (opts.rendererOptions.chart_title) {
|
|
@@ -5259,7 +5102,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5259
5102
|
options.chartOptions = lodash.merge(defaultOptions, options.chartOptions);
|
|
5260
5103
|
};
|
|
5261
5104
|
|
|
5262
|
-
highchartsRenderer.addPivotOptions = function (selectedTemplateWOData, widgetOptions, drilldownFunction, drillDownListFunction) {
|
|
5105
|
+
highchartsRenderer.addPivotOptions = function (selectedTemplateWOData, widgetOptions, drilldownFunction, drillDownListFunction, insightsTooltipFunction) {
|
|
5263
5106
|
// Check if not rendered data, than it will render
|
|
5264
5107
|
|
|
5265
5108
|
var fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplateWOData.fields);
|
|
@@ -5269,6 +5112,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5269
5112
|
var valuesFields = [];
|
|
5270
5113
|
var drilldownFunc = drilldownFunction;
|
|
5271
5114
|
var drillDownListFunc = drillDownListFunction;
|
|
5115
|
+
var insightsTooltipFunc = insightsTooltipFunction;
|
|
5272
5116
|
|
|
5273
5117
|
// fill value fields
|
|
5274
5118
|
lodash.forEach(widgetOptions.vals, function (valObj) {
|
|
@@ -5323,7 +5167,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5323
5167
|
widgetOptions.pivot.valuesArray = valuesFields;
|
|
5324
5168
|
widgetOptions.pivot.chartType = widgetOptions.chart_type;
|
|
5325
5169
|
widgetOptions.pivot.chartOptions = widgetOptions.options;
|
|
5326
|
-
widgetOptions.pivot.chartRender = highchartsRenderer.getChartRendererFunction(widgetOptions.pivot.chartType, drilldownFunc, drillDownListFunc);
|
|
5170
|
+
widgetOptions.pivot.chartRender = highchartsRenderer.getChartRendererFunction(widgetOptions.pivot.chartType, drilldownFunc, drillDownListFunc, insightsTooltipFunc);
|
|
5327
5171
|
|
|
5328
5172
|
// TODO: remove this logic after BE sort is implemented
|
|
5329
5173
|
// it is required to do sort by totals for comparative analysis - we need to change deltas if columns swaped vice versa
|
|
@@ -5853,7 +5697,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5853
5697
|
return toReturn;
|
|
5854
5698
|
};
|
|
5855
5699
|
|
|
5856
|
-
highchartsRenderer.getChartRendererFunction = function (newChartType, drilldownFunc, drillDownListFunc) {
|
|
5700
|
+
highchartsRenderer.getChartRendererFunction = function (newChartType, drilldownFunc, drillDownListFunc, insightsTooltipFunc) {
|
|
5857
5701
|
var fnToReturn = null;
|
|
5858
5702
|
|
|
5859
5703
|
if (newChartType == highchartsRenderer.richTextSubType.type) {
|
|
@@ -5881,6 +5725,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5881
5725
|
opt = {};
|
|
5882
5726
|
}
|
|
5883
5727
|
opt.drillDownListFunc = drillDownListFunc;
|
|
5728
|
+
opt.insightsTooltipFunc = insightsTooltipFunc;
|
|
5884
5729
|
} else {
|
|
5885
5730
|
opt.drillDownListFunc = null;
|
|
5886
5731
|
}
|
|
@@ -7479,8 +7324,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
7479
7324
|
},
|
|
7480
7325
|
};
|
|
7481
7326
|
|
|
7482
|
-
highchartsRenderer.chartsData =
|
|
7483
|
-
[
|
|
7327
|
+
highchartsRenderer.chartsData = [
|
|
7484
7328
|
{
|
|
7485
7329
|
type: 'line',
|
|
7486
7330
|
name: 'Line',
|