@datarailsshared/dr_renderer 1.2.274 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.274",
3
+ "version": "1.2.275",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -4251,155 +4251,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4251
4251
  };
4252
4252
  };
4253
4253
 
4254
- highchartsRenderer.createTotalColFiltersArr = function (colKeys, colTotals, totalFilters, pivotData) {
4255
- var colIndexesToFilter = []
4256
- if (!totalFilters || !totalFilters.type)
4257
- return colIndexesToFilter
4258
-
4259
- var colTotalsWithoutSubTotals = {};
4260
- var i, flatKey;
4261
- for (i in colKeys) {
4262
- flatKey = colKeys[i].join($.pivotUtilities.delim);
4263
- if (colTotals[flatKey])
4264
- colTotalsWithoutSubTotals[flatKey] = colTotals[flatKey];
4265
- }
4266
-
4267
- var filterFunc = highchartsRenderer.getTotalsFilter(totalFilters.type, totalFilters.value, totalFilters.is_absolute, colTotalsWithoutSubTotals)
4268
- for (var j in colKeys) {
4269
- var totalVal = pivotData.getAggregator([], colKeys[j]).value();
4270
- if (filterFunc(totalVal)) {
4271
- colIndexesToFilter.push(j)
4272
- }
4273
- }
4274
-
4275
- let keyAttListToFilter = [];
4276
- for (var attr in pivotData.colAttrs) {
4277
- for (var key in pivotData.colKeys) {
4278
- if ($.inArray(key, colIndexesToFilter) >= 0) {
4279
- keyAttListToFilter.push(pivotData.colKeys[key])
4280
- }
4281
- }
4282
- }
4283
- return keyAttListToFilter;
4284
- };
4285
-
4286
- highchartsRenderer.createTotalRowFiltersArr = function (rowKeys, rowTotals, totalFilters, pivotData) {
4287
- var rowIndexesToFilter = [];
4288
- if (!totalFilters || !totalFilters.type)
4289
- return rowIndexesToFilter;
4290
-
4291
- var rowTotalsWithoutSubTotals = {};
4292
- var i, flatKey;
4293
- for (i in rowKeys) {
4294
- flatKey = rowKeys[i].join($.pivotUtilities.delim);
4295
- if (rowTotals[flatKey])
4296
- rowTotalsWithoutSubTotals[flatKey] = rowTotals[flatKey];
4297
- }
4298
-
4299
- var filterFunc = highchartsRenderer.getTotalsFilter(totalFilters.type, totalFilters.value, totalFilters.is_absolute, rowTotalsWithoutSubTotals)
4300
- for (var j in rowKeys) {
4301
- var totalVal = pivotData.getAggregator(rowKeys[j], []).value();
4302
- if (filterFunc(totalVal)) {
4303
- rowIndexesToFilter.push(j)
4304
- }
4305
- }
4306
-
4307
- let keyAttListToFilter = [];
4308
- for (var attr in pivotData.rowAttrs) {
4309
- for (var key in pivotData.rowKeys) {
4310
- if ($.inArray(key, rowIndexesToFilter) >= 0) {
4311
- keyAttListToFilter.push(pivotData.rowKeys[key])
4312
- }
4313
- }
4314
- }
4315
- return keyAttListToFilter;
4316
- };
4317
-
4318
- highchartsRenderer.getTotalsFilter = function (type, vals, is_absolute, totals) {
4319
- var filter = (a) => false;
4320
- switch (type) {
4321
- case "filter_above":
4322
- if (is_absolute)
4323
- filter = (a) => Math.abs(a) <= vals[0];
4324
- else
4325
- filter = (a) => a <= vals[0];
4326
- break;
4327
- case "filter_below":
4328
- if (is_absolute)
4329
- filter = (a) => Math.abs(a) >= vals[0];
4330
- else
4331
- filter = (a) => a >= vals[0];
4332
- break;
4333
- case "filter_between":
4334
- if (is_absolute)
4335
- filter = (a) => Math.abs(a) <= vals[0] || Math.abs(a) >= vals[1];
4336
- else
4337
- filter = (a) => a <= vals[0] || a >= vals[1];
4338
- break;
4339
- case "filter_out_of_range":
4340
- if (is_absolute)
4341
- filter = (a) => Math.abs(a) >= vals[0] && Math.abs(a) <= vals[1];
4342
- else
4343
- filter = (a) => a >= vals[0] && a <= vals[1];
4344
- break;
4345
- case "filter_top_x":
4346
- var topx;
4347
- if (is_absolute)
4348
- 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();
4349
- else
4350
- 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();
4351
-
4352
- if (topx != undefined) {
4353
- if (is_absolute)
4354
- filter = (a) => Math.abs(a) < topx;
4355
- else
4356
- filter = (a) => a < topx;
4357
- }
4358
- break;
4359
- case "filter_bottom_x":
4360
- var bottomx;
4361
- if (is_absolute)
4362
- 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();
4363
- else
4364
- 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();
4365
-
4366
- if (bottomx != undefined) {
4367
- if (is_absolute)
4368
- filter = (a) => Math.abs(a) > bottomx;
4369
- else
4370
- filter = (a) => a > bottomx;
4371
- }
4372
- break;
4373
- case "filter_smallest":
4374
- const smallest_sumOfFields = lodash.reduce(totals, (acc, curr) => acc += curr.sum, 0);
4375
- const smallest = Math.floor((smallest_sumOfFields * vals[0])/100);
4376
-
4377
- if (is_absolute)
4378
- filter = (a) => Math.abs(a) > smallest;
4379
- else
4380
- filter = (a) => a > smallest;
4381
- break;
4382
- case "filter_largest":
4383
- const largest_sumOfFields = lodash.reduce(totals, (acc, curr) => acc += curr.sum, 0);
4384
- const largest = Math.floor((largest_sumOfFields * vals[0])/100);
4385
-
4386
- if (is_absolute)
4387
- filter = (a) => Math.abs(a) < largest;
4388
- else
4389
- filter = (a) => a < largest;
4390
- break;
4391
- case "filter_out_zero":
4392
- if (is_absolute)
4393
- filter = (a) => Math.abs(a) == 0;
4394
- else
4395
- filter = (a) => a == 0;
4396
- break;
4397
- default:
4398
-
4399
- }
4400
- return filter;
4401
- };
4402
-
4403
4254
  highchartsRenderer.getAxis = function (axis, opts, farceIsTable = false) {
4404
4255
  let is_transpose = lodash.get(opts, 'rendererOptions.chartOptions.table_options.transpose_table', false);
4405
4256
  let is_table = opts.isTable;
@@ -4413,43 +4264,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4413
4264
  return axis;
4414
4265
  };
