logitude-dashboard-library 3.2.62 → 3.2.64
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/dist/Utils/DateHelper.d.ts +1 -1
- package/dist/assets/styles/dl-dashboard.scss +107 -1
- package/dist/features/Dashboard/ChartsComponents/CustomCharts/AgPivotGrid.d.ts +10 -0
- package/dist/features/Dashboard/ChartsComponents/CustomCharts/CustomChart.d.ts +1 -0
- package/dist/features/Dashboard/ChartsComponents/CustomCharts/KpiChart.d.ts +1 -0
- package/dist/features/Dashboard/ChartsComponents/CustomCharts/PivotAgGridSupport.d.ts +45 -0
- package/dist/features/Dashboard/DashboardDesigner.d.ts +1 -0
- package/dist/features/Dashboard/WidgetCard.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1070 -4
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1070 -4
- package/dist/index.modern.js.map +1 -1
- package/dist/services/session.d.ts +2 -0
- package/dist/styles/dl-dashboard.scss +107 -1
- package/package.json +8 -2
package/dist/index.js
CHANGED
|
@@ -12,6 +12,10 @@ var column = require('primereact/column');
|
|
|
12
12
|
var PivotGrid = require('devextreme-react/pivot-grid');
|
|
13
13
|
var PivotGrid__default = _interopDefault(PivotGrid);
|
|
14
14
|
var PivotGridDataSource = _interopDefault(require('devextreme/ui/pivot_grid/data_source'));
|
|
15
|
+
var agGridReact = require('ag-grid-react');
|
|
16
|
+
var agGridEnterprise = require('ag-grid-enterprise');
|
|
17
|
+
require('ag-grid-community/dist/styles/ag-grid.css');
|
|
18
|
+
require('ag-grid-community/dist/styles/ag-theme-balham.css');
|
|
15
19
|
var ReactFC = _interopDefault(require('react-fusioncharts'));
|
|
16
20
|
var FusionCharts = _interopDefault(require('fusioncharts'));
|
|
17
21
|
var Charts = _interopDefault(require('fusioncharts/fusioncharts.charts'));
|
|
@@ -81,6 +85,7 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
|
81
85
|
}
|
|
82
86
|
|
|
83
87
|
var Session = function Session() {};
|
|
88
|
+
Session.UseAgGridPivot = false;
|
|
84
89
|
|
|
85
90
|
var Tools = /*#__PURE__*/function () {
|
|
86
91
|
function Tools() {}
|
|
@@ -592,7 +597,103 @@ var getLast30DaysDates = function getLast30DaysDates(format) {
|
|
|
592
597
|
return dateValues;
|
|
593
598
|
};
|
|
594
599
|
|
|
595
|
-
var
|
|
600
|
+
var getDateRangesByPeriod = function getDateRangesByPeriod(_operator, _interval, _range, _format) {
|
|
601
|
+
if (_format === void 0) {
|
|
602
|
+
_format = "YYYYMMDD000000";
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
if (!_operator || !_interval || !_range) return null;
|
|
606
|
+
var result = {
|
|
607
|
+
date1: null,
|
|
608
|
+
date2: null
|
|
609
|
+
};
|
|
610
|
+
|
|
611
|
+
if (_operator.toLowerCase() == 'current') {
|
|
612
|
+
switch (_range) {
|
|
613
|
+
case "Day":
|
|
614
|
+
result.date1 = getTodayDates()[0];
|
|
615
|
+
result.date2 = getTodayDates()[1];
|
|
616
|
+
break;
|
|
617
|
+
|
|
618
|
+
case "Week":
|
|
619
|
+
result.date1 = getCurrentWeekDates()[0];
|
|
620
|
+
result.date2 = getCurrentWeekDates()[1];
|
|
621
|
+
break;
|
|
622
|
+
|
|
623
|
+
case "Month":
|
|
624
|
+
result.date1 = getCurrentMonthDates()[0];
|
|
625
|
+
result.date2 = getCurrentMonthDates()[1];
|
|
626
|
+
break;
|
|
627
|
+
|
|
628
|
+
case "Current_Month_To_Date":
|
|
629
|
+
case "Month To Date":
|
|
630
|
+
result.date1 = getCurrentMonthToDateDates()[0];
|
|
631
|
+
result.date2 = getCurrentMonthToDateDates()[1];
|
|
632
|
+
break;
|
|
633
|
+
|
|
634
|
+
case "Quarter":
|
|
635
|
+
result.date1 = getCurrentQuarterDates()[0];
|
|
636
|
+
result.date2 = getCurrentQuarterDates()[1];
|
|
637
|
+
break;
|
|
638
|
+
|
|
639
|
+
case "Current_Quarter_To_Date":
|
|
640
|
+
case "Quarter To Date":
|
|
641
|
+
result.date1 = getCurrentQuarterToDateDates()[0];
|
|
642
|
+
result.date2 = getCurrentQuarterToDateDates()[1];
|
|
643
|
+
break;
|
|
644
|
+
|
|
645
|
+
case "Year":
|
|
646
|
+
result.date1 = getCurrentYearDates()[0];
|
|
647
|
+
result.date2 = getCurrentYearDates()[1];
|
|
648
|
+
break;
|
|
649
|
+
|
|
650
|
+
case "Current_Year_To_Date":
|
|
651
|
+
case "Year To Date":
|
|
652
|
+
result.date1 = getCurrentYearToDateDates()[0];
|
|
653
|
+
result.date2 = getCurrentYearToDateDates()[1];
|
|
654
|
+
break;
|
|
655
|
+
}
|
|
656
|
+
} else {
|
|
657
|
+
var dateGroupCodes = {
|
|
658
|
+
'Day': 'days',
|
|
659
|
+
'Week': 'weeks',
|
|
660
|
+
'Month': 'months',
|
|
661
|
+
'Quarter': 'quarters',
|
|
662
|
+
'Year': 'years',
|
|
663
|
+
'Year To Date': 'years',
|
|
664
|
+
'Quarter To Date': 'quarters',
|
|
665
|
+
'Month To Date': 'months'
|
|
666
|
+
};
|
|
667
|
+
var customDateGroupCodes = ['Year To Date', 'Quarter To Date', 'Month To Date'];
|
|
668
|
+
|
|
669
|
+
if (_operator.toLowerCase() == 'next') {
|
|
670
|
+
result.date1 = moment().startOf(dateGroupCodes[_range]).add(1, dateGroupCodes[_range]).format(_format);
|
|
671
|
+
result.date2 = moment().startOf(dateGroupCodes[_range]).add(Number(_interval), dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
|
|
672
|
+
} else if (_operator.toLowerCase() == 'previous' && !customDateGroupCodes.includes(_range)) {
|
|
673
|
+
result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
|
|
674
|
+
result.date2 = moment().subtract(1, dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
|
|
675
|
+
} else if (_operator.toLowerCase() == 'previous' && customDateGroupCodes.includes(_range)) {
|
|
676
|
+
result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
|
|
677
|
+
result.date2 = moment().format(_format);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
return result;
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate, _operator, _interval, _range) {
|
|
685
|
+
if (_operator === void 0) {
|
|
686
|
+
_operator = null;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
if (_interval === void 0) {
|
|
690
|
+
_interval = null;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
if (_range === void 0) {
|
|
694
|
+
_range = null;
|
|
695
|
+
}
|
|
696
|
+
|
|
596
697
|
var result = {
|
|
597
698
|
fromDate: null,
|
|
598
699
|
toDate: null
|
|
@@ -700,6 +801,12 @@ var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate)
|
|
|
700
801
|
result.fromDate = getCurrentWeekDates()[0];
|
|
701
802
|
result.toDate = getCurrentWeekDates()[1];
|
|
702
803
|
break;
|
|
804
|
+
|
|
805
|
+
case "Previous_Next":
|
|
806
|
+
var previousNextDates = getDateRangesByPeriod(_operator || "", _interval || "", _range || "");
|
|
807
|
+
result.fromDate = previousNextDates && previousNextDates.date1 ? previousNextDates.date1 : null;
|
|
808
|
+
result.toDate = previousNextDates && previousNextDates.date2 ? previousNextDates.date2 : null;
|
|
809
|
+
break;
|
|
703
810
|
}
|
|
704
811
|
|
|
705
812
|
return result;
|
|
@@ -1098,11 +1205,18 @@ var KpiChart = function KpiChart(props) {
|
|
|
1098
1205
|
|
|
1099
1206
|
if (isKPISettingsActivated) {
|
|
1100
1207
|
var PeriodDateFilterDates = getDateRangesByCode(kpiSettings.PeriodDateFilter.DateTimeValueCode, null, null);
|
|
1101
|
-
var
|
|
1208
|
+
var comparePeriodOperator = kpiSettings.ComparePeriodDateFilter.DateRangeOperator || kpiSettings.ComparePeriodDateFilter.Operator;
|
|
1209
|
+
var comparePeriodInterval = kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue != null ? String(kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue) : null;
|
|
1210
|
+
var ComparePeriodDateFilterDates = kpiSettings.ComparisonPeriodType == 'Manually' ? getDateRangesByCode(kpiSettings.ComparePeriodDateFilter.DateTimeValueCode, kpiSettings.ComparePeriodDateFilter.FieldValue, kpiSettings.ComparePeriodDateFilter.FieldValue2, comparePeriodOperator, comparePeriodInterval, kpiSettings.ComparePeriodDateFilter.DateGroupCode) : getDateRangesByCode(null, null, null);
|
|
1102
1211
|
kpiSettings.PeriodDateFilter.FieldValue = PeriodDateFilterDates.fromDate;
|
|
1103
1212
|
kpiSettings.PeriodDateFilter.FieldValue2 = PeriodDateFilterDates.toDate;
|
|
1104
1213
|
kpiSettings.ComparePeriodDateFilter.FieldValue = ComparePeriodDateFilterDates.fromDate;
|
|
1105
1214
|
kpiSettings.ComparePeriodDateFilter.FieldValue2 = ComparePeriodDateFilterDates.toDate;
|
|
1215
|
+
|
|
1216
|
+
if (kpiSettings.ComparisonPeriodType == 'Manually' && kpiSettings.ComparePeriodDateFilter.DateTimeValueCode == 'Previous_Next') {
|
|
1217
|
+
kpiSettings.ComparePeriodDateFilter.Operator = 'Between';
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1106
1220
|
_updatedWidget.KPIComparisonSettings = JSON.stringify(kpiSettings);
|
|
1107
1221
|
}
|
|
1108
1222
|
|
|
@@ -2373,6 +2487,943 @@ var PivotTable = React.forwardRef(function (props, comRef) {
|
|
|
2373
2487
|
})));
|
|
2374
2488
|
});
|
|
2375
2489
|
|
|
2490
|
+
var isRowPivotField = function isRowPivotField(field) {
|
|
2491
|
+
return !!(field.PivotCode && field.PivotCode.indexOf('Row') !== -1);
|
|
2492
|
+
};
|
|
2493
|
+
var truncateToTwoDecimals = function truncateToTwoDecimals(value) {
|
|
2494
|
+
var numericValue = isNullOrUndefinedOrEmpty(value) ? 0 : Number(value);
|
|
2495
|
+
var safeValue = isNaN(numericValue) ? 0 : numericValue;
|
|
2496
|
+
var decimalParts = safeValue.toString().split('.');
|
|
2497
|
+
var firstPart = decimalParts[0] ? decimalParts[0] : '0';
|
|
2498
|
+
var secondPart = decimalParts[1] ? decimalParts[1].toString().substr(0, 2) : '0';
|
|
2499
|
+
return Number(firstPart + '.' + secondPart);
|
|
2500
|
+
};
|
|
2501
|
+
var isPivotMeasureValueEmpty = function isPivotMeasureValueEmpty(value) {
|
|
2502
|
+
return value === null || value === undefined || value === '';
|
|
2503
|
+
};
|
|
2504
|
+
var logitudeSumAgg = function logitudeSumAgg(params) {
|
|
2505
|
+
var values = params && params.values ? params.values : [];
|
|
2506
|
+
if (values.length === 0) return null;
|
|
2507
|
+
var total = 0;
|
|
2508
|
+
var hasValue = false;
|
|
2509
|
+
|
|
2510
|
+
for (var i = 0; i < values.length; i++) {
|
|
2511
|
+
if (isPivotMeasureValueEmpty(values[i])) continue;
|
|
2512
|
+
hasValue = true;
|
|
2513
|
+
total += truncateToTwoDecimals(values[i]);
|
|
2514
|
+
}
|
|
2515
|
+
|
|
2516
|
+
return hasValue ? total : null;
|
|
2517
|
+
};
|
|
2518
|
+
var formatPivotMeasureValue = function formatPivotMeasureValue(value, measure) {
|
|
2519
|
+
if (isPivotMeasureValueEmpty(value)) return '';
|
|
2520
|
+
var isInteger = isValueInteger(measure.MeasureCode, measure.MeasureFieldDataType);
|
|
2521
|
+
var minimumFraction = isInteger ? 0 : 2;
|
|
2522
|
+
return getNumberInSystemLocalFormat(value, 2, minimumFraction);
|
|
2523
|
+
};
|
|
2524
|
+
var getPivotGroupFooterLabel = function getPivotGroupFooterLabel(node, fieldCode, rawValue, lookupDisplayName) {
|
|
2525
|
+
if (!node || !node.footer) return '';
|
|
2526
|
+
|
|
2527
|
+
if (node.level === -1) {
|
|
2528
|
+
return 'Grand Total';
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
if (!fieldCode) return '';
|
|
2532
|
+
var displayName = lookupDisplayName(fieldCode, rawValue);
|
|
2533
|
+
return displayName ? displayName + " Total" : '';
|
|
2534
|
+
};
|
|
2535
|
+
var compareDimensionValues = function compareDimensionValues(aValue, bValue, dateCode, aText, bText) {
|
|
2536
|
+
if (dateCode === 'Month') {
|
|
2537
|
+
var aNumber = aValue == null ? -1 : Number(aValue);
|
|
2538
|
+
var bNumber = bValue == null ? -1 : Number(bValue);
|
|
2539
|
+
if (aNumber < bNumber) return -1;
|
|
2540
|
+
if (aNumber > bNumber) return 1;
|
|
2541
|
+
return 0;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
if (dateCode != null) {
|
|
2545
|
+
var aCompare = aValue == null ? '' : aValue;
|
|
2546
|
+
var bCompare = bValue == null ? '' : bValue;
|
|
2547
|
+
if (aCompare < bCompare) return -1;
|
|
2548
|
+
if (aCompare > bCompare) return 1;
|
|
2549
|
+
return 0;
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
var aDisplay = aText == null || aText === '' ? aValue == null ? '' : aValue : aText;
|
|
2553
|
+
var bDisplay = bText == null || bText === '' ? bValue == null ? '' : bValue : bText;
|
|
2554
|
+
if (aDisplay < bDisplay) return -1;
|
|
2555
|
+
if (aDisplay > bDisplay) return 1;
|
|
2556
|
+
return 0;
|
|
2557
|
+
};
|
|
2558
|
+
var getPivotDisplayName = function getPivotDisplayName(pivotData, fieldName, dataField, dataFieldValue) {
|
|
2559
|
+
if (!pivotData || pivotData.length === 0) return '';
|
|
2560
|
+
var data = pivotData.find(function (el) {
|
|
2561
|
+
return el[dataField] == dataFieldValue;
|
|
2562
|
+
});
|
|
2563
|
+
return data ? ConvertStringToPascalCaseHelper(data[fieldName]) : '';
|
|
2564
|
+
};
|
|
2565
|
+
var isPivotRowGrandTotalColumnDef = function isPivotRowGrandTotalColumnDef(colDef) {
|
|
2566
|
+
if (!colDef || !colDef.colId) {
|
|
2567
|
+
return false;
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2570
|
+
return String(colDef.colId).indexOf('PivotRowTotal_') === 0;
|
|
2571
|
+
};
|
|
2572
|
+
var isPivotRowGrandTotalGroupDef = function isPivotRowGrandTotalGroupDef(colGroupDef) {
|
|
2573
|
+
if (!colGroupDef) {
|
|
2574
|
+
return false;
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
var groupId = colGroupDef.groupId || colGroupDef.colId || '';
|
|
2578
|
+
|
|
2579
|
+
if (String(groupId).indexOf('PivotRowTotal') >= 0) {
|
|
2580
|
+
return true;
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2583
|
+
var children = colGroupDef.children;
|
|
2584
|
+
|
|
2585
|
+
if (!children || children.length === 0) {
|
|
2586
|
+
return false;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
return children.every(function (child) {
|
|
2590
|
+
if (child && child.children) {
|
|
2591
|
+
return isPivotRowGrandTotalGroupDef(child);
|
|
2592
|
+
}
|
|
2593
|
+
|
|
2594
|
+
return isPivotRowGrandTotalColumnDef(child);
|
|
2595
|
+
});
|
|
2596
|
+
};
|
|
2597
|
+
var resolvePivotGroupHeaderName = function resolvePivotGroupHeaderName(colGroupDef, columnFields, lookupDisplayName) {
|
|
2598
|
+
if (isPivotRowGrandTotalGroupDef(colGroupDef)) {
|
|
2599
|
+
return 'Grand Total';
|
|
2600
|
+
}
|
|
2601
|
+
|
|
2602
|
+
var pivotKeys = colGroupDef && colGroupDef.pivotKeys ? colGroupDef.pivotKeys : [];
|
|
2603
|
+
|
|
2604
|
+
if (pivotKeys.length === 0) {
|
|
2605
|
+
return null;
|
|
2606
|
+
}
|
|
2607
|
+
|
|
2608
|
+
var field = columnFields[pivotKeys.length - 1];
|
|
2609
|
+
|
|
2610
|
+
if (!field) {
|
|
2611
|
+
return null;
|
|
2612
|
+
}
|
|
2613
|
+
|
|
2614
|
+
return lookupDisplayName(field, pivotKeys[pivotKeys.length - 1]);
|
|
2615
|
+
};
|
|
2616
|
+
var getPivotValueColumnId = function getPivotValueColumnId(pivotValueColumn) {
|
|
2617
|
+
if (!pivotValueColumn) {
|
|
2618
|
+
return null;
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2621
|
+
if (typeof pivotValueColumn.getId === 'function') {
|
|
2622
|
+
return pivotValueColumn.getId();
|
|
2623
|
+
}
|
|
2624
|
+
|
|
2625
|
+
if (typeof pivotValueColumn.getColId === 'function') {
|
|
2626
|
+
return pivotValueColumn.getColId();
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2629
|
+
if (pivotValueColumn.colId) {
|
|
2630
|
+
return String(pivotValueColumn.colId);
|
|
2631
|
+
}
|
|
2632
|
+
|
|
2633
|
+
if (pivotValueColumn.field) {
|
|
2634
|
+
return String(pivotValueColumn.field);
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
return null;
|
|
2638
|
+
};
|
|
2639
|
+
var resolveMeasureFromPivotValueColumn = function resolveMeasureFromPivotValueColumn(colDef, measures) {
|
|
2640
|
+
if (!colDef || measures.length === 0) {
|
|
2641
|
+
return undefined;
|
|
2642
|
+
}
|
|
2643
|
+
|
|
2644
|
+
if (measures.length === 1) {
|
|
2645
|
+
return measures[0];
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
var valueColumnId = getPivotValueColumnId(colDef.pivotValueColumn);
|
|
2649
|
+
|
|
2650
|
+
if (valueColumnId) {
|
|
2651
|
+
var measureByValueColumn = measures.find(function (measure) {
|
|
2652
|
+
return measure.PivotMeasureCode === valueColumnId;
|
|
2653
|
+
});
|
|
2654
|
+
|
|
2655
|
+
if (measureByValueColumn) {
|
|
2656
|
+
return measureByValueColumn;
|
|
2657
|
+
}
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
var colId = colDef.colId ? String(colDef.colId) : '';
|
|
2661
|
+
|
|
2662
|
+
if (colId) {
|
|
2663
|
+
var sortedMeasures = [].concat(measures).sort(function (left, right) {
|
|
2664
|
+
return right.PivotMeasureCode.length - left.PivotMeasureCode.length;
|
|
2665
|
+
});
|
|
2666
|
+
|
|
2667
|
+
for (var index = 0; index < sortedMeasures.length; index++) {
|
|
2668
|
+
var measureCode = sortedMeasures[index].PivotMeasureCode;
|
|
2669
|
+
|
|
2670
|
+
if (colId.endsWith('_' + measureCode)) {
|
|
2671
|
+
return sortedMeasures[index];
|
|
2672
|
+
}
|
|
2673
|
+
}
|
|
2674
|
+
}
|
|
2675
|
+
|
|
2676
|
+
return undefined;
|
|
2677
|
+
};
|
|
2678
|
+
var resolvePivotLeafHeaderName = function resolvePivotLeafHeaderName(colDef, columnFields, lookupDisplayName, measureCount, measures) {
|
|
2679
|
+
if (isPivotRowGrandTotalColumnDef(colDef)) {
|
|
2680
|
+
return null;
|
|
2681
|
+
}
|
|
2682
|
+
|
|
2683
|
+
if (measureCount > 1 && colDef.pivotValueColumn) {
|
|
2684
|
+
return null;
|
|
2685
|
+
}
|
|
2686
|
+
|
|
2687
|
+
var pivotKeys = colDef && colDef.pivotKeys ? colDef.pivotKeys : [];
|
|
2688
|
+
|
|
2689
|
+
if (pivotKeys.length === 0) {
|
|
2690
|
+
return null;
|
|
2691
|
+
}
|
|
2692
|
+
|
|
2693
|
+
var field = columnFields[pivotKeys.length - 1];
|
|
2694
|
+
|
|
2695
|
+
if (!field) {
|
|
2696
|
+
return null;
|
|
2697
|
+
}
|
|
2698
|
+
|
|
2699
|
+
return lookupDisplayName(field, pivotKeys[pivotKeys.length - 1]);
|
|
2700
|
+
};
|
|
2701
|
+
var resolveMeasureForSecondaryColDef = function resolveMeasureForSecondaryColDef(colDef, measures) {
|
|
2702
|
+
return resolveMeasureFromPivotValueColumn(colDef, measures);
|
|
2703
|
+
};
|
|
2704
|
+
|
|
2705
|
+
var getColumnGroupAtHeaderLevel = function getColumnGroupAtHeaderLevel(column, targetLevel) {
|
|
2706
|
+
if (!column || typeof column.getParent !== 'function') {
|
|
2707
|
+
return null;
|
|
2708
|
+
}
|
|
2709
|
+
|
|
2710
|
+
var groupPointer = column.getParent();
|
|
2711
|
+
|
|
2712
|
+
while (groupPointer) {
|
|
2713
|
+
var providedColumnGroup = typeof groupPointer.getProvidedColumnGroup === 'function' ? groupPointer.getProvidedColumnGroup() : null;
|
|
2714
|
+
|
|
2715
|
+
if (!providedColumnGroup) {
|
|
2716
|
+
groupPointer = typeof groupPointer.getParent === 'function' ? groupPointer.getParent() : null;
|
|
2717
|
+
continue;
|
|
2718
|
+
}
|
|
2719
|
+
|
|
2720
|
+
var originalGroupLevel = typeof providedColumnGroup.getLevel === 'function' ? providedColumnGroup.getLevel() : 0;
|
|
2721
|
+
var groupPointerLevel = typeof groupPointer.getPaddingLevel === 'function' ? groupPointer.getPaddingLevel() : 0;
|
|
2722
|
+
|
|
2723
|
+
if (originalGroupLevel + groupPointerLevel <= targetLevel) {
|
|
2724
|
+
return groupPointer;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2727
|
+
groupPointer = typeof groupPointer.getParent === 'function' ? groupPointer.getParent() : null;
|
|
2728
|
+
}
|
|
2729
|
+
|
|
2730
|
+
return null;
|
|
2731
|
+
};
|
|
2732
|
+
|
|
2733
|
+
var escapeColumnIdSelector = function escapeColumnIdSelector(columnId) {
|
|
2734
|
+
if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {
|
|
2735
|
+
return CSS.escape(columnId);
|
|
2736
|
+
}
|
|
2737
|
+
|
|
2738
|
+
return columnId.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
2739
|
+
};
|
|
2740
|
+
|
|
2741
|
+
var findHeaderGroupCellByColumnGroup = function findHeaderGroupCellByColumnGroup(headerContainer, groupRows, targetGroupLevel, columnGroup) {
|
|
2742
|
+
if (!columnGroup || typeof columnGroup.getUniqueId !== 'function') {
|
|
2743
|
+
return null;
|
|
2744
|
+
}
|
|
2745
|
+
|
|
2746
|
+
var groupId = columnGroup.getUniqueId();
|
|
2747
|
+
var groupRowIndex = Math.min(Math.max(targetGroupLevel, 0), groupRows.length - 1);
|
|
2748
|
+
var targetGroupRow = groupRows[groupRowIndex];
|
|
2749
|
+
|
|
2750
|
+
if (!targetGroupRow) {
|
|
2751
|
+
return null;
|
|
2752
|
+
}
|
|
2753
|
+
|
|
2754
|
+
return targetGroupRow.querySelector("[col-id=\"" + escapeColumnIdSelector(groupId) + "\"]");
|
|
2755
|
+
};
|
|
2756
|
+
|
|
2757
|
+
var applyPivotRowGrandTotalGroupHeaderLabel = function applyPivotRowGrandTotalGroupHeaderLabel(gridRootElement, columnApi, measureCount, columnPivotFieldCount) {
|
|
2758
|
+
if (!gridRootElement || !columnApi || measureCount <= 1) {
|
|
2759
|
+
return;
|
|
2760
|
+
}
|
|
2761
|
+
|
|
2762
|
+
clearPivotRowGrandTotalGroupHeaderMarkup(gridRootElement);
|
|
2763
|
+
var displayedColumns = typeof columnApi.getAllDisplayedColumns === 'function' ? columnApi.getAllDisplayedColumns() : [];
|
|
2764
|
+
var rowGrandTotalColumns = displayedColumns.filter(function (column) {
|
|
2765
|
+
return String(column.getColId()).indexOf('PivotRowTotal_') === 0;
|
|
2766
|
+
});
|
|
2767
|
+
|
|
2768
|
+
if (rowGrandTotalColumns.length <= 1) {
|
|
2769
|
+
return;
|
|
2770
|
+
}
|
|
2771
|
+
|
|
2772
|
+
var centerHeaderContainer = gridRootElement.querySelector('.ag-header-viewport .ag-header-container');
|
|
2773
|
+
|
|
2774
|
+
if (!centerHeaderContainer) {
|
|
2775
|
+
return;
|
|
2776
|
+
}
|
|
2777
|
+
|
|
2778
|
+
var groupRows = Array.from(centerHeaderContainer.querySelectorAll('.ag-header-row-column-group'));
|
|
2779
|
+
|
|
2780
|
+
if (groupRows.length === 0) {
|
|
2781
|
+
return;
|
|
2782
|
+
}
|
|
2783
|
+
|
|
2784
|
+
var targetGroupLevel = columnPivotFieldCount > 0 ? columnPivotFieldCount - 1 : 0;
|
|
2785
|
+
var rowGrandTotalGroupCells = findRowGrandTotalGroupHeaderCells(centerHeaderContainer, groupRows, targetGroupLevel, rowGrandTotalColumns);
|
|
2786
|
+
|
|
2787
|
+
if (rowGrandTotalGroupCells.length === 0) {
|
|
2788
|
+
return;
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2791
|
+
applyGrandTotalLabelToGroupHeaderCells(rowGrandTotalGroupCells);
|
|
2792
|
+
};
|
|
2793
|
+
|
|
2794
|
+
var clearPivotRowGrandTotalGroupHeaderMarkup = function clearPivotRowGrandTotalGroupHeaderMarkup(gridRootElement) {
|
|
2795
|
+
gridRootElement.querySelectorAll('.dl-pivot-row-grand-total-group-header, .dl-pivot-row-grand-total-group-header-sibling').forEach(function (element) {
|
|
2796
|
+
element.classList.remove('dl-pivot-row-grand-total-group-header', 'dl-pivot-row-grand-total-group-header-sibling');
|
|
2797
|
+
});
|
|
2798
|
+
gridRootElement.querySelectorAll('.dl-pivot-row-grand-total-group-header-label').forEach(function (label) {
|
|
2799
|
+
label.classList.remove('dl-pivot-row-grand-total-group-header-label');
|
|
2800
|
+
var labelElement = label;
|
|
2801
|
+
labelElement.textContent = '';
|
|
2802
|
+
labelElement.style.width = '';
|
|
2803
|
+
labelElement.style.display = '';
|
|
2804
|
+
labelElement.style.textAlign = '';
|
|
2805
|
+
});
|
|
2806
|
+
};
|
|
2807
|
+
|
|
2808
|
+
var findRowGrandTotalGroupHeaderCells = function findRowGrandTotalGroupHeaderCells(centerHeaderContainer, groupRows, targetGroupLevel, rowGrandTotalColumns) {
|
|
2809
|
+
var cellsByColumnGroup = [];
|
|
2810
|
+
rowGrandTotalColumns.forEach(function (column) {
|
|
2811
|
+
var columnGroup = getColumnGroupAtHeaderLevel(column, targetGroupLevel);
|
|
2812
|
+
var matchingCell = findHeaderGroupCellByColumnGroup(centerHeaderContainer, groupRows, targetGroupLevel, columnGroup);
|
|
2813
|
+
|
|
2814
|
+
if (matchingCell) {
|
|
2815
|
+
cellsByColumnGroup.push(matchingCell);
|
|
2816
|
+
}
|
|
2817
|
+
});
|
|
2818
|
+
|
|
2819
|
+
if (cellsByColumnGroup.length === rowGrandTotalColumns.length) {
|
|
2820
|
+
return cellsByColumnGroup;
|
|
2821
|
+
}
|
|
2822
|
+
|
|
2823
|
+
var groupRowIndex = Math.min(Math.max(targetGroupLevel, 0), groupRows.length - 1);
|
|
2824
|
+
var targetGroupRow = groupRows[groupRowIndex];
|
|
2825
|
+
|
|
2826
|
+
if (!targetGroupRow) {
|
|
2827
|
+
return cellsByColumnGroup;
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2830
|
+
var paddingCells = Array.from(targetGroupRow.querySelectorAll('.ag-header-group-cell-no-group'));
|
|
2831
|
+
var trailingPaddingCells = paddingCells.slice(-rowGrandTotalColumns.length);
|
|
2832
|
+
|
|
2833
|
+
if (trailingPaddingCells.length === rowGrandTotalColumns.length) {
|
|
2834
|
+
return trailingPaddingCells;
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
return cellsByColumnGroup;
|
|
2838
|
+
};
|
|
2839
|
+
|
|
2840
|
+
var applyGrandTotalLabelToGroupHeaderCells = function applyGrandTotalLabelToGroupHeaderCells(rowGrandTotalGroupCells) {
|
|
2841
|
+
var firstCell = rowGrandTotalGroupCells[0];
|
|
2842
|
+
var firstLabel = firstCell.querySelector('.ag-header-group-text, .ag-header-cell-text');
|
|
2843
|
+
|
|
2844
|
+
if (!firstLabel) {
|
|
2845
|
+
return;
|
|
2846
|
+
}
|
|
2847
|
+
|
|
2848
|
+
var combinedWidth = rowGrandTotalGroupCells.reduce(function (totalWidth, cell) {
|
|
2849
|
+
return totalWidth + cell.offsetWidth;
|
|
2850
|
+
}, 0);
|
|
2851
|
+
firstLabel.textContent = 'Grand Total';
|
|
2852
|
+
firstLabel.style.width = combinedWidth + "px";
|
|
2853
|
+
firstLabel.style.display = 'inline-block';
|
|
2854
|
+
firstLabel.style.textAlign = 'center';
|
|
2855
|
+
firstLabel.classList.add('dl-pivot-row-grand-total-group-header-label');
|
|
2856
|
+
firstCell.classList.add('dl-pivot-row-grand-total-group-header');
|
|
2857
|
+
|
|
2858
|
+
for (var index = 1; index < rowGrandTotalGroupCells.length; index++) {
|
|
2859
|
+
rowGrandTotalGroupCells[index].classList.add('dl-pivot-row-grand-total-group-header-sibling');
|
|
2860
|
+
var siblingLabel = rowGrandTotalGroupCells[index].querySelector('.ag-header-group-text, .ag-header-cell-text');
|
|
2861
|
+
|
|
2862
|
+
if (siblingLabel) {
|
|
2863
|
+
siblingLabel.textContent = '';
|
|
2864
|
+
}
|
|
2865
|
+
}
|
|
2866
|
+
};
|
|
2867
|
+
|
|
2868
|
+
var applyPivotRowGrandTotalHeader = function applyPivotRowGrandTotalHeader(colDef, measureCount, measures) {
|
|
2869
|
+
if (!isPivotRowGrandTotalColumnDef(colDef)) {
|
|
2870
|
+
return;
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
if (measureCount <= 1) {
|
|
2874
|
+
colDef.headerName = 'Grand Total';
|
|
2875
|
+
return;
|
|
2876
|
+
}
|
|
2877
|
+
|
|
2878
|
+
var measure = resolveMeasureFromPivotValueColumn(colDef, measures);
|
|
2879
|
+
|
|
2880
|
+
if (measure) {
|
|
2881
|
+
colDef.headerName = getMeasureCaption(measure);
|
|
2882
|
+
}
|
|
2883
|
+
|
|
2884
|
+
delete colDef.headerValueGetter;
|
|
2885
|
+
};
|
|
2886
|
+
var collectPivotRowPath = function collectPivotRowPath(startNode) {
|
|
2887
|
+
var path = [];
|
|
2888
|
+
|
|
2889
|
+
if (!startNode) {
|
|
2890
|
+
return path;
|
|
2891
|
+
}
|
|
2892
|
+
|
|
2893
|
+
if (startNode.footer) {
|
|
2894
|
+
if (startNode.level === -1) {
|
|
2895
|
+
return path;
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
if (startNode.field != null && startNode.key !== undefined) {
|
|
2899
|
+
path.unshift({
|
|
2900
|
+
field: startNode.field,
|
|
2901
|
+
key: startNode.key
|
|
2902
|
+
});
|
|
2903
|
+
}
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
var node = startNode.parent;
|
|
2907
|
+
|
|
2908
|
+
while (node && node.level >= 0) {
|
|
2909
|
+
if (!node.footer && node.field != null && node.key !== undefined) {
|
|
2910
|
+
path.unshift({
|
|
2911
|
+
field: node.field,
|
|
2912
|
+
key: node.key
|
|
2913
|
+
});
|
|
2914
|
+
}
|
|
2915
|
+
|
|
2916
|
+
node = node.parent;
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
return path;
|
|
2920
|
+
};
|
|
2921
|
+
var buildPivotDrillDownPivotFields = function buildPivotDrillDownPivotFields(colDef, startNode, apiFields) {
|
|
2922
|
+
var columnFields = apiFields.filter(function (field) {
|
|
2923
|
+
return !isRowPivotField(field);
|
|
2924
|
+
});
|
|
2925
|
+
var rowFields = apiFields.filter(isRowPivotField);
|
|
2926
|
+
var pivotFields = [];
|
|
2927
|
+
var columnKeys = colDef && colDef.pivotKeys ? colDef.pivotKeys : [];
|
|
2928
|
+
columnKeys.forEach(function (key, index) {
|
|
2929
|
+
if (key === undefined) {
|
|
2930
|
+
return;
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2933
|
+
var field = columnFields[index];
|
|
2934
|
+
|
|
2935
|
+
if (!field) {
|
|
2936
|
+
return;
|
|
2937
|
+
}
|
|
2938
|
+
|
|
2939
|
+
pivotFields.push({
|
|
2940
|
+
FieldId: field.FieldId,
|
|
2941
|
+
FieldType: field.FieldType ? field.FieldType : 'Field',
|
|
2942
|
+
FieldValue: key,
|
|
2943
|
+
DateCode: field.DateCode
|
|
2944
|
+
});
|
|
2945
|
+
});
|
|
2946
|
+
collectPivotRowPath(startNode).forEach(function (pathItem) {
|
|
2947
|
+
var field = rowFields.find(function (f) {
|
|
2948
|
+
return f.PivotCode === pathItem.field;
|
|
2949
|
+
}) || apiFields.find(function (f) {
|
|
2950
|
+
return f.PivotCode === pathItem.field;
|
|
2951
|
+
});
|
|
2952
|
+
|
|
2953
|
+
if (!field) {
|
|
2954
|
+
return;
|
|
2955
|
+
}
|
|
2956
|
+
|
|
2957
|
+
pivotFields.push({
|
|
2958
|
+
FieldId: field.FieldId,
|
|
2959
|
+
FieldType: field.FieldType ? field.FieldType : 'Field',
|
|
2960
|
+
FieldValue: pathItem.key,
|
|
2961
|
+
DateCode: field.DateCode
|
|
2962
|
+
});
|
|
2963
|
+
});
|
|
2964
|
+
return pivotFields;
|
|
2965
|
+
};
|
|
2966
|
+
var getMeasureCaption = function getMeasureCaption(measure) {
|
|
2967
|
+
var displayName = typeof measure.DisplayName == 'string' ? measure.DisplayName : '';
|
|
2968
|
+
|
|
2969
|
+
if (measure.MeasureCode == 'Sum') {
|
|
2970
|
+
return ConvertStringToPascalCaseHelper(displayName.replace('Sum of ', ''));
|
|
2971
|
+
}
|
|
2972
|
+
|
|
2973
|
+
return ConvertStringToPascalCaseHelper(displayName);
|
|
2974
|
+
};
|
|
2975
|
+
var parseJsonArray = function parseJsonArray(json) {
|
|
2976
|
+
if (isNullOrUndefinedOrEmpty(json)) return [];
|
|
2977
|
+
|
|
2978
|
+
try {
|
|
2979
|
+
var parsed = JSON.parse(json);
|
|
2980
|
+
return parsed || [];
|
|
2981
|
+
} catch (error) {
|
|
2982
|
+
return [];
|
|
2983
|
+
}
|
|
2984
|
+
};
|
|
2985
|
+
var parsePivotTotalsSettings = function parsePivotTotalsSettings(json) {
|
|
2986
|
+
if (isNullOrUndefinedOrEmpty(json)) return {};
|
|
2987
|
+
|
|
2988
|
+
try {
|
|
2989
|
+
return JSON.parse(json) || {};
|
|
2990
|
+
} catch (error) {
|
|
2991
|
+
return {};
|
|
2992
|
+
}
|
|
2993
|
+
};
|
|
2994
|
+
|
|
2995
|
+
var ROW_GROUP_COLUMN_MIN_WIDTH = 100;
|
|
2996
|
+
|
|
2997
|
+
var applyAgGridLicense = function applyAgGridLicense() {
|
|
2998
|
+
if (!Session.AgGridLicenseKey) return;
|
|
2999
|
+
agGridEnterprise.LicenseManager.setLicenseKey(Session.AgGridLicenseKey);
|
|
3000
|
+
};
|
|
3001
|
+
|
|
3002
|
+
var AgPivotGrid = React.forwardRef(function (props, _comRef) {
|
|
3003
|
+
var _useState = React.useState(),
|
|
3004
|
+
widget = _useState[0],
|
|
3005
|
+
setWidget = _useState[1];
|
|
3006
|
+
|
|
3007
|
+
var _useState2 = React.useState(true),
|
|
3008
|
+
isLoading = _useState2[0],
|
|
3009
|
+
setIsLoading = _useState2[1];
|
|
3010
|
+
|
|
3011
|
+
var _useState3 = React.useState([]),
|
|
3012
|
+
rowData = _useState3[0],
|
|
3013
|
+
setRowData = _useState3[1];
|
|
3014
|
+
|
|
3015
|
+
var _useState4 = React.useState([]),
|
|
3016
|
+
columnDefs = _useState4[0],
|
|
3017
|
+
setColumnDefs = _useState4[1];
|
|
3018
|
+
|
|
3019
|
+
var _useState5 = React.useState(0),
|
|
3020
|
+
measureCount = _useState5[0],
|
|
3021
|
+
setMeasureCount = _useState5[1];
|
|
3022
|
+
|
|
3023
|
+
var widgetRefData = React.useRef(null);
|
|
3024
|
+
var tabledata = React.useRef();
|
|
3025
|
+
var gridApiRef = React.useRef(null);
|
|
3026
|
+
var columnApiRef = React.useRef(null);
|
|
3027
|
+
var gridContainerRef = React.useRef(null);
|
|
3028
|
+
var pivotFieldsRef = React.useRef([]);
|
|
3029
|
+
var pivotMeasuresRef = React.useRef([]);
|
|
3030
|
+
React.useEffect(function () {
|
|
3031
|
+
var _props$customChartPro;
|
|
3032
|
+
|
|
3033
|
+
applyAgGridLicense();
|
|
3034
|
+
|
|
3035
|
+
if (props.customChartProps && props.customChartProps.widget) {
|
|
3036
|
+
setWidget(props.customChartProps.widget);
|
|
3037
|
+
widgetRefData.current = props.customChartProps.widget;
|
|
3038
|
+
getPivotTableData(props.customChartProps.widget);
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
(_props$customChartPro = props.customChartProps.dataBinding) === null || _props$customChartPro === void 0 ? void 0 : _props$customChartPro.widgetUpdated.subscribe(function (updatedWidget) {
|
|
3042
|
+
var _widgetRefData$curren;
|
|
3043
|
+
|
|
3044
|
+
if ((updatedWidget === null || updatedWidget === void 0 ? void 0 : updatedWidget.key) != ((_widgetRefData$curren = widgetRefData.current) === null || _widgetRefData$curren === void 0 ? void 0 : _widgetRefData$curren.key)) return;
|
|
3045
|
+
setWidget(_extends({}, updatedWidget));
|
|
3046
|
+
});
|
|
3047
|
+
document.addEventListener('resizeStop', handleResize);
|
|
3048
|
+
return function () {
|
|
3049
|
+
document.removeEventListener('resizeStop', handleResize);
|
|
3050
|
+
};
|
|
3051
|
+
}, []);
|
|
3052
|
+
React.useEffect(function () {
|
|
3053
|
+
if (!props.customChartProps.isInEditMode) return;
|
|
3054
|
+
|
|
3055
|
+
if (gridContainerRef.current && gridContainerRef.current.classList) {
|
|
3056
|
+
gridContainerRef.current.classList.add('force-overflow-hidden');
|
|
3057
|
+
}
|
|
3058
|
+
|
|
3059
|
+
setTimeout(function () {
|
|
3060
|
+
handleResize();
|
|
3061
|
+
|
|
3062
|
+
if (gridContainerRef.current && gridContainerRef.current.classList) {
|
|
3063
|
+
gridContainerRef.current.classList.remove('force-overflow-hidden');
|
|
3064
|
+
}
|
|
3065
|
+
}, 5);
|
|
3066
|
+
}, [props.customChartProps.isInEditMode]);
|
|
3067
|
+
|
|
3068
|
+
var handleResize = function handleResize() {
|
|
3069
|
+
if (gridApiRef.current && gridApiRef.current.resetRowHeights) {
|
|
3070
|
+
gridApiRef.current.resetRowHeights();
|
|
3071
|
+
}
|
|
3072
|
+
};
|
|
3073
|
+
|
|
3074
|
+
var getPivotTableData = function getPivotTableData(widgetPm) {
|
|
3075
|
+
if (Session.Tenant == 0) {
|
|
3076
|
+
tabledata.current = [];
|
|
3077
|
+
setRowData([]);
|
|
3078
|
+
setIsLoading(false);
|
|
3079
|
+
return;
|
|
3080
|
+
}
|
|
3081
|
+
|
|
3082
|
+
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
3083
|
+
var widgetLoadLogger = new WidgetLoadLogger(props.customChartProps.widget, props.customChartProps.isPreviewModeActive, 'PostGetPivotData');
|
|
3084
|
+
dashboardAnalyticsService.getPivotData(widgetPm).then(function (res) {
|
|
3085
|
+
tabledata.current = res.data;
|
|
3086
|
+
buildGridFromPivotResponse();
|
|
3087
|
+
setIsLoading(false);
|
|
3088
|
+
widgetLoadLogger.log(res);
|
|
3089
|
+
})["catch"](function (err) {
|
|
3090
|
+
console.log('Error while Getting Pivot Table Data: ', err);
|
|
3091
|
+
tabledata.current = null;
|
|
3092
|
+
setRowData([]);
|
|
3093
|
+
setIsLoading(false);
|
|
3094
|
+
});
|
|
3095
|
+
};
|
|
3096
|
+
|
|
3097
|
+
var lookupDisplayName = function lookupDisplayName(field, rawValue) {
|
|
3098
|
+
var pivotData = tabledata.current && tabledata.current.PivotData ? tabledata.current.PivotData : [];
|
|
3099
|
+
return getPivotDisplayName(pivotData, field.PivotName, field.PivotCode, rawValue);
|
|
3100
|
+
};
|
|
3101
|
+
|
|
3102
|
+
var lookupDisplayNameByFieldCode = function lookupDisplayNameByFieldCode(fieldCode, rawValue) {
|
|
3103
|
+
var field = pivotFieldsRef.current.find(function (f) {
|
|
3104
|
+
return f.PivotCode === fieldCode;
|
|
3105
|
+
});
|
|
3106
|
+
if (!field) return rawValue == null ? '' : String(rawValue);
|
|
3107
|
+
return lookupDisplayName(field, rawValue);
|
|
3108
|
+
};
|
|
3109
|
+
|
|
3110
|
+
var applyPivotDataCellFormatting = function applyPivotDataCellFormatting(colDef) {
|
|
3111
|
+
colDef.sortable = false;
|
|
3112
|
+
colDef.filter = false;
|
|
3113
|
+
colDef.cellClass = 'dl-ag-pivot-data-cell';
|
|
3114
|
+
colDef.type = 'numericColumn';
|
|
3115
|
+
};
|
|
3116
|
+
|
|
3117
|
+
var buildGridFromPivotResponse = function buildGridFromPivotResponse() {
|
|
3118
|
+
if (!tabledata.current || !tabledata.current.PivoFields || !tabledata.current.PivotMeasures) {
|
|
3119
|
+
setRowData([]);
|
|
3120
|
+
return;
|
|
3121
|
+
}
|
|
3122
|
+
|
|
3123
|
+
var apiFields = tabledata.current.PivoFields;
|
|
3124
|
+
var apiMeasures = tabledata.current.PivotMeasures;
|
|
3125
|
+
pivotFieldsRef.current = apiFields;
|
|
3126
|
+
pivotMeasuresRef.current = apiMeasures;
|
|
3127
|
+
setMeasureCount(apiMeasures.length);
|
|
3128
|
+
var rowFields = apiFields.filter(isRowPivotField);
|
|
3129
|
+
var columnFields = apiFields.filter(function (field) {
|
|
3130
|
+
return !isRowPivotField(field);
|
|
3131
|
+
});
|
|
3132
|
+
var defs = [];
|
|
3133
|
+
rowFields.forEach(function (field, index) {
|
|
3134
|
+
defs.push(createRowGroupColDef(field, index));
|
|
3135
|
+
});
|
|
3136
|
+
columnFields.forEach(function (field, index) {
|
|
3137
|
+
defs.push(createPivotColDef(field, index));
|
|
3138
|
+
});
|
|
3139
|
+
apiMeasures.forEach(function (measure) {
|
|
3140
|
+
defs.push(createMeasureColDef(measure));
|
|
3141
|
+
});
|
|
3142
|
+
setColumnDefs(defs);
|
|
3143
|
+
setRowData(tabledata.current.PivotData || []);
|
|
3144
|
+
};
|
|
3145
|
+
|
|
3146
|
+
var createRowGroupColDef = function createRowGroupColDef(field, index) {
|
|
3147
|
+
return {
|
|
3148
|
+
field: field.PivotCode,
|
|
3149
|
+
headerName: field.DisplayName,
|
|
3150
|
+
rowGroup: true,
|
|
3151
|
+
rowGroupIndex: index,
|
|
3152
|
+
enableRowGroup: true,
|
|
3153
|
+
hide: true,
|
|
3154
|
+
width: ROW_GROUP_COLUMN_MIN_WIDTH,
|
|
3155
|
+
wrapText: true,
|
|
3156
|
+
autoHeight: true,
|
|
3157
|
+
sortable: false,
|
|
3158
|
+
filter: false,
|
|
3159
|
+
comparator: function comparator(a, b) {
|
|
3160
|
+
return compareDimensionValues(a, b, field.DateCode, lookupDisplayName(field, a), lookupDisplayName(field, b));
|
|
3161
|
+
},
|
|
3162
|
+
valueFormatter: function valueFormatter(params) {
|
|
3163
|
+
return lookupDisplayName(field, params.value);
|
|
3164
|
+
}
|
|
3165
|
+
};
|
|
3166
|
+
};
|
|
3167
|
+
|
|
3168
|
+
var createPivotColDef = function createPivotColDef(field, index) {
|
|
3169
|
+
return {
|
|
3170
|
+
field: field.PivotCode,
|
|
3171
|
+
headerName: field.DisplayName,
|
|
3172
|
+
pivot: true,
|
|
3173
|
+
pivotIndex: index,
|
|
3174
|
+
enablePivot: true,
|
|
3175
|
+
hide: true,
|
|
3176
|
+
sortable: false,
|
|
3177
|
+
filter: false,
|
|
3178
|
+
pivotComparator: function pivotComparator(a, b) {
|
|
3179
|
+
return compareDimensionValues(a, b, field.DateCode, lookupDisplayName(field, a), lookupDisplayName(field, b));
|
|
3180
|
+
}
|
|
3181
|
+
};
|
|
3182
|
+
};
|
|
3183
|
+
|
|
3184
|
+
var createMeasureColDef = function createMeasureColDef(measure) {
|
|
3185
|
+
return {
|
|
3186
|
+
field: measure.PivotMeasureCode,
|
|
3187
|
+
headerName: getMeasureCaption(measure),
|
|
3188
|
+
aggFunc: 'logitudeSum',
|
|
3189
|
+
enableValue: true,
|
|
3190
|
+
wrapText: true,
|
|
3191
|
+
autoHeight: true,
|
|
3192
|
+
sortable: false,
|
|
3193
|
+
filter: false,
|
|
3194
|
+
cellClass: 'dl-ag-pivot-data-cell',
|
|
3195
|
+
type: 'numericColumn',
|
|
3196
|
+
valueFormatter: function valueFormatter(params) {
|
|
3197
|
+
return formatPivotMeasureValue(params.value, measure);
|
|
3198
|
+
}
|
|
3199
|
+
};
|
|
3200
|
+
};
|
|
3201
|
+
|
|
3202
|
+
var isRowsEmptyAndColumnsNotEmpty = function isRowsEmptyAndColumnsNotEmpty() {
|
|
3203
|
+
var pivotRows = parseJsonArray(widget === null || widget === void 0 ? void 0 : widget.PivotRows);
|
|
3204
|
+
var pivotColumns = parseJsonArray(widget === null || widget === void 0 ? void 0 : widget.PivotColumns);
|
|
3205
|
+
return pivotRows.length === 0 && pivotColumns.length > 0;
|
|
3206
|
+
};
|
|
3207
|
+
|
|
3208
|
+
var isRowsNotEmptyAndColumnsEmpty = function isRowsNotEmptyAndColumnsEmpty() {
|
|
3209
|
+
var pivotRows = parseJsonArray(widget === null || widget === void 0 ? void 0 : widget.PivotRows);
|
|
3210
|
+
var pivotColumns = parseJsonArray(widget === null || widget === void 0 ? void 0 : widget.PivotColumns);
|
|
3211
|
+
return pivotRows.length > 0 && pivotColumns.length === 0;
|
|
3212
|
+
};
|
|
3213
|
+
|
|
3214
|
+
var canShowRowsGrandTotal = function canShowRowsGrandTotal() {
|
|
3215
|
+
if (isRowsEmptyAndColumnsNotEmpty()) return true;
|
|
3216
|
+
var settings = parsePivotTotalsSettings(widget === null || widget === void 0 ? void 0 : widget.PivotTotalsSettings);
|
|
3217
|
+
return !isNullOrUndefinedOrEmpty(settings.ShowRowsGrandTotal) ? !!settings.ShowRowsGrandTotal : false;
|
|
3218
|
+
};
|
|
3219
|
+
|
|
3220
|
+
var canShowColumnsGrandTotal = function canShowColumnsGrandTotal() {
|
|
3221
|
+
if (isRowsNotEmptyAndColumnsEmpty()) return true;
|
|
3222
|
+
var settings = parsePivotTotalsSettings(widget === null || widget === void 0 ? void 0 : widget.PivotTotalsSettings);
|
|
3223
|
+
return !isNullOrUndefinedOrEmpty(settings.ShowColumnsGrandTotal) ? !!settings.ShowColumnsGrandTotal : false;
|
|
3224
|
+
};
|
|
3225
|
+
|
|
3226
|
+
var canShowRowsTotal = function canShowRowsTotal() {
|
|
3227
|
+
var settings = parsePivotTotalsSettings(widget === null || widget === void 0 ? void 0 : widget.PivotTotalsSettings);
|
|
3228
|
+
return !isNullOrUndefinedOrEmpty(settings.ShowRowsTotal) ? !!settings.ShowRowsTotal : false;
|
|
3229
|
+
};
|
|
3230
|
+
|
|
3231
|
+
var canShowColumnsTotal = function canShowColumnsTotal() {
|
|
3232
|
+
var settings = parsePivotTotalsSettings(widget === null || widget === void 0 ? void 0 : widget.PivotTotalsSettings);
|
|
3233
|
+
return !isNullOrUndefinedOrEmpty(settings.ShowColumnsTotal) ? !!settings.ShowColumnsTotal : false;
|
|
3234
|
+
};
|
|
3235
|
+
|
|
3236
|
+
var isSingleMeasurePivot = measureCount <= 1;
|
|
3237
|
+
var processSecondaryColGroupDef = React.useCallback(function (colGroupDef) {
|
|
3238
|
+
var columnFields = pivotFieldsRef.current.filter(function (field) {
|
|
3239
|
+
return !isRowPivotField(field);
|
|
3240
|
+
});
|
|
3241
|
+
var headerName = resolvePivotGroupHeaderName(colGroupDef, columnFields, lookupDisplayName);
|
|
3242
|
+
|
|
3243
|
+
if (headerName) {
|
|
3244
|
+
colGroupDef.headerName = headerName;
|
|
3245
|
+
}
|
|
3246
|
+
}, []);
|
|
3247
|
+
var processSecondaryColDef = React.useCallback(function (colDef) {
|
|
3248
|
+
var columnFields = pivotFieldsRef.current.filter(function (field) {
|
|
3249
|
+
return !isRowPivotField(field);
|
|
3250
|
+
});
|
|
3251
|
+
var colDefAny = colDef;
|
|
3252
|
+
|
|
3253
|
+
if (colDefAny.colId && String(colDefAny.colId).indexOf('PivotRowTotal_') === 0) {
|
|
3254
|
+
applyPivotRowGrandTotalHeader(colDefAny, pivotMeasuresRef.current.length, pivotMeasuresRef.current);
|
|
3255
|
+
} else {
|
|
3256
|
+
var headerName = resolvePivotLeafHeaderName(colDefAny, columnFields, lookupDisplayName, pivotMeasuresRef.current.length);
|
|
3257
|
+
|
|
3258
|
+
if (headerName) {
|
|
3259
|
+
colDef.headerName = headerName;
|
|
3260
|
+
}
|
|
3261
|
+
}
|
|
3262
|
+
|
|
3263
|
+
applyPivotDataCellFormatting(colDef);
|
|
3264
|
+
|
|
3265
|
+
colDef.valueFormatter = function (params) {
|
|
3266
|
+
var measure = resolveMeasureForSecondaryColDef(params.colDef, pivotMeasuresRef.current);
|
|
3267
|
+
if (!measure) return '';
|
|
3268
|
+
return formatPivotMeasureValue(params.value, measure);
|
|
3269
|
+
};
|
|
3270
|
+
}, []);
|
|
3271
|
+
var onCellClicked = React.useCallback(function (event) {
|
|
3272
|
+
var colDef = event.colDef;
|
|
3273
|
+
if (!colDef || !colDef.pivotValueColumn) return;
|
|
3274
|
+
if (isPivotMeasureValueEmpty(event.value)) return;
|
|
3275
|
+
var pivotFields = buildPivotDrillDownPivotFields(colDef, event.node, pivotFieldsRef.current);
|
|
3276
|
+
props.customChartProps.onSelectDataPoint({
|
|
3277
|
+
MeasureFieldId: '',
|
|
3278
|
+
MeasureFieldType: '',
|
|
3279
|
+
Widget: props.customChartProps.widget,
|
|
3280
|
+
MeasureCode: '',
|
|
3281
|
+
Formula: '',
|
|
3282
|
+
GroupById: '',
|
|
3283
|
+
PivotFields: pivotFields
|
|
3284
|
+
});
|
|
3285
|
+
}, []);
|
|
3286
|
+
var defaultColDef = React.useMemo(function () {
|
|
3287
|
+
return {
|
|
3288
|
+
sortable: false,
|
|
3289
|
+
filter: false,
|
|
3290
|
+
resizable: false,
|
|
3291
|
+
suppressMenu: true,
|
|
3292
|
+
wrapText: true,
|
|
3293
|
+
autoHeight: true
|
|
3294
|
+
};
|
|
3295
|
+
}, []);
|
|
3296
|
+
var autoGroupColumnDef = React.useMemo(function () {
|
|
3297
|
+
return {
|
|
3298
|
+
minWidth: ROW_GROUP_COLUMN_MIN_WIDTH,
|
|
3299
|
+
width: ROW_GROUP_COLUMN_MIN_WIDTH,
|
|
3300
|
+
sortable: false,
|
|
3301
|
+
filter: false,
|
|
3302
|
+
wrapText: true,
|
|
3303
|
+
autoHeight: true,
|
|
3304
|
+
cellClass: 'dl-ag-pivot-row-label-cell',
|
|
3305
|
+
headerValueGetter: function headerValueGetter(params) {
|
|
3306
|
+
var colDef = params.colDef;
|
|
3307
|
+
var showRowGroup = colDef && colDef.showRowGroup;
|
|
3308
|
+
if (!showRowGroup) return '';
|
|
3309
|
+
var field = pivotFieldsRef.current.find(function (f) {
|
|
3310
|
+
return f.PivotCode === showRowGroup;
|
|
3311
|
+
});
|
|
3312
|
+
return field ? field.DisplayName : '';
|
|
3313
|
+
},
|
|
3314
|
+
valueFormatter: function valueFormatter(params) {
|
|
3315
|
+
var colDef = params.colDef;
|
|
3316
|
+
var showRowGroup = colDef && colDef.showRowGroup;
|
|
3317
|
+
var field = pivotFieldsRef.current.find(function (f) {
|
|
3318
|
+
return f.PivotCode === showRowGroup;
|
|
3319
|
+
});
|
|
3320
|
+
if (!field) return params.value == null ? '' : String(params.value);
|
|
3321
|
+
return lookupDisplayName(field, params.value);
|
|
3322
|
+
},
|
|
3323
|
+
cellRendererParams: {
|
|
3324
|
+
suppressCount: true,
|
|
3325
|
+
footerValueGetter: function footerValueGetter(params) {
|
|
3326
|
+
var fieldCode = params.node && params.node.field ? params.node.field : params.colDef && params.colDef.showRowGroup ? params.colDef.showRowGroup : null;
|
|
3327
|
+
return getPivotGroupFooterLabel(params.node, fieldCode, params.value, lookupDisplayNameByFieldCode);
|
|
3328
|
+
}
|
|
3329
|
+
}
|
|
3330
|
+
};
|
|
3331
|
+
}, []);
|
|
3332
|
+
var aggFuncs = React.useMemo(function () {
|
|
3333
|
+
return {
|
|
3334
|
+
logitudeSum: logitudeSumAgg
|
|
3335
|
+
};
|
|
3336
|
+
}, []);
|
|
3337
|
+
var scheduleRowGrandTotalHeaderLabel = React.useCallback(function () {
|
|
3338
|
+
var columnPivotFieldCount = pivotFieldsRef.current.filter(function (field) {
|
|
3339
|
+
return !isRowPivotField(field);
|
|
3340
|
+
}).length;
|
|
3341
|
+
|
|
3342
|
+
var applyLabel = function applyLabel() {
|
|
3343
|
+
applyPivotRowGrandTotalGroupHeaderLabel(gridContainerRef.current, columnApiRef.current, measureCount, columnPivotFieldCount);
|
|
3344
|
+
};
|
|
3345
|
+
|
|
3346
|
+
window.requestAnimationFrame(function () {
|
|
3347
|
+
window.requestAnimationFrame(function () {
|
|
3348
|
+
applyLabel();
|
|
3349
|
+
window.setTimeout(applyLabel, 150);
|
|
3350
|
+
});
|
|
3351
|
+
});
|
|
3352
|
+
}, [measureCount]);
|
|
3353
|
+
|
|
3354
|
+
var onGridReady = function onGridReady(event) {
|
|
3355
|
+
gridApiRef.current = event.api;
|
|
3356
|
+
columnApiRef.current = event.columnApi;
|
|
3357
|
+
};
|
|
3358
|
+
|
|
3359
|
+
var onFirstDataRendered = function onFirstDataRendered(event) {
|
|
3360
|
+
columnApiRef.current = event.columnApi;
|
|
3361
|
+
var columnApi = event.columnApi;
|
|
3362
|
+
if (!columnApi || !columnApi.getAllDisplayedColumns) return;
|
|
3363
|
+
var autoGroupColumnIds = columnApi.getAllDisplayedColumns().map(function (col) {
|
|
3364
|
+
return col.getColId();
|
|
3365
|
+
}).filter(function (colId) {
|
|
3366
|
+
return colId.indexOf('ag-Grid-AutoColumn') === 0;
|
|
3367
|
+
});
|
|
3368
|
+
|
|
3369
|
+
if (autoGroupColumnIds.length > 0 && columnApi.autoSizeColumns) {
|
|
3370
|
+
columnApi.autoSizeColumns(autoGroupColumnIds, false);
|
|
3371
|
+
}
|
|
3372
|
+
|
|
3373
|
+
scheduleRowGrandTotalHeaderLabel();
|
|
3374
|
+
};
|
|
3375
|
+
|
|
3376
|
+
var onColumnPivotChanged = function onColumnPivotChanged() {
|
|
3377
|
+
scheduleRowGrandTotalHeaderLabel();
|
|
3378
|
+
};
|
|
3379
|
+
|
|
3380
|
+
var onColumnResized = function onColumnResized() {
|
|
3381
|
+
scheduleRowGrandTotalHeaderLabel();
|
|
3382
|
+
};
|
|
3383
|
+
|
|
3384
|
+
var gridWrapperClassName = 'ag-theme-balham pivot-grid-element dl-ag-pivot-grid';
|
|
3385
|
+
return React__default.createElement(React__default.Fragment, null, isLoading ? React__default.createElement("div", {
|
|
3386
|
+
className: 'dl-full-hight dl-flex-content-center spinner-custome'
|
|
3387
|
+
}, React__default.createElement(progressspinner.ProgressSpinner, {
|
|
3388
|
+
style: {
|
|
3389
|
+
width: '40px',
|
|
3390
|
+
height: '40px'
|
|
3391
|
+
},
|
|
3392
|
+
strokeWidth: "4",
|
|
3393
|
+
animationDuration: "2s"
|
|
3394
|
+
})) : React__default.createElement("div", {
|
|
3395
|
+
ref: gridContainerRef,
|
|
3396
|
+
className: gridWrapperClassName
|
|
3397
|
+
}, React__default.createElement(agGridReact.AgGridReact, {
|
|
3398
|
+
rowData: rowData,
|
|
3399
|
+
columnDefs: columnDefs,
|
|
3400
|
+
defaultColDef: defaultColDef,
|
|
3401
|
+
autoGroupColumnDef: autoGroupColumnDef,
|
|
3402
|
+
aggFuncs: aggFuncs,
|
|
3403
|
+
pivotMode: true,
|
|
3404
|
+
groupDisplayType: "multipleColumns",
|
|
3405
|
+
groupDefaultExpanded: -1,
|
|
3406
|
+
suppressAggFuncInHeader: true,
|
|
3407
|
+
removePivotHeaderRowWhenSingleValueColumn: isSingleMeasurePivot,
|
|
3408
|
+
groupIncludeFooter: canShowRowsTotal(),
|
|
3409
|
+
groupIncludeTotalFooter: canShowRowsGrandTotal(),
|
|
3410
|
+
pivotRowTotals: canShowColumnsGrandTotal() ? 'after' : undefined,
|
|
3411
|
+
pivotColumnGroupTotals: canShowColumnsTotal() ? 'after' : undefined,
|
|
3412
|
+
processSecondaryColGroupDef: processSecondaryColGroupDef,
|
|
3413
|
+
processSecondaryColDef: processSecondaryColDef,
|
|
3414
|
+
onCellClicked: onCellClicked,
|
|
3415
|
+
onGridReady: onGridReady,
|
|
3416
|
+
onFirstDataRendered: onFirstDataRendered,
|
|
3417
|
+
onColumnPivotChanged: onColumnPivotChanged,
|
|
3418
|
+
onColumnResized: onColumnResized,
|
|
3419
|
+
animateRows: false,
|
|
3420
|
+
suppressContextMenu: true,
|
|
3421
|
+
suppressMovableColumns: true,
|
|
3422
|
+
headerHeight: 36,
|
|
3423
|
+
rowHeight: 36
|
|
3424
|
+
})));
|
|
3425
|
+
});
|
|
3426
|
+
|
|
2376
3427
|
var parseSelectedQueries = function parseSelectedQueries(widgetJson) {
|
|
2377
3428
|
if (!widgetJson) {
|
|
2378
3429
|
return [];
|
|
@@ -2453,7 +3504,9 @@ var CustomChart = function CustomChart(props) {
|
|
|
2453
3504
|
});
|
|
2454
3505
|
|
|
2455
3506
|
case "pivot":
|
|
2456
|
-
return React__default.createElement(
|
|
3507
|
+
return props.useAgGridPivot ? React__default.createElement(AgPivotGrid, {
|
|
3508
|
+
customChartProps: props
|
|
3509
|
+
}) : React__default.createElement(PivotTable, {
|
|
2457
3510
|
customChartProps: props
|
|
2458
3511
|
});
|
|
2459
3512
|
|
|
@@ -4296,6 +5349,7 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
4296
5349
|
if (((_widget$current7 = widget.current) === null || _widget$current7 === void 0 ? void 0 : _widget$current7.TypeCode) == "kpi") return React__default.createElement(CustomChart, {
|
|
4297
5350
|
isInEditMode: props.isInEditMode,
|
|
4298
5351
|
isPreviewModeActive: props.isPreviewModeActive,
|
|
5352
|
+
useAgGridPivot: props.useAgGridPivot,
|
|
4299
5353
|
dataBinding: props.dataBinding,
|
|
4300
5354
|
widget: widget.current,
|
|
4301
5355
|
widgetRef: props.widgetRef,
|
|
@@ -4307,6 +5361,7 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
4307
5361
|
if (((_widget$current8 = widget.current) === null || _widget$current8 === void 0 ? void 0 : _widget$current8.TypeCode) == "table" || ((_widget$current9 = widget.current) === null || _widget$current9 === void 0 ? void 0 : _widget$current9.TypeCode) == "pivot" || ((_widget$current10 = widget.current) === null || _widget$current10 === void 0 ? void 0 : _widget$current10.TypeCode) == "views") return React__default.createElement(CustomChart, {
|
|
4308
5362
|
isInEditMode: props.isInEditMode,
|
|
4309
5363
|
isPreviewModeActive: props.isPreviewModeActive,
|
|
5364
|
+
useAgGridPivot: props.useAgGridPivot,
|
|
4310
5365
|
dataBinding: props.dataBinding,
|
|
4311
5366
|
widget: widget.current,
|
|
4312
5367
|
widgetRef: props.widgetRef,
|
|
@@ -4751,6 +5806,7 @@ var DashboardDesigner = function DashboardDesigner(props) {
|
|
|
4751
5806
|
editBtnClicked: editWidget,
|
|
4752
5807
|
deleteBtnClicked: confirmDeleteWidget,
|
|
4753
5808
|
onSelectDataPoint: props.onSelectDataPoint,
|
|
5809
|
+
useAgGridPivot: props.useAgGridPivot,
|
|
4754
5810
|
duplicateBtnClicked: copyWidget,
|
|
4755
5811
|
copyToClipboardBtnClicked: copyWidgetToClipboard,
|
|
4756
5812
|
ref: function ref(el) {
|
|
@@ -4781,6 +5837,8 @@ var layoutGridProps = {
|
|
|
4781
5837
|
var Dashboard = function Dashboard(props) {
|
|
4782
5838
|
var _previewWidget$Layout, _previewWidget$Layout2;
|
|
4783
5839
|
|
|
5840
|
+
Session.UseAgGridPivot = !!props.useAgGridPivot;
|
|
5841
|
+
Session.AgGridLicenseKey = props.agGridLicenseKey;
|
|
4784
5842
|
var Widgetlayouts = React.useRef({
|
|
4785
5843
|
lg: []
|
|
4786
5844
|
});
|
|
@@ -4809,6 +5867,8 @@ var Dashboard = function Dashboard(props) {
|
|
|
4809
5867
|
Session.Token = props === null || props === void 0 ? void 0 : props.token;
|
|
4810
5868
|
Session.NumberFormatCode = props === null || props === void 0 ? void 0 : props.numberFormatCode;
|
|
4811
5869
|
Session.isMasterNumberClickable = props === null || props === void 0 ? void 0 : props.isMasterNumberClickable;
|
|
5870
|
+
Session.UseAgGridPivot = !!props.useAgGridPivot;
|
|
5871
|
+
Session.AgGridLicenseKey = props.agGridLicenseKey;
|
|
4812
5872
|
setIsPreviewModeActive(props.isPreviewMode);
|
|
4813
5873
|
props.dataBinding.onGetLayouts.subscribe(function (layouts) {
|
|
4814
5874
|
Widgetlayouts.current = layouts;
|
|
@@ -4822,6 +5882,10 @@ var Dashboard = function Dashboard(props) {
|
|
|
4822
5882
|
setWidgetlayoutsState(deepClone(Widgetlayouts.current));
|
|
4823
5883
|
});
|
|
4824
5884
|
}, []);
|
|
5885
|
+
React.useEffect(function () {
|
|
5886
|
+
Session.UseAgGridPivot = !!props.useAgGridPivot;
|
|
5887
|
+
Session.AgGridLicenseKey = props.agGridLicenseKey;
|
|
5888
|
+
}, [props.useAgGridPivot, props.agGridLicenseKey]);
|
|
4825
5889
|
React.useEffect(function () {
|
|
4826
5890
|
if (props.widgetData) {
|
|
4827
5891
|
setPreviewWidget(JSON.parse(JSON.stringify(props.widgetData)));
|
|
@@ -4892,13 +5956,15 @@ var Dashboard = function Dashboard(props) {
|
|
|
4892
5956
|
},
|
|
4893
5957
|
onSelectDataPoint: function onSelectDataPoint() {
|
|
4894
5958
|
return true;
|
|
4895
|
-
}
|
|
5959
|
+
},
|
|
5960
|
+
useAgGridPivot: props.useAgGridPivot
|
|
4896
5961
|
}))) : React.createElement("div", {
|
|
4897
5962
|
className: 'dl-full-hight'
|
|
4898
5963
|
}, React.createElement("div", {
|
|
4899
5964
|
className: 'dl-dashboard-body'
|
|
4900
5965
|
}, React.createElement(DashboardDesigner, {
|
|
4901
5966
|
onSelectDataPoint: props.onSelectDataPoint,
|
|
5967
|
+
useAgGridPivot: props.useAgGridPivot,
|
|
4902
5968
|
Widgetlayouts: widgetlayoutsState,
|
|
4903
5969
|
dataBinding: props.dataBinding,
|
|
4904
5970
|
editMode: isInEditMode,
|