@datarailsshared/dr_renderer 1.2.363 → 1.2.365
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/.circleci/config.yml +2 -2
- package/package.json +1 -1
- package/src/dr_pivottable.js +14 -63
- package/src/highcharts_renderer.js +1095 -1386
- package/src/novix_renderer.js +11 -13
- package/src/pivottable.js +4 -28
- package/tests/highcharts_renderer.test.js +14 -5386
- package/src/dr-renderer-helpers.js +0 -7
- package/tests/dr-renderer-helpers.test.js +0 -34
- package/tests/mock/add-in-dynamic-ranges.json +0 -133
- package/tests/mock/add-in-functions.json +0 -412
- package/tests/mock/add-in-tables.json +0 -347
- package/tests/mock/tables.json +0 -2258
- package/tests/mock/widgets.json +0 -411
package/src/novix_renderer.js
CHANGED
@@ -376,14 +376,13 @@ let initNovixRenderer = function($, window, document, Handsontable){
|
|
376
376
|
//data columns
|
377
377
|
if (pvtData.colKeys.length > 0) {
|
378
378
|
|
379
|
-
const formattedColKeys = pvtData.getFormattedColKeys(colKeys);
|
380
379
|
var aux = rowData.length;
|
381
380
|
var startCol = aux;
|
382
|
-
var prior =
|
381
|
+
var prior = colKeys[0][nn];
|
383
382
|
var toMerge = 0;
|
384
|
-
for (var cc = 0; cc <
|
383
|
+
for (var cc = 0; cc < colKeys.length; cc++) {
|
385
384
|
|
386
|
-
var textHeader =
|
385
|
+
var textHeader = colKeys[cc][nn];
|
387
386
|
|
388
387
|
if (nn < pvtData.colAttrs.length - 1 && prior != textHeader) {
|
389
388
|
rowData.push(textHeader);
|
@@ -457,9 +456,8 @@ let initNovixRenderer = function($, window, document, Handsontable){
|
|
457
456
|
// DATA
|
458
457
|
|
459
458
|
var mergeDic = {};
|
460
|
-
const formattedRowKeys = pvtData.getFormattedRowKeys(rowKeys);
|
461
459
|
|
462
|
-
for (var rr = 0; rr <
|
460
|
+
for (var rr = 0; rr < rowKeys.length; rr++) {
|
463
461
|
|
464
462
|
var rowData = [];
|
465
463
|
|
@@ -468,29 +466,29 @@ let initNovixRenderer = function($, window, document, Handsontable){
|
|
468
466
|
mergeDic[cc] = {
|
469
467
|
toMerge: 1,
|
470
468
|
row: 0,
|
471
|
-
priorText:
|
469
|
+
priorText: rowKeys[rr][cc]
|
472
470
|
};
|
473
471
|
}
|
474
472
|
}
|
475
473
|
|
476
474
|
//column for row atts
|
477
475
|
for (var cc = 0; cc < pvtData.rowAttrs.length; cc++) {
|
478
|
-
rowData.push(
|
479
|
-
if (
|
476
|
+
rowData.push(rowKeys[rr][cc]);
|
477
|
+
if (rowKeys[rr][cc] === subtotal) {
|
480
478
|
addMergeCell(rr + pvtData.colAttrs.length + 1, cc, 1, dataSource.fixedColumns - cc, true, true);
|
481
|
-
} else if (cc ===
|
479
|
+
} else if (cc === rowKeys[rr].length - 1 && hasColumnAttr) {
|
482
480
|
addMergeCell(rr + pvtData.colAttrs.length + 1, cc, 1, 2, true, true);
|
483
481
|
}
|
484
482
|
// merge cell (last column)
|
485
483
|
if (opts.chartOptions.table_options.show_column_total && rr != 0 && mergeDic[cc]) { // check for merge dic
|
486
|
-
if (
|
484
|
+
if (rowKeys[rr][cc] == mergeDic[cc].priorText) {
|
487
485
|
mergeDic[cc].toMerge++;
|
488
|
-
} else if (cc <
|
486
|
+
} else if (cc < rowKeys[rr].length - 1) {
|
489
487
|
//create merge cell for this column
|
490
488
|
addMergeCell(mergeDic[cc].row + pvtData.colAttrs.length + 1, cc, mergeDic[cc].toMerge, 1);
|
491
489
|
mergeDic[cc].row = rr;
|
492
490
|
mergeDic[cc].toMerge = 1;
|
493
|
-
mergeDic[cc].priorText =
|
491
|
+
mergeDic[cc].priorText = rowKeys[rr][cc];
|
494
492
|
}
|
495
493
|
}
|
496
494
|
}
|
package/src/pivottable.js
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
const helpers = require('./dr-renderer-helpers');
|
2
|
-
|
3
1
|
// from pivottable@2.23.0
|
4
2
|
let initPivotTable = function($, window, document) {
|
5
3
|
var indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
@@ -579,7 +577,6 @@ let initPivotTable = function($, window, document) {
|
|
579
577
|
l_mapping = {};
|
580
578
|
for (i in order) {
|
581
579
|
x = order[i];
|
582
|
-
if (order[i] === null) x = '[null]';
|
583
580
|
mapping[x] = i;
|
584
581
|
if (typeof x === "string") {
|
585
582
|
l_mapping[x.toLowerCase()] = i;
|
@@ -687,30 +684,13 @@ let initPivotTable = function($, window, document) {
|
|
687
684
|
return true;
|
688
685
|
});
|
689
686
|
this.tree = {};
|
690
|
-
this.
|
691
|
-
|
692
|
-
this.isKeysSortingDoneOnBackendSide = opts.keysObject && typeof opts.keysObject === 'object' && helpers.backendSortingKeysAreNotEmpty(opts.keysObject);
|
693
|
-
if (this.isKeysSortingDoneOnBackendSide) {
|
694
|
-
this.rowKeys = opts.keysObject.row_keys;
|
695
|
-
this.colKeys = opts.keysObject.col_keys;
|
696
|
-
// TODO: add also for breakdown sort object when BE story is ready.
|
697
|
-
} else {
|
698
|
-
this.rowKeys = [];
|
699
|
-
this.colKeys = [];
|
700
|
-
}
|
701
|
-
|
687
|
+
this.rowKeys = [];
|
688
|
+
this.colKeys = [];
|
702
689
|
this.rowTotals = {};
|
703
690
|
this.colTotals = {};
|
704
691
|
this.allTotal = this.aggregator(this, [], []);
|
705
692
|
this.sorted = false;
|
706
693
|
this.dateValuesDictionary = opts.dateValuesDictionary;
|
707
|
-
this.sortByValueAttrs = opts.sortByValueAttrs || [];
|
708
|
-
this.colFormats = opts.colFormats || [];
|
709
|
-
this.rowFormats = opts.rowFormats || [];
|
710
|
-
this.isFormattingAxisLabels = opts.rendererOptions && opts.rendererOptions.isFormattingAxisLabels;
|
711
|
-
this.getFormattedColKeys = (keys) => opts.getFormattedColKeys(this, keys);
|
712
|
-
this.getFormattedRowKeys = (keys) => opts.getFormattedRowKeys(this, keys);
|
713
|
-
|
714
694
|
PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {
|
715
695
|
return function(record) {
|
716
696
|
if (_this.filter(record)) {
|
@@ -870,16 +850,12 @@ let initPivotTable = function($, window, document) {
|
|
870
850
|
};
|
871
851
|
|
872
852
|
PivotData.prototype.getColKeys = function() {
|
873
|
-
|
874
|
-
this.sortKeys();
|
875
|
-
}
|
853
|
+
this.sortKeys();
|
876
854
|
return this.colKeys;
|
877
855
|
};
|
878
856
|
|
879
857
|
PivotData.prototype.getRowKeys = function() {
|
880
|
-
|
881
|
-
this.sortKeys();
|
882
|
-
}
|
858
|
+
this.sortKeys();
|
883
859
|
return this.rowKeys;
|
884
860
|
};
|
885
861
|
|