4415
4266
 
4416
- highchartsRenderer.generateFilteredResult = function (totalFilters, optsFiltered, rowData, opts, pivotData) {
4417
- let keyAttListToFilter;
4418
- let axis = highchartsRenderer.getAxis(totalFilters.filter_options.axis, opts);
4419
-
4420
- if (axis == 'col_total') {
4421
- keyAttListToFilter = highchartsRenderer.createTotalColFiltersArr(pivotData.colKeys, pivotData.colTotals, totalFilters.filter_options, pivotData);
4422
- return highchartsRenderer.generateFilteredResultForRowAndCol(keyAttListToFilter, optsFiltered, pivotData.colAttrs, rowData, opts, pivotData);
4423
- } else if (axis == 'row_total') {
4424
- keyAttListToFilter = highchartsRenderer.createTotalRowFiltersArr(pivotData.rowKeys, pivotData.rowTotals, totalFilters.filter_options, pivotData);
4425
- return highchartsRenderer.generateFilteredResultForRowAndCol(keyAttListToFilter, optsFiltered, pivotData.rowAttrs, rowData, opts, pivotData);
4426
- } else {
4427
- return opts.renderer(pivotData, opts.rendererOptions);
4428
- }
4429
- };
4430
-
4431
- highchartsRenderer.generateFilteredResultForRowAndCol = function (keyAttListToFilter, optsFiltered, attrs, rowData, opts, pivotData) {
4432
- let pivotDataFiltered = pivotData;
4433
- if (!lodash.isEmpty(keyAttListToFilter)) {
4434
- var myfilter = function (rec) {
4435
- for (var i in keyAttListToFilter) {
4436
- var allsame = true;
4437
- var find_one = lodash.find(attrs, function (val, j) {
4438
- return ((rec[val] != keyAttListToFilter[i][j]) && !(!rec[val] && keyAttListToFilter[i][j] == "null"))
4439
- });
4440
- if (find_one == undefined) {
4441
- return false;
4442
- }
4443
- }
4444
- return true;
4445
- }
4446
- optsFiltered.filter = myfilter;
4447
-
4448
- pivotDataFiltered = $.pivotUtilities.getPivotDataModel(rowData, optsFiltered);
4449
- }
4450
- return opts.renderer(pivotDataFiltered, opts.rendererOptions);
4451
- };
4452
-
4453
4267
  highchartsRenderer.sanitizeOptions = function (opts) {
4454
4268
  if (opts && opts.rendererOptions) {
4455
4269
  if (opts.rendererOptions.chart_title) {
@@ -7510,8 +7324,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7510
7324
  },
7511
7325
  };
7512
7326
 
7513
- highchartsRenderer.chartsData =
7514
- [
7327
+ highchartsRenderer.chartsData = [
7515
7328
  {
7516
7329
  type: 'line',
7517
7330
  name: 'Line',