@gridsuite/commons-ui 0.46.0 → 0.48.0
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/README.md +0 -17
- package/dist/components/AuthenticationRouter/AuthenticationRouter.d.ts +10 -0
- package/dist/components/AuthenticationRouter/AuthenticationRouter.js +147 -0
- package/dist/components/AuthenticationRouter/index.d.ts +1 -0
- package/dist/components/CardErrorBoundary/card-error-boundary.d.ts +18 -0
- package/dist/components/CardErrorBoundary/card-error-boundary.js +110 -0
- package/dist/components/CardErrorBoundary/index.d.ts +1 -0
- package/dist/components/DirectoryItemSelector/directory-item-selector.d.ts +22 -0
- package/dist/components/DirectoryItemSelector/directory-item-selector.js +254 -0
- package/dist/components/ElementSearchDialog/element-search-dialog.d.ts +16 -0
- package/dist/components/ElementSearchDialog/element-search-dialog.js +139 -0
- package/dist/components/ElementSearchDialog/equipment-item.d.ts +16 -0
- package/dist/components/ElementSearchDialog/equipment-item.js +77 -0
- package/dist/components/ElementSearchDialog/index.d.ts +2 -0
- package/dist/components/ElementSearchDialog/tag-renderer.d.ts +11 -0
- package/dist/components/ElementSearchDialog/tag-renderer.js +34 -0
- package/dist/components/FlatParameters/FlatParameters.d.ts +10 -0
- package/dist/components/FlatParameters/FlatParameters.js +411 -0
- package/dist/components/FlatParameters/index.d.ts +1 -0
- package/dist/components/Login/Login.d.ts +5 -0
- package/dist/components/Login/Login.js +78 -0
- package/dist/components/Login/Logout.d.ts +5 -0
- package/dist/components/Login/Logout.js +69 -0
- package/dist/components/Login/index.d.ts +1 -0
- package/dist/components/MuiVirtualizedTable/ColumnHeader.d.ts +4 -0
- package/dist/components/MuiVirtualizedTable/ColumnHeader.js +127 -0
- package/dist/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.d.ts +104 -0
- package/dist/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +548 -0
- package/dist/components/MuiVirtualizedTable/MuiVirtualizedTable.d.ts +131 -0
- package/dist/components/MuiVirtualizedTable/MuiVirtualizedTable.js +790 -0
- package/dist/components/MuiVirtualizedTable/index.d.ts +2 -0
- package/dist/components/MultipleSelectionDialog/MultipleSelectionDialog.d.ts +10 -0
- package/dist/components/MultipleSelectionDialog/MultipleSelectionDialog.js +87 -0
- package/dist/components/MultipleSelectionDialog/index.d.ts +1 -0
- package/dist/components/OverflowableText/index.d.ts +1 -0
- package/dist/components/OverflowableText/overflowable-text.d.ts +2 -0
- package/dist/components/OverflowableText/overflowable-text.js +87 -0
- package/dist/components/ReportViewer/filter-button.d.ts +1 -0
- package/dist/components/ReportViewer/filter-button.js +64 -0
- package/dist/components/ReportViewer/index.d.ts +1 -0
- package/dist/components/ReportViewer/log-report-item.d.ts +68 -0
- package/dist/components/ReportViewer/log-report-item.js +95 -0
- package/dist/components/ReportViewer/log-report.d.ts +21 -0
- package/dist/components/ReportViewer/log-report.js +49 -0
- package/dist/components/ReportViewer/log-table.d.ts +8 -0
- package/dist/components/ReportViewer/log-table.js +131 -0
- package/dist/components/ReportViewer/multi-select-list.d.ts +1 -0
- package/dist/components/ReportViewer/multi-select-list.js +40 -0
- package/dist/components/ReportViewer/report-item.d.ts +13 -0
- package/dist/components/ReportViewer/report-item.js +112 -0
- package/dist/components/ReportViewer/report-tree-view-context.d.ts +2 -0
- package/dist/components/ReportViewer/report-tree-view-context.js +8 -0
- package/dist/components/ReportViewer/report-viewer.d.ts +4 -0
- package/dist/components/ReportViewer/report-viewer.js +158 -0
- package/dist/components/ReportViewerDialog/index.d.ts +1 -0
- package/dist/components/ReportViewerDialog/report-viewer-dialog.d.ts +1 -0
- package/dist/components/ReportViewerDialog/report-viewer-dialog.js +61 -0
- package/dist/components/SignInCallbackHandler/SignInCallbackHandler.d.ts +5 -0
- package/dist/components/SignInCallbackHandler/SignInCallbackHandler.js +13 -0
- package/dist/components/SignInCallbackHandler/index.d.ts +1 -0
- package/dist/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.d.ts +5 -0
- package/dist/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +16 -0
- package/dist/components/SilentRenewCallbackHandler/index.d.ts +1 -0
- package/dist/components/SnackbarProvider/SnackbarProvider.d.ts +3 -0
- package/dist/components/SnackbarProvider/SnackbarProvider.js +28 -0
- package/dist/components/SnackbarProvider/index.d.ts +1 -0
- package/dist/components/TopBar/AboutDialog.d.ts +24 -0
- package/dist/components/TopBar/AboutDialog.js +467 -0
- package/dist/components/TopBar/GridLogo.d.ts +34 -0
- package/dist/components/TopBar/GridLogo.js +71 -0
- package/dist/components/TopBar/TopBar.d.ts +53 -0
- package/dist/components/TopBar/TopBar.js +679 -0
- package/dist/components/TopBar/index.d.ts +3 -0
- package/dist/components/TreeViewFinder/TreeViewFinder.d.ts +57 -0
- package/dist/components/TreeViewFinder/TreeViewFinder.js +288 -0
- package/dist/components/TreeViewFinder/index.d.ts +1 -0
- package/dist/components/react-hook-form/autocomplete-input.d.ts +30 -0
- package/dist/components/react-hook-form/autocomplete-input.js +96 -0
- package/dist/components/react-hook-form/booleans/boolean-input.d.ts +16 -0
- package/dist/components/react-hook-form/booleans/boolean-input.js +49 -0
- package/dist/components/react-hook-form/booleans/checkbox-input.d.ts +14 -0
- package/dist/components/react-hook-form/booleans/checkbox-input.js +24 -0
- package/dist/components/react-hook-form/booleans/switch-input.d.ts +14 -0
- package/dist/components/react-hook-form/booleans/switch-input.js +24 -0
- package/dist/components/react-hook-form/directory-items-input.d.ts +28 -0
- package/dist/components/react-hook-form/directory-items-input.js +185 -0
- package/dist/components/react-hook-form/error-management/error-input.d.ts +5 -0
- package/dist/components/react-hook-form/error-management/error-input.js +42 -0
- package/dist/components/react-hook-form/error-management/field-error-alert.d.ts +4 -0
- package/dist/components/react-hook-form/error-management/field-error-alert.js +9 -0
- package/dist/components/react-hook-form/error-management/mid-form-error.d.ts +4 -0
- package/dist/components/react-hook-form/error-management/mid-form-error.js +20 -0
- package/dist/components/react-hook-form/numbers/float-input.d.ts +18 -0
- package/dist/components/react-hook-form/numbers/float-input.js +51 -0
- package/dist/components/react-hook-form/numbers/integer-input.d.ts +18 -0
- package/dist/components/react-hook-form/numbers/integer-input.js +36 -0
- package/dist/components/react-hook-form/numbers/utils.d.ts +2 -0
- package/dist/components/react-hook-form/numbers/utils.js +10 -0
- package/dist/components/react-hook-form/radio-input.d.ts +18 -0
- package/dist/components/react-hook-form/radio-input.js +44 -0
- package/{es/components/MultipleSelectionDialog/index.js → dist/components/react-hook-form/raw-read-only-input.d.ts} +3 -2
- package/dist/components/react-hook-form/raw-read-only-input.js +10 -0
- package/dist/components/react-hook-form/select-input.d.ts +17 -0
- package/dist/components/react-hook-form/select-input.js +31 -0
- package/dist/components/react-hook-form/slider-input.d.ts +21 -0
- package/dist/components/react-hook-form/slider-input.js +43 -0
- package/dist/components/react-hook-form/text-input.d.ts +33 -0
- package/dist/components/react-hook-form/text-input.js +94 -0
- package/dist/components/react-hook-form/utils/cancel-button.d.ts +10 -0
- package/dist/components/react-hook-form/utils/cancel-button.js +16 -0
- package/dist/components/react-hook-form/utils/field-label.d.ts +6 -0
- package/dist/components/react-hook-form/utils/field-label.js +12 -0
- package/dist/components/react-hook-form/utils/functions.d.ts +11 -0
- package/dist/components/react-hook-form/utils/functions.js +41 -0
- package/dist/components/react-hook-form/utils/submit-button.d.ts +10 -0
- package/dist/components/react-hook-form/utils/submit-button.js +23 -0
- package/dist/components/react-hook-form/utils/text-field-with-adornment.d.ts +12 -0
- package/dist/components/react-hook-form/utils/text-field-with-adornment.js +96 -0
- package/{es/components/translations/report-viewer-fr.js → dist/components/translations/card-error-boundary-en.d.ts} +5 -6
- package/dist/components/translations/card-error-boundary-en.js +8 -0
- package/dist/components/translations/card-error-boundary-fr.d.ts +12 -0
- package/dist/components/translations/card-error-boundary-fr.js +8 -0
- package/dist/components/translations/common-button-en.d.ts +5 -0
- package/dist/components/translations/common-button-en.js +7 -0
- package/dist/components/translations/common-button-fr.d.ts +5 -0
- package/dist/components/translations/common-button-fr.js +7 -0
- package/{es/components/translations/element-search-en.js → dist/components/translations/element-search-en.d.ts} +4 -5
- package/dist/components/translations/element-search-en.js +7 -0
- package/dist/components/translations/element-search-fr.d.ts +11 -0
- package/dist/components/translations/element-search-fr.js +7 -0
- package/dist/components/translations/equipment-search-en.d.ts +25 -0
- package/dist/components/translations/equipment-search-en.js +21 -0
- package/dist/components/translations/equipment-search-fr.d.ts +25 -0
- package/dist/components/translations/equipment-search-fr.js +21 -0
- package/{es/components/translations/flat-parameters-en.js → dist/components/translations/flat-parameters-en.d.ts} +5 -6
- package/dist/components/translations/flat-parameters-en.js +8 -0
- package/{es/components/translations/common-button-en.js → dist/components/translations/flat-parameters-fr.d.ts} +5 -5
- package/dist/components/translations/flat-parameters-fr.js +8 -0
- package/dist/components/translations/login-en.d.ts +18 -0
- package/dist/components/translations/login-en.js +14 -0
- package/dist/components/translations/login-fr.d.ts +18 -0
- package/dist/components/translations/login-fr.js +14 -0
- package/{es/components/translations/flat-parameters-fr.js → dist/components/translations/multiple-selection-dialog-en.d.ts} +5 -6
- package/dist/components/translations/multiple-selection-dialog-en.js +8 -0
- package/{es/components/translations/common-button-fr.js → dist/components/translations/multiple-selection-dialog-fr.d.ts} +5 -5
- package/dist/components/translations/multiple-selection-dialog-fr.js +8 -0
- package/{es/components/translations/report-viewer-en.js → dist/components/translations/report-viewer-en.d.ts} +5 -6
- package/dist/components/translations/report-viewer-en.js +8 -0
- package/{es/components/translations/element-search-fr.js → dist/components/translations/report-viewer-fr.d.ts} +5 -5
- package/dist/components/translations/report-viewer-fr.js +8 -0
- package/{es/components/translations/table-en.js → dist/components/translations/table-en.d.ts} +3 -4
- package/dist/components/translations/table-en.js +6 -0
- package/{es/components/translations/table-fr.js → dist/components/translations/table-fr.d.ts} +3 -4
- package/dist/components/translations/table-fr.js +6 -0
- package/dist/components/translations/top-bar-en.d.ts +31 -0
- package/dist/components/translations/top-bar-en.js +27 -0
- package/dist/components/translations/top-bar-fr.d.ts +31 -0
- package/dist/components/translations/top-bar-fr.js +27 -0
- package/dist/components/translations/treeview-finder-en.d.ts +16 -0
- package/dist/components/translations/treeview-finder-en.js +12 -0
- package/dist/components/translations/treeview-finder-fr.d.ts +16 -0
- package/dist/components/translations/treeview-finder-fr.js +12 -0
- package/dist/hooks/useDebounce.d.ts +1 -0
- package/dist/hooks/useDebounce.js +17 -0
- package/{es/components/ElementSearchDialog/index.js → dist/hooks/useIntlRef.d.ts} +2 -2
- package/dist/hooks/useIntlRef.js +13 -0
- package/dist/hooks/useSnackMessage.d.ts +5 -0
- package/dist/hooks/useSnackMessage.js +81 -0
- package/dist/index.d.ts +234 -0
- package/dist/index.js +158 -0
- package/dist/utils/AuthService.d.ts +9 -0
- package/dist/utils/AuthService.js +336 -0
- package/dist/utils/ElementType.d.ts +13 -0
- package/dist/utils/ElementType.js +42 -0
- package/dist/utils/EquipmentType.d.ts +136 -0
- package/dist/utils/EquipmentType.js +132 -0
- package/dist/utils/UserManagerMock.d.ts +34 -0
- package/dist/utils/UserManagerMock.js +85 -0
- package/dist/utils/actions.d.ts +50 -0
- package/dist/utils/actions.js +71 -0
- package/{es/components/CardErrorBoundary/index.js → dist/utils/algos.d.ts} +1 -1
- package/dist/utils/algos.js +24 -0
- package/dist/utils/styles.d.ts +5 -0
- package/dist/utils/styles.js +13 -0
- package/package.json +36 -21
- package/es/components/AuthenticationRouter/AuthenticationRouter.js +0 -102
- package/es/components/AuthenticationRouter/index.js +0 -7
- package/es/components/CardErrorBoundary/card-error-boundary.js +0 -138
- package/es/components/ElementSearchDialog/element-search-dialog.js +0 -153
- package/es/components/ElementSearchDialog/equipment-item.js +0 -63
- package/es/components/ElementSearchDialog/tag-renderer.js +0 -29
- package/es/components/FlatParameters/FlatParameters.js +0 -448
- package/es/components/FlatParameters/index.js +0 -8
- package/es/components/Login/Login.js +0 -79
- package/es/components/Login/Logout.js +0 -78
- package/es/components/Login/index.js +0 -7
- package/es/components/MuiVirtualizedTable/ColumnHeader.js +0 -125
- package/es/components/MuiVirtualizedTable/KeyedColumnsRowIndexer.js +0 -619
- package/es/components/MuiVirtualizedTable/MuiVirtualizedTable.js +0 -780
- package/es/components/MuiVirtualizedTable/index.js +0 -9
- package/es/components/MultipleSelectionDialog/MultipleSelectionDialog.js +0 -95
- package/es/components/OverflowableText/index.js +0 -7
- package/es/components/OverflowableText/overflowable-text.js +0 -81
- package/es/components/ReportViewer/filter-button.js +0 -77
- package/es/components/ReportViewer/index.js +0 -7
- package/es/components/ReportViewer/log-report-item.js +0 -97
- package/es/components/ReportViewer/log-report.js +0 -63
- package/es/components/ReportViewer/log-table.js +0 -130
- package/es/components/ReportViewer/multi-select-list.js +0 -56
- package/es/components/ReportViewer/report-item.js +0 -131
- package/es/components/ReportViewer/report-tree-view-context.js +0 -13
- package/es/components/ReportViewer/report-viewer.js +0 -167
- package/es/components/ReportViewerDialog/index.js +0 -7
- package/es/components/ReportViewerDialog/report-viewer-dialog.js +0 -67
- package/es/components/SignInCallbackHandler/SignInCallbackHandler.js +0 -19
- package/es/components/SignInCallbackHandler/index.js +0 -7
- package/es/components/SilentRenewCallbackHandler/SilentRenewCallbackHandler.js +0 -19
- package/es/components/SilentRenewCallbackHandler/index.js +0 -7
- package/es/components/SnackbarProvider/SnackbarProvider.js +0 -39
- package/es/components/SnackbarProvider/index.js +0 -7
- package/es/components/TopBar/AboutDialog.js +0 -456
- package/es/components/TopBar/GridLogo.js +0 -73
- package/es/components/TopBar/TopBar.js +0 -487
- package/es/components/TopBar/index.js +0 -9
- package/es/components/TreeViewFinder/TreeViewFinder.js +0 -341
- package/es/components/TreeViewFinder/index.js +0 -7
- package/es/components/images/powsybl_logo.svg +0 -35
- package/es/components/react-hook-form/autocomplete-input.js +0 -110
- package/es/components/react-hook-form/booleans/boolean-input.js +0 -56
- package/es/components/react-hook-form/booleans/checkbox-input.js +0 -28
- package/es/components/react-hook-form/booleans/switch-input.js +0 -28
- package/es/components/react-hook-form/error-management/error-input.js +0 -50
- package/es/components/react-hook-form/error-management/field-error-alert.js +0 -22
- package/es/components/react-hook-form/error-management/mid-form-error.js +0 -25
- package/es/components/react-hook-form/numbers/float-input.js +0 -105
- package/es/components/react-hook-form/numbers/integer-input.js +0 -35
- package/es/components/react-hook-form/numbers/utils.js +0 -6
- package/es/components/react-hook-form/radio-input.js +0 -55
- package/es/components/react-hook-form/select-input.js +0 -40
- package/es/components/react-hook-form/slider-input.js +0 -48
- package/es/components/react-hook-form/text-input.js +0 -100
- package/es/components/react-hook-form/utils/cancel-button.js +0 -28
- package/es/components/react-hook-form/utils/field-label.js +0 -15
- package/es/components/react-hook-form/utils/functions.js +0 -42
- package/es/components/react-hook-form/utils/submit-button.js +0 -29
- package/es/components/react-hook-form/utils/text-field-with-adornment.js +0 -92
- package/es/components/translations/card-error-boundary-en.js +0 -13
- package/es/components/translations/card-error-boundary-fr.js +0 -13
- package/es/components/translations/equipment-search-en.js +0 -26
- package/es/components/translations/equipment-search-fr.js +0 -26
- package/es/components/translations/inputs-en.js +0 -25
- package/es/components/translations/inputs-fr.js +0 -25
- package/es/components/translations/login-en.js +0 -19
- package/es/components/translations/login-fr.js +0 -19
- package/es/components/translations/multiple-selection-dialog-en.js +0 -13
- package/es/components/translations/multiple-selection-dialog-fr.js +0 -13
- package/es/components/translations/top-bar-en.js +0 -32
- package/es/components/translations/top-bar-fr.js +0 -32
- package/es/components/translations/treeview-finder-en.js +0 -17
- package/es/components/translations/treeview-finder-fr.js +0 -17
- package/es/hooks/useDebounce.js +0 -26
- package/es/hooks/useIntlRef.js +0 -22
- package/es/hooks/useSnackMessage.js +0 -81
- package/es/index.js +0 -71
- package/es/utils/AuthService.js +0 -312
- package/es/utils/ElementType.js +0 -53
- package/es/utils/EquipmentType.js +0 -133
- package/es/utils/UserManagerMock.js +0 -81
- package/es/utils/actions.js +0 -65
- package/es/utils/algos.js +0 -29
- package/es/utils/styles.js +0 -35
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { equalsArray } from "../../utils/algos.js";
|
|
8
|
+
const CHANGE_WAYS = {
|
|
9
|
+
SIMPLE: "Simple",
|
|
10
|
+
TAIL: "Tail",
|
|
11
|
+
AMEND: "Amend",
|
|
12
|
+
REMOVE: "Remove"
|
|
13
|
+
};
|
|
14
|
+
const noOpHelper = Object.freeze({
|
|
15
|
+
debugName: "noOp",
|
|
16
|
+
maintainsStats: false,
|
|
17
|
+
initStat: () => void 0,
|
|
18
|
+
updateStat: (colStat, value) => {
|
|
19
|
+
},
|
|
20
|
+
accepts: (value, userParams, outerParams) => {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const numericHelper = Object.freeze({
|
|
25
|
+
debugName: "num",
|
|
26
|
+
maintainsStats: true,
|
|
27
|
+
initStat: () => {
|
|
28
|
+
return { imin: null, imax: null };
|
|
29
|
+
},
|
|
30
|
+
updateStat: (colStat, value) => {
|
|
31
|
+
if (colStat.imin === null || colStat.imin > value) {
|
|
32
|
+
colStat.imin = value;
|
|
33
|
+
}
|
|
34
|
+
if (colStat.imax === null || colStat.imax < value) {
|
|
35
|
+
colStat.imax = value;
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
accepts: (value, userParams, outerParams) => {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
const collectibleHelper = Object.freeze({
|
|
43
|
+
debugName: "collectible",
|
|
44
|
+
maintainsStats: true,
|
|
45
|
+
initStat: () => {
|
|
46
|
+
return { seen: {}, kept: {} };
|
|
47
|
+
},
|
|
48
|
+
updateStat: (colStat, cellValue, isForKeep) => {
|
|
49
|
+
const m = isForKeep ? colStat.kept : colStat.seen;
|
|
50
|
+
if (!m[cellValue]) {
|
|
51
|
+
m[cellValue] = 1;
|
|
52
|
+
} else {
|
|
53
|
+
m[cellValue] += 1;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
accepts: (value, userParams, outerParams) => {
|
|
57
|
+
return !userParams || userParams.some((v) => v === value);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
const getHelper = (column) => {
|
|
61
|
+
if (column == null ? void 0 : column.numeric) {
|
|
62
|
+
return numericHelper;
|
|
63
|
+
} else if (!(column == null ? void 0 : column.nostat)) {
|
|
64
|
+
return collectibleHelper;
|
|
65
|
+
} else {
|
|
66
|
+
return noOpHelper;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
class KeyedColumnsRowIndexer {
|
|
70
|
+
constructor(isThreeState = true, singleColumnByDefault = false, delegatorCallback = null, versionSetter = null) {
|
|
71
|
+
__publicField(this, "hasVersionSetter", () => {
|
|
72
|
+
return !!this._versionSetter;
|
|
73
|
+
});
|
|
74
|
+
__publicField(this, "getVersion", () => {
|
|
75
|
+
return this.version;
|
|
76
|
+
});
|
|
77
|
+
__publicField(this, "_bumpVersion", (isFilter = false) => {
|
|
78
|
+
this.version += 1;
|
|
79
|
+
if (isFilter) {
|
|
80
|
+
this.filterVersion = this.version;
|
|
81
|
+
}
|
|
82
|
+
if (this.delegatorCallback) {
|
|
83
|
+
this.indirectionStatus = "to sort";
|
|
84
|
+
this.delegatorCallback(this, (updated_ok) => {
|
|
85
|
+
this.indirectionStatus = updated_ok ? "done" : "no_luck";
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (this._versionSetter) {
|
|
89
|
+
this._versionSetter(this.version);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
__publicField(this, "updatePreferences", (preferences) => {
|
|
93
|
+
if (preferences.isThreeState === this.isThreeState && preferences.singleColumnByDefault === this.singleColumnByDefault) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (preferences.isThreeState !== this.isThreeState) {
|
|
97
|
+
this.isThreeState = preferences.isThreeState;
|
|
98
|
+
}
|
|
99
|
+
if (preferences.singleColumnByDefault !== this.singleColumnByDefault) {
|
|
100
|
+
this.singleColumnByDefault = preferences.singleColumnByDefault;
|
|
101
|
+
}
|
|
102
|
+
this._bumpVersion();
|
|
103
|
+
});
|
|
104
|
+
// Does not mutate any internal
|
|
105
|
+
// returns
|
|
106
|
+
// { rowAndOrigIndex : [[row, originalRowIndex],...],
|
|
107
|
+
// colsStats : {
|
|
108
|
+
// colKey1 : {
|
|
109
|
+
// seen : Map(value : count),
|
|
110
|
+
// kept : Map(value : count)
|
|
111
|
+
// },
|
|
112
|
+
// colKey2 : {
|
|
113
|
+
// imin : number,
|
|
114
|
+
// imax : number,
|
|
115
|
+
// }, colKeyN, ...
|
|
116
|
+
// }
|
|
117
|
+
// }
|
|
118
|
+
__publicField(this, "preFilterRowMapping", (columns, rows, rowFilter) => {
|
|
119
|
+
var _a;
|
|
120
|
+
if (!(rows == null ? void 0 : rows.length) || !(columns == null ? void 0 : columns.length)) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
const ri = [];
|
|
124
|
+
const cs = {};
|
|
125
|
+
for (const col of columns) {
|
|
126
|
+
const helper = getHelper(col);
|
|
127
|
+
const colStat = helper.initStat();
|
|
128
|
+
if (colStat) {
|
|
129
|
+
cs[col.dataKey] = colStat;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
for (let rowIdx = 0; rowIdx < rows.length; rowIdx++) {
|
|
133
|
+
const row = rows[rowIdx];
|
|
134
|
+
let acceptsRow = true;
|
|
135
|
+
let acceptedOnRow = {};
|
|
136
|
+
for (let colIdx = 0; colIdx < columns.length; colIdx++) {
|
|
137
|
+
const col = columns[colIdx];
|
|
138
|
+
const helper = getHelper(col);
|
|
139
|
+
const colKey = col.dataKey;
|
|
140
|
+
const cellValue = row[colKey];
|
|
141
|
+
helper.updateStat(cs[colKey], cellValue, false);
|
|
142
|
+
const colFilterParams = (_a = this.byColFilter) == null ? void 0 : _a[colKey];
|
|
143
|
+
let acceptsCell = true;
|
|
144
|
+
if (colFilterParams) {
|
|
145
|
+
const up = colFilterParams.userParams;
|
|
146
|
+
const op = colFilterParams.outerParams;
|
|
147
|
+
if (!helper.accepts(cellValue, up, op)) {
|
|
148
|
+
acceptsCell = false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (helper.maintainsStats && acceptsCell) {
|
|
152
|
+
acceptedOnRow[colIdx] = cellValue;
|
|
153
|
+
}
|
|
154
|
+
acceptsRow &= acceptsCell;
|
|
155
|
+
}
|
|
156
|
+
if (acceptsRow && rowFilter) {
|
|
157
|
+
acceptsRow = rowFilter(row);
|
|
158
|
+
}
|
|
159
|
+
if (acceptsRow && this.byRowFilter) {
|
|
160
|
+
acceptsRow = this.byRowFilter(row);
|
|
161
|
+
}
|
|
162
|
+
if (acceptsRow) {
|
|
163
|
+
for (let [idx, value] of Object.entries(acceptedOnRow)) {
|
|
164
|
+
const col = columns[idx];
|
|
165
|
+
const helper = getHelper(col);
|
|
166
|
+
helper.updateStat(cs[col.dataKey], value, true);
|
|
167
|
+
}
|
|
168
|
+
ri.push([row, rowIdx]);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return { rowAndOrigIndex: ri, colsStats: cs, rowsCount: rows.length };
|
|
172
|
+
});
|
|
173
|
+
// Does not mutate any internal
|
|
174
|
+
// returns an array of indexes in rows given to preFilter
|
|
175
|
+
__publicField(this, "makeGroupAndSortIndirector", (preFilteredRowPairs, columns) => {
|
|
176
|
+
if (!preFilteredRowPairs) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
const codedColumns = !this.sortingState ? null : codedColumnsFromKeyAndDirection(this.sortingState, columns);
|
|
180
|
+
const groupingColumnsCount = this.groupingCount;
|
|
181
|
+
let indexedArray = groupAndSort(
|
|
182
|
+
preFilteredRowPairs,
|
|
183
|
+
codedColumns,
|
|
184
|
+
groupingColumnsCount,
|
|
185
|
+
columns
|
|
186
|
+
);
|
|
187
|
+
return !indexedArray ? null : indexedArray.map((k) => k[1]);
|
|
188
|
+
});
|
|
189
|
+
__publicField(this, "getSortingAsKeyAndCodedRank", () => {
|
|
190
|
+
if (!this.sortingState) {
|
|
191
|
+
return [];
|
|
192
|
+
}
|
|
193
|
+
return this.sortingState.map((kd, i) => {
|
|
194
|
+
const sign = giveDirSignFor(kd[1]);
|
|
195
|
+
const codedRank = sign * (i + 1);
|
|
196
|
+
return [kd[0], codedRank];
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
// returns true if really changed (and calls versionSetter if needed)
|
|
200
|
+
__publicField(this, "updateSortingFromUser", (colKey, change_way) => {
|
|
201
|
+
const keyAndDirections = this.sortingState;
|
|
202
|
+
if (change_way === CHANGE_WAYS.REMOVE) {
|
|
203
|
+
if (!keyAndDirections) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
const would = keyAndDirections.filter((p) => p[0] !== colKey);
|
|
207
|
+
if (would.length === keyAndDirections.length) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
this.sortingState = would.length ? would : null;
|
|
211
|
+
} else if (!keyAndDirections) {
|
|
212
|
+
this.sortingState = [[colKey, canonicalForSign(1)]];
|
|
213
|
+
this.lastUsedRank = 1;
|
|
214
|
+
} else {
|
|
215
|
+
let wasAtIdx = keyAndDirections.findIndex((p) => p[0] === colKey);
|
|
216
|
+
const wasFuzzyDir = wasAtIdx < 0 ? 0 : keyAndDirections[wasAtIdx][1];
|
|
217
|
+
const wasSignDir = giveDirSignFor(wasFuzzyDir);
|
|
218
|
+
if (change_way === CHANGE_WAYS.SIMPLE) {
|
|
219
|
+
if (wasSignDir < 0 && this.isThreeState) {
|
|
220
|
+
if (this.sortingState.length === 1) {
|
|
221
|
+
this.sortingState = null;
|
|
222
|
+
} else {
|
|
223
|
+
this.sortingState.splice(wasAtIdx, 1);
|
|
224
|
+
}
|
|
225
|
+
} else {
|
|
226
|
+
if (this.singleColumnByDefault || wasAtIdx < 0) {
|
|
227
|
+
this.sortingState = [];
|
|
228
|
+
} else {
|
|
229
|
+
this.sortingState.splice(wasAtIdx, 1);
|
|
230
|
+
}
|
|
231
|
+
const nextSign = wasSignDir ? -wasSignDir : 1;
|
|
232
|
+
const nextKD = [colKey, canonicalForSign(nextSign)];
|
|
233
|
+
this.sortingState.unshift(nextKD);
|
|
234
|
+
}
|
|
235
|
+
} else if (change_way === CHANGE_WAYS.TAIL) {
|
|
236
|
+
if (wasAtIdx < 0) {
|
|
237
|
+
this.sortingState.push([colKey, canonicalForSign(1)]);
|
|
238
|
+
} else if (wasAtIdx !== keyAndDirections.length - 1) {
|
|
239
|
+
return false;
|
|
240
|
+
} else if (!(this.isThreeState && wasSignDir === -1)) {
|
|
241
|
+
this.sortingState[wasAtIdx][1] = canonicalForSign(
|
|
242
|
+
-wasSignDir
|
|
243
|
+
);
|
|
244
|
+
} else {
|
|
245
|
+
this.sortingState.splice(wasAtIdx, 1);
|
|
246
|
+
}
|
|
247
|
+
} else {
|
|
248
|
+
if (wasAtIdx < 0) {
|
|
249
|
+
if (this.lastUsedRank - 1 > this.sortingState.length) {
|
|
250
|
+
return false;
|
|
251
|
+
} else {
|
|
252
|
+
this.sortingState.splice(this.lastUsedRank - 1, 0, [
|
|
253
|
+
colKey,
|
|
254
|
+
canonicalForSign(1)
|
|
255
|
+
]);
|
|
256
|
+
}
|
|
257
|
+
} else if (!(this.isThreeState && wasSignDir === -1)) {
|
|
258
|
+
this.sortingState[wasAtIdx][1] = canonicalForSign(
|
|
259
|
+
-wasSignDir
|
|
260
|
+
);
|
|
261
|
+
} else {
|
|
262
|
+
this.lastUsedRank = wasAtIdx + 1;
|
|
263
|
+
this.sortingState.splice(wasAtIdx, 1);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
this._bumpVersion();
|
|
268
|
+
return true;
|
|
269
|
+
});
|
|
270
|
+
__publicField(this, "codedRankByColumnIndex", (columns) => {
|
|
271
|
+
return codedColumnsFromKeyAndDirection(this.sortingState, columns);
|
|
272
|
+
});
|
|
273
|
+
__publicField(this, "columnSortingSignedRank", (colKey) => {
|
|
274
|
+
var _a;
|
|
275
|
+
if (!((_a = this == null ? void 0 : this.sortingState) == null ? void 0 : _a.length)) {
|
|
276
|
+
return 0;
|
|
277
|
+
}
|
|
278
|
+
const idx = this.sortingState.findIndex((kd) => kd[0] === colKey);
|
|
279
|
+
if (idx < 0) {
|
|
280
|
+
return 0;
|
|
281
|
+
}
|
|
282
|
+
const colSorting = this.sortingState[idx];
|
|
283
|
+
return giveDirSignFor(colSorting[1]) * (idx + 1);
|
|
284
|
+
});
|
|
285
|
+
__publicField(this, "highestCodedColumn", (columns) => {
|
|
286
|
+
var _a;
|
|
287
|
+
if (!((_a = this == null ? void 0 : this.sortingState) == null ? void 0 : _a.length)) {
|
|
288
|
+
return 0;
|
|
289
|
+
}
|
|
290
|
+
const colSorting = this.sortingState[0];
|
|
291
|
+
const colKey = colSorting[0];
|
|
292
|
+
const idx = columns.findIndex((col) => col.dataKey === colKey);
|
|
293
|
+
if (idx < 0) {
|
|
294
|
+
return 0;
|
|
295
|
+
}
|
|
296
|
+
return giveDirSignFor(colSorting[1]) * (idx + 1);
|
|
297
|
+
});
|
|
298
|
+
__publicField(this, "_getColFilterParams", (colKey, isForUser) => {
|
|
299
|
+
if (!colKey || !this.byColFilter) {
|
|
300
|
+
return void 0;
|
|
301
|
+
}
|
|
302
|
+
const colFilter = this.byColFilter[colKey];
|
|
303
|
+
if (!colFilter) {
|
|
304
|
+
return void 0;
|
|
305
|
+
}
|
|
306
|
+
return colFilter[isForUser ? "userParams" : "outerParams"];
|
|
307
|
+
});
|
|
308
|
+
__publicField(this, "_setColFilterParams", (colKey, params, isForUser) => {
|
|
309
|
+
var _a;
|
|
310
|
+
if (!colKey) {
|
|
311
|
+
if (params) {
|
|
312
|
+
throw new Error("column key has to be defined");
|
|
313
|
+
}
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
const fieldName = isForUser ? "userParams" : "outerParams";
|
|
317
|
+
if (params) {
|
|
318
|
+
if (!this.byColFilter) {
|
|
319
|
+
this.byColFilter = {};
|
|
320
|
+
}
|
|
321
|
+
let colFilter = this.byColFilter[colKey];
|
|
322
|
+
if (!colFilter) {
|
|
323
|
+
colFilter = {};
|
|
324
|
+
this.byColFilter[colKey] = colFilter;
|
|
325
|
+
} else if (colFilter[fieldName] === params) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
colFilter[fieldName] = params;
|
|
329
|
+
} else {
|
|
330
|
+
if (!this.byColFilter) {
|
|
331
|
+
return false;
|
|
332
|
+
}
|
|
333
|
+
const otherFieldName = !isForUser ? "userParams" : "outerParams";
|
|
334
|
+
if ((_a = this.byColFilter[colKey]) == null ? void 0 : _a[otherFieldName]) {
|
|
335
|
+
delete this.byColFilter[colKey][fieldName];
|
|
336
|
+
} else {
|
|
337
|
+
delete this.byColFilter[colKey];
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (isForUser) {
|
|
341
|
+
this._bumpVersion(true);
|
|
342
|
+
}
|
|
343
|
+
return true;
|
|
344
|
+
});
|
|
345
|
+
__publicField(this, "getColFilterOuterParams", (colKey) => {
|
|
346
|
+
return this._getColFilterParams(colKey, false);
|
|
347
|
+
});
|
|
348
|
+
__publicField(this, "setColFilterOuterParams", (colKey, outerParams) => {
|
|
349
|
+
return this._setColFilterParams(colKey, outerParams, false);
|
|
350
|
+
});
|
|
351
|
+
__publicField(this, "getColFilterUserParams", (colKey) => {
|
|
352
|
+
return this._getColFilterParams(colKey, true);
|
|
353
|
+
});
|
|
354
|
+
__publicField(this, "setColFilterUserParams", (colKey, params) => {
|
|
355
|
+
return this._setColFilterParams(colKey, params, true);
|
|
356
|
+
});
|
|
357
|
+
__publicField(this, "getUserFiltering", () => {
|
|
358
|
+
const ret = {};
|
|
359
|
+
if (this.byColFilter) {
|
|
360
|
+
Object.entries(this.byColFilter).forEach(([k, v]) => {
|
|
361
|
+
if (!v.userParams) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
ret[k] = [...v.userParams];
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
return ret;
|
|
368
|
+
});
|
|
369
|
+
__publicField(this, "updateRowFiltering", (rowFilterFunc) => {
|
|
370
|
+
if (typeof rowFilterFunc !== "function") {
|
|
371
|
+
throw new Error("row filter should be a function");
|
|
372
|
+
}
|
|
373
|
+
this.byRowFilter = rowFilterFunc;
|
|
374
|
+
this._bumpVersion();
|
|
375
|
+
});
|
|
376
|
+
this._versionSetter = versionSetter;
|
|
377
|
+
this.version = 0;
|
|
378
|
+
this.filterVersion = 0;
|
|
379
|
+
this.delegatorCallback = delegatorCallback;
|
|
380
|
+
this.indirectionStatus = null;
|
|
381
|
+
this.isThreeState = isThreeState;
|
|
382
|
+
this.singleColumnByDefault = singleColumnByDefault;
|
|
383
|
+
this.lastUsedRank = 1;
|
|
384
|
+
this.sortingState = null;
|
|
385
|
+
this.groupingCount = 0;
|
|
386
|
+
this.byColFilter = null;
|
|
387
|
+
this.byRowFilter = null;
|
|
388
|
+
}
|
|
389
|
+
static get CHANGE_WAYS() {
|
|
390
|
+
return CHANGE_WAYS;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
const giveDirSignFor = (fuzzySign) => {
|
|
394
|
+
if (fuzzySign < 0) {
|
|
395
|
+
return -1;
|
|
396
|
+
}
|
|
397
|
+
if (fuzzySign > 0) {
|
|
398
|
+
return 1;
|
|
399
|
+
}
|
|
400
|
+
if (fuzzySign === "asc") {
|
|
401
|
+
return 1;
|
|
402
|
+
}
|
|
403
|
+
if (fuzzySign === "desc") {
|
|
404
|
+
return -1;
|
|
405
|
+
}
|
|
406
|
+
return 0;
|
|
407
|
+
};
|
|
408
|
+
const canonicalForSign = (dirSign) => {
|
|
409
|
+
if (dirSign > 0) {
|
|
410
|
+
return "asc";
|
|
411
|
+
}
|
|
412
|
+
if (dirSign < 0) {
|
|
413
|
+
return "desc";
|
|
414
|
+
}
|
|
415
|
+
return void 0;
|
|
416
|
+
};
|
|
417
|
+
const codedColumnsFromKeyAndDirection = (keyAndDirections, columns) => {
|
|
418
|
+
if (!keyAndDirections) {
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
const ret = [];
|
|
422
|
+
const columIndexByKey = {};
|
|
423
|
+
for (let colIdx = 0; colIdx < columns.length; colIdx++) {
|
|
424
|
+
const col = columns[colIdx];
|
|
425
|
+
const colKey = col.dataKey;
|
|
426
|
+
columIndexByKey[colKey] = colIdx;
|
|
427
|
+
}
|
|
428
|
+
for (const knd of keyAndDirections) {
|
|
429
|
+
const colKey = knd[0];
|
|
430
|
+
const dir = knd[1];
|
|
431
|
+
const colIdx = columIndexByKey[colKey];
|
|
432
|
+
if (colIdx === void 0) {
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
const sign = giveDirSignFor(dir);
|
|
436
|
+
ret.push((colIdx + 1) * sign);
|
|
437
|
+
}
|
|
438
|
+
return ret;
|
|
439
|
+
};
|
|
440
|
+
const compareValue = (a, b, isNumeric, undefSign = -1) => {
|
|
441
|
+
if (a === void 0 && b === void 0) {
|
|
442
|
+
return 0;
|
|
443
|
+
} else {
|
|
444
|
+
if (a === void 0) {
|
|
445
|
+
return undefSign;
|
|
446
|
+
} else {
|
|
447
|
+
if (b === void 0) {
|
|
448
|
+
return -undefSign;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
if (!isNumeric) {
|
|
453
|
+
return ("" + a).localeCompare(b);
|
|
454
|
+
} else {
|
|
455
|
+
if (isNaN(a)) {
|
|
456
|
+
return isNaN(b) ? 0 : 1;
|
|
457
|
+
}
|
|
458
|
+
if (isNaN(b)) {
|
|
459
|
+
return -1;
|
|
460
|
+
}
|
|
461
|
+
return Math.sign(Number(a) - Number(b));
|
|
462
|
+
}
|
|
463
|
+
};
|
|
464
|
+
const makeCompositeComparatorFromCodedColumns = (codedColumns, columns, rowExtractor) => {
|
|
465
|
+
return (row_a_i, row_b_i) => {
|
|
466
|
+
const row_a = rowExtractor(row_a_i);
|
|
467
|
+
const row_b = rowExtractor(row_b_i);
|
|
468
|
+
for (const cc of codedColumns) {
|
|
469
|
+
const i = Math.abs(cc) - 1;
|
|
470
|
+
const mul = Math.sign(cc);
|
|
471
|
+
const col = columns[i];
|
|
472
|
+
const key = col.dataKey;
|
|
473
|
+
const sgn = compareValue(row_a[key], row_b[key], col.numeric);
|
|
474
|
+
if (sgn) {
|
|
475
|
+
return mul * sgn;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
return 0;
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
const groupRows = (groupingColumnsCount, columns, indexedArray) => {
|
|
482
|
+
const groupingComparator = makeCompositeComparatorFromCodedColumns(
|
|
483
|
+
Array(groupingColumnsCount).map((x, i) => i + 1),
|
|
484
|
+
columns,
|
|
485
|
+
(ar) => ar[0]
|
|
486
|
+
);
|
|
487
|
+
indexedArray.sort(groupingComparator);
|
|
488
|
+
const groups = [];
|
|
489
|
+
let prevSlice = null;
|
|
490
|
+
let inBuildGroup = [];
|
|
491
|
+
groups.push(inBuildGroup);
|
|
492
|
+
for (const p of indexedArray) {
|
|
493
|
+
const nextSlice = p[0].slice(0, groupingColumnsCount);
|
|
494
|
+
if (prevSlice === null || !equalsArray(prevSlice, nextSlice)) {
|
|
495
|
+
inBuildGroup = [];
|
|
496
|
+
groups.push(inBuildGroup);
|
|
497
|
+
}
|
|
498
|
+
inBuildGroup.push(p);
|
|
499
|
+
prevSlice = nextSlice;
|
|
500
|
+
}
|
|
501
|
+
return groups;
|
|
502
|
+
};
|
|
503
|
+
const groupAndSort = (preFilteredRowPairs, codedColumns, groupingColumnsCount, columns) => {
|
|
504
|
+
const nothingToDo = !codedColumns && !groupingColumnsCount;
|
|
505
|
+
let indexedArray = preFilteredRowPairs.rowAndOrigIndex;
|
|
506
|
+
const noOutFiltered = preFilteredRowPairs.rowsCount === indexedArray.length;
|
|
507
|
+
if (nothingToDo && noOutFiltered) {
|
|
508
|
+
return null;
|
|
509
|
+
} else if (!nothingToDo) {
|
|
510
|
+
indexedArray = [...indexedArray];
|
|
511
|
+
}
|
|
512
|
+
if (nothingToDo)
|
|
513
|
+
;
|
|
514
|
+
else if (!groupingColumnsCount) {
|
|
515
|
+
const sortingComparator = makeCompositeComparatorFromCodedColumns(
|
|
516
|
+
codedColumns,
|
|
517
|
+
columns,
|
|
518
|
+
(ar) => ar[0]
|
|
519
|
+
);
|
|
520
|
+
indexedArray.sort(sortingComparator);
|
|
521
|
+
} else {
|
|
522
|
+
const groups = groupRows(groupingColumnsCount, columns, indexedArray);
|
|
523
|
+
const interGroupSortingComparator = makeCompositeComparatorFromCodedColumns(
|
|
524
|
+
codedColumns,
|
|
525
|
+
columns,
|
|
526
|
+
(ar) => ar[0][0]
|
|
527
|
+
);
|
|
528
|
+
groups.sort(interGroupSortingComparator);
|
|
529
|
+
const intraGroupSortingComparator = makeCompositeComparatorFromCodedColumns(
|
|
530
|
+
codedColumns,
|
|
531
|
+
columns,
|
|
532
|
+
(ar) => ar[0]
|
|
533
|
+
);
|
|
534
|
+
indexedArray = [];
|
|
535
|
+
for (const group of groups) {
|
|
536
|
+
group.sort(intraGroupSortingComparator);
|
|
537
|
+
indexedArray.push(...group);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
return indexedArray;
|
|
541
|
+
};
|
|
542
|
+
export {
|
|
543
|
+
CHANGE_WAYS,
|
|
544
|
+
KeyedColumnsRowIndexer,
|
|
545
|
+
collectibleHelper,
|
|
546
|
+
getHelper,
|
|
547
|
+
noOpHelper
|
|
548
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export const DEFAULT_CELL_PADDING: 16;
|
|
2
|
+
export const DEFAULT_HEADER_HEIGHT: 48;
|
|
3
|
+
export const DEFAULT_ROW_HEIGHT: 48;
|
|
4
|
+
export function generateMuiVirtualizedTableClass(className: any): string;
|
|
5
|
+
declare const _default: import("@emotion/styled").StyledComponent<Pick<PropTypes.InferProps<{
|
|
6
|
+
name: PropTypes.Requireable<string>;
|
|
7
|
+
classes: PropTypes.Requireable<object>;
|
|
8
|
+
rows: PropTypes.Requireable<any[]>;
|
|
9
|
+
columns: PropTypes.Validator<(PropTypes.InferProps<{
|
|
10
|
+
dataKey: PropTypes.Validator<string>;
|
|
11
|
+
label: PropTypes.Validator<string>;
|
|
12
|
+
numeric: PropTypes.Requireable<boolean>;
|
|
13
|
+
width: PropTypes.Requireable<number>;
|
|
14
|
+
minWidth: PropTypes.Requireable<number>;
|
|
15
|
+
maxWidth: PropTypes.Requireable<number>;
|
|
16
|
+
unit: PropTypes.Requireable<string>;
|
|
17
|
+
fractionDigits: PropTypes.Requireable<number>;
|
|
18
|
+
extra: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
19
|
+
}> | null | undefined)[]>;
|
|
20
|
+
enableExportCSV: PropTypes.Requireable<boolean>;
|
|
21
|
+
exportCSVDataKeys: PropTypes.Requireable<any[]>;
|
|
22
|
+
sort: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
|
+
sortable: PropTypes.Requireable<boolean>;
|
|
24
|
+
indexer: PropTypes.Requireable<object>;
|
|
25
|
+
headerHeight: PropTypes.Requireable<number>;
|
|
26
|
+
onRowClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
+
onCellClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
28
|
+
rowHeight: PropTypes.Requireable<number>;
|
|
29
|
+
filter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
30
|
+
tooltipSx: PropTypes.Requireable<object>;
|
|
31
|
+
}>, "filter" | "name" | "rows" | "columns" | "sort" | "tooltipSx" | "indexer" | "sortable" | "exportCSVDataKeys" | "onRowClick" | "onCellClick"> & {
|
|
32
|
+
classes?: object | null | undefined;
|
|
33
|
+
headerHeight?: number | null | undefined;
|
|
34
|
+
enableExportCSV?: boolean | null | undefined;
|
|
35
|
+
rowHeight?: number | null | undefined;
|
|
36
|
+
} & {} & import("@mui/system").MUIStyledCommonProps<import("@mui/system").Theme>, {}, {
|
|
37
|
+
ref?: React.Ref<MuiVirtualizedTable> | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
export default _default;
|
|
40
|
+
import PropTypes from 'prop-types';
|
|
41
|
+
declare class MuiVirtualizedTable extends React.PureComponent<any, any, any> {
|
|
42
|
+
static defaultProps: {
|
|
43
|
+
headerHeight: number;
|
|
44
|
+
rowHeight: number;
|
|
45
|
+
enableExportCSV: boolean;
|
|
46
|
+
classes: {};
|
|
47
|
+
};
|
|
48
|
+
constructor(props: any, context: any);
|
|
49
|
+
_computeHeaderSize(): void;
|
|
50
|
+
_registerHeader(label: any, header: any): void;
|
|
51
|
+
_registerObserver(element: any): void;
|
|
52
|
+
headers: React.RefObject<any>;
|
|
53
|
+
observer: IntersectionObserver;
|
|
54
|
+
state: {
|
|
55
|
+
headerHeight: any;
|
|
56
|
+
indexer: any;
|
|
57
|
+
indirectionVersion: number;
|
|
58
|
+
popoverAnchorEl: null;
|
|
59
|
+
popoverColKey: null;
|
|
60
|
+
deferredFilterChange: null;
|
|
61
|
+
};
|
|
62
|
+
setVersion: (v: any) => void;
|
|
63
|
+
componentDidUpdate(oldProps: any): void;
|
|
64
|
+
componentDidMount(): void;
|
|
65
|
+
componentWillUnmount(): void;
|
|
66
|
+
computeDataWidth: (text: any) => any;
|
|
67
|
+
sizes: import("memoize-one").MemoizedFn<(this: any, columns: any, rows: any, rowGetter: any) => {}>;
|
|
68
|
+
openPopover: (popoverTarget: any, colKey: any) => void;
|
|
69
|
+
dropDownVisible: any;
|
|
70
|
+
handleKeyDownOnPopover: (evt: any) => void;
|
|
71
|
+
closePopover: (evt: any, reason: any) => void;
|
|
72
|
+
makeColumnFilterEditor: () => import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
_commitFilterChange: () => boolean;
|
|
74
|
+
onFilterParamsChange(newVal: any, colKey: any): void;
|
|
75
|
+
sortClickHandler: (evt: any, name: any, columnIndex: any) => void;
|
|
76
|
+
filterClickHandler: (evt: any, target: any, columnIndex: any) => void;
|
|
77
|
+
sortableHeader: ({ label, columnIndex }: {
|
|
78
|
+
label: any;
|
|
79
|
+
columnIndex: any;
|
|
80
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
81
|
+
simpleHeaderRenderer: ({ label }: {
|
|
82
|
+
label: any;
|
|
83
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
getRowClassName: ({ index, rowGetter }: {
|
|
85
|
+
index: any;
|
|
86
|
+
rowGetter: any;
|
|
87
|
+
}) => string;
|
|
88
|
+
onClickableRowClick: (event: any) => void;
|
|
89
|
+
cellRenderer: ({ cellData, columnIndex, rowIndex }: {
|
|
90
|
+
cellData: any;
|
|
91
|
+
columnIndex: any;
|
|
92
|
+
rowIndex: any;
|
|
93
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
getDisplayValue(column: any, cellData: any): any;
|
|
95
|
+
makeHeaderRenderer(dataKey: any, columnIndex: any): (headerProps: any) => import("react/jsx-runtime").JSX.Element;
|
|
96
|
+
makeSizedTable: (height: any, width: any, sizes: any, reorderedIndex: any, rowGetter: any) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
getCSVFilename: () => any;
|
|
98
|
+
getCSVData: () => Promise<{}[]>;
|
|
99
|
+
csvHeaders: import("memoize-one").MemoizedFn<(this: any, columns: any, exportCSVDataKeys: any) => any[]>;
|
|
100
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
}
|
|
102
|
+
declare namespace MuiVirtualizedTable {
|
|
103
|
+
namespace propTypes {
|
|
104
|
+
const name: PropTypes.Requireable<string>;
|
|
105
|
+
const classes: PropTypes.Requireable<object>;
|
|
106
|
+
const rows: PropTypes.Requireable<any[]>;
|
|
107
|
+
const columns: PropTypes.Validator<(PropTypes.InferProps<{
|
|
108
|
+
dataKey: PropTypes.Validator<string>;
|
|
109
|
+
label: PropTypes.Validator<string>;
|
|
110
|
+
numeric: PropTypes.Requireable<boolean>;
|
|
111
|
+
width: PropTypes.Requireable<number>;
|
|
112
|
+
minWidth: PropTypes.Requireable<number>;
|
|
113
|
+
maxWidth: PropTypes.Requireable<number>;
|
|
114
|
+
unit: PropTypes.Requireable<string>;
|
|
115
|
+
fractionDigits: PropTypes.Requireable<number>;
|
|
116
|
+
extra: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
117
|
+
}> | null | undefined)[]>;
|
|
118
|
+
const enableExportCSV: PropTypes.Requireable<boolean>;
|
|
119
|
+
const exportCSVDataKeys: PropTypes.Requireable<any[]>;
|
|
120
|
+
const sort: PropTypes.Requireable<(...args: any[]) => any>;
|
|
121
|
+
const sortable: PropTypes.Requireable<boolean>;
|
|
122
|
+
const indexer: PropTypes.Requireable<object>;
|
|
123
|
+
const headerHeight: PropTypes.Requireable<number>;
|
|
124
|
+
const onRowClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
125
|
+
const onCellClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
126
|
+
const rowHeight: PropTypes.Requireable<number>;
|
|
127
|
+
const filter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
128
|
+
const tooltipSx: PropTypes.Requireable<object>;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
import React from 'react';
|