@carbon/ibm-products 2.45.0 → 2.46.0-rc.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/css/index-full-carbon.css +261 -124
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +3 -0
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +81 -86
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +182 -110
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/ActionBar/ActionBarItem.js +1 -1
- package/es/components/Coachmark/Coachmark.d.ts +6 -1
- package/es/components/Coachmark/Coachmark.js +37 -6
- package/es/components/Coachmark/CoachmarkOverlay.js +2 -4
- package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +20 -14
- package/es/components/ConditionBuilder/ConditionBuilder.js +3 -3
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +8 -5
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +4 -2
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +4 -3
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +1 -3
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +26 -30
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +6 -1
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +4 -1
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +5 -2
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +3 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +47 -23
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +3 -3
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +6 -3
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +3 -2
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +62 -32
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -0
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +52 -46
- package/es/components/ConditionBuilder/utils/util.d.ts +6 -5
- package/es/components/ConditionBuilder/utils/util.js +35 -17
- package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +6 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +77 -38
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +4 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +10 -1
- package/es/components/DataSpreadsheet/types/index.d.ts +1 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +33 -1
- package/es/components/Datagrid/types/index.d.ts +14 -2
- package/es/components/Datagrid/useDisableSelectRows.d.ts +2 -1
- package/es/components/Datagrid/useDisableSelectRows.js +27 -22
- package/es/components/StringFormatter/StringFormatter.js +14 -3
- package/es/components/StringFormatter/utils/enums.d.ts +20 -1
- package/es/components/StringFormatter/utils/enums.js +22 -2
- package/es/components/Tearsheet/TearsheetShell.d.ts +1 -1
- package/es/components/Tearsheet/TearsheetShell.js +4 -2
- package/es/global/js/hooks/useFocus.d.ts +1 -0
- package/es/global/js/hooks/useFocus.js +5 -2
- package/es/node_modules/@carbon/icon-helpers/es/index.js +49 -62
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1020 -1058
- package/es/node_modules/@carbon/icons-react/es/generated/bucket-9.js +881 -758
- package/lib/components/ActionBar/ActionBarItem.js +1 -1
- package/lib/components/Coachmark/Coachmark.d.ts +6 -1
- package/lib/components/Coachmark/Coachmark.js +36 -5
- package/lib/components/Coachmark/CoachmarkOverlay.js +2 -4
- package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +1 -7
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +19 -13
- package/lib/components/ConditionBuilder/ConditionBuilder.js +3 -3
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +8 -5
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +4 -2
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +2 -2
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +4 -3
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +1 -3
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +25 -29
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +1 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +6 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +4 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +5 -2
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +3 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +46 -22
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +3 -3
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +6 -3
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +3 -2
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +1 -3
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +61 -31
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.d.ts +1 -0
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +51 -44
- package/lib/components/ConditionBuilder/utils/util.d.ts +6 -5
- package/lib/components/ConditionBuilder/utils/util.js +36 -16
- package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +6 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +77 -38
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +4 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +10 -1
- package/lib/components/DataSpreadsheet/types/index.d.ts +1 -0
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +34 -10
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +32 -0
- package/lib/components/Datagrid/types/index.d.ts +14 -2
- package/lib/components/Datagrid/useDisableSelectRows.d.ts +2 -1
- package/lib/components/Datagrid/useDisableSelectRows.js +27 -22
- package/lib/components/StringFormatter/StringFormatter.js +13 -2
- package/lib/components/StringFormatter/utils/enums.d.ts +20 -1
- package/lib/components/StringFormatter/utils/enums.js +23 -1
- package/lib/components/Tearsheet/TearsheetShell.d.ts +1 -1
- package/lib/components/Tearsheet/TearsheetShell.js +3 -1
- package/lib/global/js/hooks/useFocus.d.ts +1 -0
- package/lib/global/js/hooks/useFocus.js +5 -1
- package/lib/node_modules/@carbon/icon-helpers/es/index.js +49 -62
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-2.js +1036 -1074
- package/lib/node_modules/@carbon/icons-react/es/generated/bucket-9.js +946 -823
- package/package.json +6 -6
- package/scss/components/Coachmark/_coachmark-overlay.scss +6 -70
- package/scss/components/Coachmark/_coachmark.scss +5 -4
- package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +1 -3
- package/scss/components/ConditionBuilder/_condition-builder.scss +4 -0
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +6 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +1 -1
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +7 -5
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +5 -4
- package/telemetry.yml +5 -14
@@ -1,6 +1,7 @@
|
|
1
|
-
export function focusThisField(evt: any): void;
|
2
|
-
export function focusThisItem(currentElement: any): void;
|
3
|
-
export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
|
4
|
-
export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
|
1
|
+
export function focusThisField(evt: any, conditionBuilderRef: any): void;
|
2
|
+
export function focusThisItem(currentElement: any, conditionBuilderRef: any): void;
|
3
|
+
export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any, conditionBuilderRef: any): void;
|
4
|
+
export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any, conditionBuilderRef: any): void;
|
5
5
|
export function checkForHoldingKey(evt: any, key: any): any;
|
6
|
-
export function
|
6
|
+
export function checkIsValid(item: any): any;
|
7
|
+
export function manageTabIndexAndFocus(currentElement: any, conditionBuilderRef: any): void;
|
@@ -5,40 +5,45 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
(
|
13
|
-
|
8
|
+
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
9
|
+
|
10
|
+
var focusThisField = function focusThisField(evt, conditionBuilderRef) {
|
11
|
+
if (evt) {
|
12
|
+
setTimeout(function () {
|
13
|
+
var _evt$target$closest, _evt$target$closest2, _evt$target$closest3;
|
14
|
+
manageTabIndexAndFocus((_evt$target$closest = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest === void 0 ? void 0 : _evt$target$closest.querySelector('button'), conditionBuilderRef);
|
15
|
+
(_evt$target$closest2 = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest2 === void 0 || (_evt$target$closest2 = _evt$target$closest2.querySelector('button')) === null || _evt$target$closest2 === void 0 || _evt$target$closest2.click();
|
16
|
+
(_evt$target$closest3 = evt.target.closest('[role="gridcell"]')) === null || _evt$target$closest3 === void 0 || (_evt$target$closest3 = _evt$target$closest3.querySelector('button')) === null || _evt$target$closest3 === void 0 || _evt$target$closest3.focus();
|
17
|
+
}, 0);
|
18
|
+
}
|
14
19
|
};
|
15
|
-
var focusThisItem = function focusThisItem(currentElement) {
|
20
|
+
var focusThisItem = function focusThisItem(currentElement, conditionBuilderRef) {
|
16
21
|
setTimeout(function () {
|
17
22
|
//document.activeElement.setAttribute('tabindex', '-1');
|
18
23
|
// currentElement.setAttribute('tabindex', '0');
|
19
|
-
currentElement
|
24
|
+
manageTabIndexAndFocus(currentElement, conditionBuilderRef);
|
20
25
|
}, 0);
|
21
26
|
};
|
22
|
-
var traverseClockVise = function traverseClockVise(eachElem, index, allElements, rotate, trapFocus) {
|
27
|
+
var traverseClockVise = function traverseClockVise(eachElem, index, allElements, rotate, trapFocus, conditionBuilderRef) {
|
23
28
|
if (eachElem == document.activeElement) {
|
24
29
|
if (index !== allElements.length - 1) {
|
25
|
-
focusThisItem(allElements[index + 1]);
|
30
|
+
focusThisItem(allElements[index + 1], conditionBuilderRef);
|
26
31
|
} else {
|
27
|
-
focusThisItem(allElements[rotate ? 0 : allElements.length - 1]);
|
32
|
+
focusThisItem(allElements[rotate ? 0 : allElements.length - 1], conditionBuilderRef);
|
28
33
|
}
|
29
34
|
} else if (Array.from(allElements).indexOf(document.activeElement) == -1 && trapFocus) {
|
30
|
-
focusThisItem(allElements[0]);
|
35
|
+
focusThisItem(allElements[0], conditionBuilderRef);
|
31
36
|
}
|
32
37
|
};
|
33
|
-
var traverseReverse = function traverseReverse(eachElem, index, allElements, rotate, trapFocus) {
|
38
|
+
var traverseReverse = function traverseReverse(eachElem, index, allElements, rotate, trapFocus, conditionBuilderRef) {
|
34
39
|
if (eachElem == document.activeElement) {
|
35
40
|
if (index !== 0) {
|
36
|
-
focusThisItem(allElements[index - 1]);
|
41
|
+
focusThisItem(allElements[index - 1], conditionBuilderRef);
|
37
42
|
} else {
|
38
|
-
focusThisItem(allElements[rotate ? allElements.length - 1 : 0]);
|
43
|
+
focusThisItem(allElements[rotate ? allElements.length - 1 : 0], conditionBuilderRef);
|
39
44
|
}
|
40
45
|
} else if (Array.from(allElements).indexOf(document.activeElement) == -1 && trapFocus) {
|
41
|
-
focusThisItem(allElements[allElements.length - 1]);
|
46
|
+
focusThisItem(allElements[allElements.length - 1], conditionBuilderRef);
|
42
47
|
}
|
43
48
|
};
|
44
49
|
var checkForHoldingKey = function checkForHoldingKey(evt, key) {
|
@@ -48,5 +53,18 @@ var checkForHoldingKey = function checkForHoldingKey(evt, key) {
|
|
48
53
|
}
|
49
54
|
return evt[key];
|
50
55
|
};
|
56
|
+
var checkIsValid = function checkIsValid(item) {
|
57
|
+
return item && item !== 'INVALID';
|
58
|
+
};
|
59
|
+
var manageTabIndexAndFocus = function manageTabIndexAndFocus(currentElement, conditionBuilderRef) {
|
60
|
+
var _currentElement$close, _conditionBuilderRef$;
|
61
|
+
var contentContainer = (_currentElement$close = currentElement === null || currentElement === void 0 ? void 0 : currentElement.closest(".".concat(blockClass, "__content-container"))) !== null && _currentElement$close !== void 0 ? _currentElement$close : currentElement === null || currentElement === void 0 ? void 0 : currentElement.closest(".".concat(blockClass, "__actions-container"));
|
62
|
+
contentContainer && Array.from(contentContainer.querySelectorAll('[tabindex="0"]')).map(function (element) {
|
63
|
+
return element === null || element === void 0 ? void 0 : element.setAttribute('tabindex', '-1');
|
64
|
+
});
|
65
|
+
currentElement === null || currentElement === void 0 || currentElement.setAttribute('tabindex', '0');
|
66
|
+
(_conditionBuilderRef$ = conditionBuilderRef.current) === null || _conditionBuilderRef$ === void 0 || (_conditionBuilderRef$ = _conditionBuilderRef$.querySelector(".".concat(blockClass, "__statement-button"))) === null || _conditionBuilderRef$ === void 0 || _conditionBuilderRef$.setAttribute('tabindex', '1');
|
67
|
+
currentElement === null || currentElement === void 0 || currentElement.focus();
|
68
|
+
};
|
51
69
|
|
52
|
-
export { checkForHoldingKey, focusThisField, focusThisItem, traverseClockVise, traverseReverse };
|
70
|
+
export { checkForHoldingKey, checkIsValid, focusThisField, focusThisItem, manageTabIndexAndFocus, traverseClockVise, traverseReverse };
|
@@ -44,6 +44,12 @@ interface DataSpreadsheetProps {
|
|
44
44
|
* The event handler that is called when the active cell changes
|
45
45
|
*/
|
46
46
|
onActiveCellChange?: () => void;
|
47
|
+
/**
|
48
|
+
* Callback for columns after being dragged
|
49
|
+
*/
|
50
|
+
onColDrag?: ({ ...args }: {
|
51
|
+
[x: string]: any;
|
52
|
+
}) => void;
|
47
53
|
/**
|
48
54
|
* The setter fn for the data prop
|
49
55
|
*/
|
@@ -32,7 +32,7 @@ import { useSpreadsheetOutsideClick } from './hooks/useSpreadsheetOutsideClick.j
|
|
32
32
|
import { useMoveActiveCell } from './hooks/useMoveActiveCell.js';
|
33
33
|
import { useSpreadsheetEdit } from './hooks/useSpreadsheetEdit.js';
|
34
34
|
|
35
|
-
var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "id", "onActiveCellChange", "onSelectionAreaChange", "renderRowHeader", "renderRowHeaderDirection", "disableColumnSwapping", "readOnlyTable", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
|
35
|
+
var _excluded = ["cellSize", "className", "columns", "data", "defaultEmptyRowCount", "onDataUpdate", "onColDrag", "id", "onActiveCellChange", "onSelectionAreaChange", "renderRowHeader", "renderRowHeaderDirection", "disableColumnSwapping", "readOnlyTable", "selectAllAriaLabel", "spreadsheetAriaLabel", "theme", "totalVisibleColumns"];
|
36
36
|
// The block part of our conventional BEM class names (blockClass__E--M).
|
37
37
|
var blockClass = "".concat(pkg.prefix, "--data-spreadsheet");
|
38
38
|
var componentName = 'DataSpreadsheet';
|
@@ -43,6 +43,7 @@ var defaults = {
|
|
43
43
|
data: Object.freeze([]),
|
44
44
|
defaultEmptyRowCount: 16,
|
45
45
|
onDataUpdate: Object.freeze(function () {}),
|
46
|
+
onColDrag: Object.freeze(function () {}),
|
46
47
|
onActiveCellChange: Object.freeze(function () {}),
|
47
48
|
onSelectionAreaChange: Object.freeze(function () {}),
|
48
49
|
theme: 'light'
|
@@ -62,6 +63,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
|
|
62
63
|
defaultEmptyRowCount = _ref$defaultEmptyRowC === void 0 ? defaults.defaultEmptyRowCount : _ref$defaultEmptyRowC,
|
63
64
|
_ref$onDataUpdate = _ref.onDataUpdate,
|
64
65
|
onDataUpdate = _ref$onDataUpdate === void 0 ? defaults.onDataUpdate : _ref$onDataUpdate,
|
66
|
+
_ref$onColDrag = _ref.onColDrag,
|
67
|
+
onColDrag = _ref$onColDrag === void 0 ? defaults.onColDrag : _ref$onColDrag,
|
65
68
|
id = _ref.id,
|
66
69
|
_ref$onActiveCellChan = _ref.onActiveCellChange,
|
67
70
|
onActiveCellChange = _ref$onActiveCellChan === void 0 ? defaults.onActiveCellChange : _ref$onActiveCellChan,
|
@@ -82,66 +85,75 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
|
|
82
85
|
var localRef = useRef();
|
83
86
|
var spreadsheetRef = ref || localRef;
|
84
87
|
var focusedElement = useActiveElement();
|
85
|
-
var _useState = useState(
|
88
|
+
var _useState = useState(columns),
|
86
89
|
_useState2 = _slicedToArray(_useState, 2),
|
87
|
-
|
88
|
-
|
89
|
-
var _useState3 = useState(
|
90
|
+
currentColumns = _useState2[0],
|
91
|
+
setCurrentColumns = _useState2[1];
|
92
|
+
var _useState3 = useState([]),
|
90
93
|
_useState4 = _slicedToArray(_useState3, 2),
|
91
|
-
|
92
|
-
|
93
|
-
var _useState5 = useState(
|
94
|
+
pastColumns = _useState4[0],
|
95
|
+
setPastColumns = _useState4[1];
|
96
|
+
var _useState5 = useState(false),
|
94
97
|
_useState6 = _slicedToArray(_useState5, 2),
|
95
|
-
|
96
|
-
|
97
|
-
var _useState7 = useState(
|
98
|
+
containerHasFocus = _useState6[0],
|
99
|
+
setContainerHasFocus = _useState6[1];
|
100
|
+
var _useState7 = useState(null),
|
98
101
|
_useState8 = _slicedToArray(_useState7, 2),
|
99
|
-
|
100
|
-
|
101
|
-
var _useState9 = useState(
|
102
|
+
activeCellCoordinates = _useState8[0],
|
103
|
+
setActiveCellCoordinates = _useState8[1];
|
104
|
+
var _useState9 = useState([]),
|
102
105
|
_useState10 = _slicedToArray(_useState9, 2),
|
103
|
-
|
104
|
-
|
105
|
-
var _useState11 = useState(
|
106
|
+
selectionAreas = _useState10[0],
|
107
|
+
setSelectionAreas = _useState10[1];
|
108
|
+
var _useState11 = useState([]),
|
106
109
|
_useState12 = _slicedToArray(_useState11, 2),
|
107
|
-
|
108
|
-
|
110
|
+
selectionAreaData = _useState12[0],
|
111
|
+
setSelectionAreaData = _useState12[1];
|
109
112
|
var _useState13 = useState(false),
|
110
113
|
_useState14 = _slicedToArray(_useState13, 2),
|
111
|
-
|
112
|
-
|
114
|
+
clickAndHoldActive = _useState14[0],
|
115
|
+
setClickAndHoldActive = _useState14[1];
|
113
116
|
var _useState15 = useState(''),
|
114
117
|
_useState16 = _slicedToArray(_useState15, 2),
|
115
|
-
|
116
|
-
|
118
|
+
currentMatcher = _useState16[0],
|
119
|
+
setCurrentMatcher = _useState16[1];
|
117
120
|
var _useState17 = useState(false),
|
118
121
|
_useState18 = _slicedToArray(_useState17, 2),
|
119
|
-
|
120
|
-
|
121
|
-
var _useState19 = useState(
|
122
|
+
isEditing = _useState18[0],
|
123
|
+
setIsEditing = _useState18[1];
|
124
|
+
var _useState19 = useState(''),
|
122
125
|
_useState20 = _slicedToArray(_useState19, 2),
|
123
|
-
|
124
|
-
|
125
|
-
var isBlurSpreadsheet = useRef(false);
|
126
|
+
cellEditorValue = _useState20[0],
|
127
|
+
setCellEditorValue = _useState20[1];
|
126
128
|
var _useState21 = useState(false),
|
127
129
|
_useState22 = _slicedToArray(_useState21, 2),
|
128
|
-
|
129
|
-
|
130
|
+
headerCellHoldActive = _useState22[0],
|
131
|
+
setHeaderCellHoldActive = _useState22[1];
|
130
132
|
var _useState23 = useState(false),
|
131
133
|
_useState24 = _slicedToArray(_useState23, 2),
|
132
|
-
|
133
|
-
|
134
|
+
selectedHeaderReorderActive = _useState24[0],
|
135
|
+
setSelectedHeaderReorderActive = _useState24[1];
|
136
|
+
var isBlurSpreadsheet = useRef(false);
|
137
|
+
var _useState25 = useState(false),
|
138
|
+
_useState26 = _slicedToArray(_useState25, 2),
|
139
|
+
isActiveHeaderCellChanged = _useState26[0],
|
140
|
+
setIsActiveHeaderCellChanged = _useState26[1];
|
141
|
+
var _useState27 = useState(false),
|
142
|
+
_useState28 = _slicedToArray(_useState27, 2),
|
143
|
+
activeCellInsideSelectionArea = _useState28[0],
|
144
|
+
setActiveCellInsideSelectionArea = _useState28[1];
|
134
145
|
var previousState = usePreviousValue({
|
135
146
|
activeCellCoordinates: activeCellCoordinates,
|
136
147
|
isEditing: isEditing,
|
137
|
-
cellEditorValue: cellEditorValue
|
148
|
+
cellEditorValue: cellEditorValue,
|
149
|
+
selectedHeaderReorderActive: selectedHeaderReorderActive
|
138
150
|
}) || {};
|
139
151
|
var cellSizeValue = getCellSize(cellSize);
|
140
152
|
var cellEditorRef = useRef();
|
141
|
-
var
|
142
|
-
|
143
|
-
activeCellContent =
|
144
|
-
setActiveCellContent =
|
153
|
+
var _useState29 = useState(),
|
154
|
+
_useState30 = _slicedToArray(_useState29, 2),
|
155
|
+
activeCellContent = _useState30[0],
|
156
|
+
setActiveCellContent = _useState30[1];
|
145
157
|
var activeCellRef = useRef();
|
146
158
|
var cellEditorRulerRef = useRef();
|
147
159
|
var hasCustomRowHeader = typeof renderRowHeader === 'function';
|
@@ -188,6 +200,28 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
|
|
188
200
|
});
|
189
201
|
});
|
190
202
|
}, [cellEditorValue, onDataUpdate]);
|
203
|
+
useEffect(function () {
|
204
|
+
var currentHeaders = [];
|
205
|
+
if (Object.keys(currentColumns).length > 0) {
|
206
|
+
Object.keys(currentColumns).forEach(function (itemIndex) {
|
207
|
+
if (currentColumns[itemIndex].Header) {
|
208
|
+
currentHeaders.push(currentColumns[itemIndex].Header);
|
209
|
+
}
|
210
|
+
});
|
211
|
+
}
|
212
|
+
if (previousState.selectedHeaderReorderActive) {
|
213
|
+
setPastColumns(currentHeaders);
|
214
|
+
}
|
215
|
+
if (!previousState.selectedHeaderReorderActive && pastColumns.length > 0 && !headerCellHoldActive && JSON.stringify(currentHeaders) !== JSON.stringify(pastColumns)) {
|
216
|
+
onColDrag({
|
217
|
+
headers: currentHeaders,
|
218
|
+
data: activeCellContent.props.data
|
219
|
+
});
|
220
|
+
if (currentHeaders.length === 0) {
|
221
|
+
setPastColumns([]);
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}, [previousState === null || previousState === void 0 ? void 0 : previousState.selectedHeaderReorderActive, currentColumns, headerCellHoldActive, columns, activeCellContent, onColDrag, pastColumns]);
|
191
225
|
|
192
226
|
// Removes the active cell element
|
193
227
|
var removeActiveCell = useCallback(function () {
|
@@ -650,6 +684,7 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
|
|
650
684
|
}), /*#__PURE__*/React__default.createElement(DataSpreadsheetBody, {
|
651
685
|
activeCellRef: activeCellRef,
|
652
686
|
activeCellCoordinates: activeCellCoordinates,
|
687
|
+
setCurrentColumns: setCurrentColumns,
|
653
688
|
ref: spreadsheetRef,
|
654
689
|
clickAndHoldActive: clickAndHoldActive,
|
655
690
|
setClickAndHoldActive: setClickAndHoldActive,
|
@@ -783,6 +818,10 @@ DataSpreadsheet.propTypes = {
|
|
783
818
|
* The event handler that is called when the active cell changes
|
784
819
|
*/
|
785
820
|
onActiveCellChange: PropTypes.func,
|
821
|
+
/**
|
822
|
+
* Callback for when columns are dropped after dragged
|
823
|
+
*/
|
824
|
+
onColDrag: PropTypes.func,
|
786
825
|
/**
|
787
826
|
* The setter fn for the data prop
|
788
827
|
*/
|
@@ -48,6 +48,10 @@ interface DataSpreadsheetBodyProps {
|
|
48
48
|
* The spreadsheet id
|
49
49
|
*/
|
50
50
|
id?: number | string;
|
51
|
+
/**
|
52
|
+
* Set current columns after drag drop
|
53
|
+
*/
|
54
|
+
setCurrentColumns?: Dispatch<SetStateAction<object[]>>;
|
51
55
|
/**
|
52
56
|
* The event handler that is called when the active cell changes
|
53
57
|
*/
|
@@ -33,6 +33,7 @@ var DataSpreadsheetBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
33
33
|
defaultEmptyRowCount = _ref.defaultEmptyRowCount,
|
34
34
|
getTableBodyProps = _ref.getTableBodyProps,
|
35
35
|
headerGroups = _ref.headerGroups,
|
36
|
+
setCurrentColumns = _ref.setCurrentColumns,
|
36
37
|
id = _ref.id,
|
37
38
|
onDataUpdate = _ref.onDataUpdate,
|
38
39
|
renderRowHeader = _ref.renderRowHeader,
|
@@ -309,7 +310,11 @@ var DataSpreadsheetBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
309
310
|
};
|
310
311
|
buildEmptyRows();
|
311
312
|
}
|
312
|
-
|
313
|
+
if (headerGroups !== null && headerGroups !== void 0 && headerGroups[0] && typeof setCurrentColumns === 'function') {
|
314
|
+
var headers = headerGroups[0].headers;
|
315
|
+
setCurrentColumns(headers);
|
316
|
+
}
|
317
|
+
}, [rows, headerGroups, defaultEmptyRowCount, onDataUpdate, setCurrentColumns]);
|
313
318
|
var RenderEmptyRows = function RenderEmptyRows() {
|
314
319
|
return _div || (_div = /*#__PURE__*/React__default.createElement("div", null));
|
315
320
|
};
|
@@ -513,6 +518,10 @@ DataSpreadsheetBody.propTypes = {
|
|
513
518
|
* Setter fn for containerHasFocus state value
|
514
519
|
*/
|
515
520
|
setContainerHasFocus: PropTypes.func,
|
521
|
+
/**
|
522
|
+
* Set current columns after drag drop
|
523
|
+
*/
|
524
|
+
setCurrentColumns: PropTypes.func,
|
516
525
|
/**
|
517
526
|
* Setter fn for currentMatcher state value
|
518
527
|
*/
|
package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js
CHANGED
@@ -73,15 +73,39 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
73
73
|
onSaveColumnPrefs(updatedColumns);
|
74
74
|
};
|
75
75
|
var onCheckboxCheck = function onCheckboxCheck(col, value) {
|
76
|
+
// Update the visibility of columns based on a single column or an array of columns
|
76
77
|
var changedDefinitions = columnObjects.map(function (definition) {
|
77
|
-
|
78
|
-
|
78
|
+
// If select all is clicked
|
79
|
+
if (Array.isArray(col)) {
|
80
|
+
return col.includes(definition) && definition.canFilter && !definition.disabled ? _objectSpread2(_objectSpread2({}, definition), {}, {
|
79
81
|
isVisible: value
|
80
|
-
});
|
82
|
+
}) : definition;
|
81
83
|
}
|
82
|
-
return
|
84
|
+
// If a single checkbox is clicked which is written below as a default return
|
85
|
+
return col.id === definition.id ? _objectSpread2(_objectSpread2({}, definition), {}, {
|
86
|
+
isVisible: value
|
87
|
+
}) : definition;
|
83
88
|
});
|
84
|
-
|
89
|
+
|
90
|
+
// Count the number of visible columns excluding certain IDs after 1st mutation
|
91
|
+
var selectedColumnsCount = changedDefinitions.filter(function (definition) {
|
92
|
+
return definition.isVisible && !['datagridSelection', 'actions'].includes(definition.id);
|
93
|
+
}).length;
|
94
|
+
|
95
|
+
// Ensure special columns are visible if any other columns are visible
|
96
|
+
var finalDefinitions = changedDefinitions.map(function (definition) {
|
97
|
+
// If at least 1 column is visible after mutation, we add selection column and actions column (coming from various extensions)
|
98
|
+
if (selectedColumnsCount > 0) {
|
99
|
+
return ['datagridSelection', 'actions'].includes(definition.id) ? _objectSpread2(_objectSpread2({}, definition), {}, {
|
100
|
+
isVisible: true
|
101
|
+
}) : definition;
|
102
|
+
}
|
103
|
+
// Else we remove selection column and actions column
|
104
|
+
return ['datagridSelection', 'actions'].includes(definition.id) ? _objectSpread2(_objectSpread2({}, definition), {}, {
|
105
|
+
isVisible: false
|
106
|
+
}) : definition;
|
107
|
+
});
|
108
|
+
setColumnObjects(finalDefinitions);
|
85
109
|
setDirty();
|
86
110
|
};
|
87
111
|
var setDirty = function setDirty() {
|
@@ -96,14 +120,14 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
|
|
96
120
|
}, [columnObjects]);
|
97
121
|
var string = searchText.trim().toLowerCase();
|
98
122
|
useEffect(function () {
|
99
|
-
var notFilterableCount = columnObjects.filter(function (col) {
|
100
|
-
return !col.canFilter;
|
101
|
-
}).length;
|
102
123
|
var actionCount = columnObjects.filter(function (col) {
|
103
124
|
return col.id === 'actions';
|
104
125
|
}).length;
|
105
|
-
|
106
|
-
|
126
|
+
var datagridSelectionCount = columnObjects.filter(function (col) {
|
127
|
+
return col.id === 'datagridSelection';
|
128
|
+
}).length;
|
129
|
+
setVisibleColumnsCount(getVisibleColumnsCount() - actionCount - datagridSelectionCount < 0 ? 0 : getVisibleColumnsCount() - actionCount - datagridSelectionCount);
|
130
|
+
setTotalColumns(columnObjects.length - actionCount - datagridSelectionCount);
|
107
131
|
}, [getVisibleColumnsCount, columnObjects]);
|
108
132
|
return /*#__PURE__*/React__default.createElement(TearsheetNarrow, {
|
109
133
|
className: "".concat(blockClass, "__customize-columns-tearsheet"),
|
@@ -5,7 +5,7 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
|
8
|
-
import { slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty
|
8
|
+
import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, extends as _extends, objectSpread2 as _objectSpread2, defineProperty as _defineProperty } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import { MULTISELECT, DROPDOWN, RADIO, CHECKBOX, NUMBER, DATE, BATCH, SAVED_FILTERS, INSTANT, PANEL } from '../constants.js';
|
10
10
|
import { MultiSelect, Dropdown, FormGroup, RadioButtonGroup, RadioButton, NumberInput, DatePicker, DatePickerInput, Layer, Checkbox } from '@carbon/react';
|
11
11
|
import React__default, { useContext, useState, useRef, useCallback, useEffect } from 'react';
|
@@ -13,6 +13,7 @@ import OverflowCheckboxes from '../OverflowCheckboxes.js';
|
|
13
13
|
import { getInitialStateFromFilters } from '../utils.js';
|
14
14
|
import { FilterContext } from '../FilterProvider.js';
|
15
15
|
import { handleCheckboxChange } from '../handleCheckboxChange.js';
|
16
|
+
import uuidv4 from '../../../../../../global/js/utils/uuidv4.js';
|
16
17
|
import { usePreviousValue } from '../../../../../../global/js/hooks/usePreviousValue.js';
|
17
18
|
|
18
19
|
var useFilters = function useFilters(_ref) {
|
@@ -47,6 +48,7 @@ var useFilters = function useFilters(_ref) {
|
|
47
48
|
var previousState = usePreviousValue({
|
48
49
|
panelOpen: panelOpen
|
49
50
|
});
|
51
|
+
var filteredItemsRef = useRef();
|
50
52
|
|
51
53
|
// When using batch actions we have to store the filters to then apply them later
|
52
54
|
var prevFiltersRef = useRef(JSON.stringify(filtersState));
|
@@ -307,8 +309,18 @@ var useFilters = function useFilters(_ref) {
|
|
307
309
|
}
|
308
310
|
return null;
|
309
311
|
}).filter(Boolean);
|
312
|
+
var isEqual = compareFilterItems(filteredItems);
|
313
|
+
if (!isEqual) {
|
314
|
+
filteredItemsRef.current = _toConsumableArray(filteredItems);
|
315
|
+
}
|
316
|
+
var getKey = function getKey() {
|
317
|
+
return isEqual ? {
|
318
|
+
key: uuidv4()
|
319
|
+
} : column;
|
320
|
+
};
|
310
321
|
filter = /*#__PURE__*/React__default.createElement(MultiSelect, _extends({}, components.MultiSelect, {
|
311
322
|
selectedItems: filteredItems,
|
323
|
+
key: getKey(),
|
312
324
|
onChange: function onChange(_ref9) {
|
313
325
|
var _components$MultiSele, _components$MultiSele2;
|
314
326
|
var selectedItems = _ref9.selectedItems;
|
@@ -324,6 +336,7 @@ var useFilters = function useFilters(_ref) {
|
|
324
336
|
}
|
325
337
|
return null;
|
326
338
|
}).filter(Boolean);
|
339
|
+
filteredItemsRef.current = _toConsumableArray(foundItems);
|
327
340
|
|
328
341
|
// Change selected state for those items that have been selected
|
329
342
|
allOptions.map(function (a) {
|
@@ -366,6 +379,25 @@ var useFilters = function useFilters(_ref) {
|
|
366
379
|
key: column
|
367
380
|
}, filter);
|
368
381
|
};
|
382
|
+
var compareFilterItems = function compareFilterItems(filteredItems) {
|
383
|
+
var _filteredItems$map, _filteredItemsRef$cur, _filteredItemsRef$cur2;
|
384
|
+
var filteredItemsId = (_filteredItems$map = filteredItems.map(function (item) {
|
385
|
+
return item.id;
|
386
|
+
})) !== null && _filteredItems$map !== void 0 ? _filteredItems$map : [];
|
387
|
+
var previousFilteredItemsId = (_filteredItemsRef$cur = filteredItemsRef === null || filteredItemsRef === void 0 || (_filteredItemsRef$cur2 = filteredItemsRef.current) === null || _filteredItemsRef$cur2 === void 0 ? void 0 : _filteredItemsRef$cur2.map(function (item) {
|
388
|
+
return item.id;
|
389
|
+
})) !== null && _filteredItemsRef$cur !== void 0 ? _filteredItemsRef$cur : [];
|
390
|
+
var set1 = new Set(filteredItemsId);
|
391
|
+
var set2 = new Set(previousFilteredItemsId);
|
392
|
+
// Check if the sets have the same size (same number of unique elements)
|
393
|
+
if (set1.size !== set2.size) {
|
394
|
+
return false;
|
395
|
+
}
|
396
|
+
// Check if all elements in set1 are also present in set2 (using spread syntax)
|
397
|
+
return _toConsumableArray(set1).every(function (element) {
|
398
|
+
return set2.has(element);
|
399
|
+
});
|
400
|
+
};
|
369
401
|
|
370
402
|
/** This useEffect will properly handle the previous filters when the panel closes
|
371
403
|
* 1. If the panel closes we need to call the reset fn but also store the
|
@@ -6,7 +6,7 @@ import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonG
|
|
6
6
|
import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
|
7
7
|
import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
|
8
8
|
import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
|
9
|
-
import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
|
9
|
+
import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableState, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
|
10
10
|
import { CarbonIconType } from '@carbon/react/icons';
|
11
11
|
import { IconButton, type ButtonProps } from '@carbon/react';
|
12
12
|
import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
|
@@ -129,7 +129,15 @@ export interface DataGridTableProps extends TableCommonProps {
|
|
129
129
|
interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectState<any> {
|
130
130
|
filters: Filters<DataGridFilter>;
|
131
131
|
}
|
132
|
-
export interface DataGridTableInstance<T extends object = any> extends TableInstance<T
|
132
|
+
export interface DataGridTableInstance<T extends object = any> extends Omit<TableInstance<T>, 'state'>, Partial<UsePaginationInstanceProps<any>> {
|
133
|
+
shouldDisableSelectRow?: (...args: any[]) => void | boolean;
|
134
|
+
state?: Partial<TableState & UseRowSelectState<any>>;
|
135
|
+
disableSelectAll?: boolean;
|
136
|
+
disableSelectRowsProps?: {
|
137
|
+
labels?: {
|
138
|
+
toggleAllRowsLabel?: string;
|
139
|
+
};
|
140
|
+
};
|
133
141
|
withSelectRows?: boolean;
|
134
142
|
}
|
135
143
|
export interface RowAction {
|
@@ -253,4 +261,8 @@ export interface ResizeHeaderProps {
|
|
253
261
|
}
|
254
262
|
export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
|
255
263
|
export type NodeFuncType = (props: any) => ReactNode;
|
264
|
+
export interface PropGetterMeta {
|
265
|
+
instance?: DataGridTableInstance;
|
266
|
+
row?: Partial<Row<any> & DatagridRow<any>>;
|
267
|
+
}
|
256
268
|
export {};
|
@@ -9,52 +9,56 @@ var useDisableSelectRows = function useDisableSelectRows(hooks) {
|
|
9
9
|
updateSelectAll(hooks);
|
10
10
|
updatePageSelectAll(hooks);
|
11
11
|
var getRowProps = function getRowProps(props, _ref) {
|
12
|
+
var _instance$shouldDisab;
|
12
13
|
var row = _ref.row,
|
13
14
|
instance = _ref.instance;
|
14
15
|
return [props, {
|
15
|
-
disabled: instance.shouldDisableSelectRow
|
16
|
+
disabled: instance === null || instance === void 0 || (_instance$shouldDisab = instance.shouldDisableSelectRow) === null || _instance$shouldDisab === void 0 ? void 0 : _instance$shouldDisab.call(instance, row)
|
16
17
|
}];
|
17
18
|
};
|
18
19
|
hooks.getRowProps.push(getRowProps);
|
19
20
|
};
|
20
21
|
var updateSelectAll = function updateSelectAll(hooks) {
|
21
22
|
var getToggleAllRowsSelectedProps = function getToggleAllRowsSelectedProps(props, _ref2) {
|
22
|
-
var _instance$disableSele;
|
23
|
+
var _instance$rows, _instance$disableSele, _instance$state2;
|
23
24
|
var instance = _ref2.instance;
|
24
|
-
var selectableRows = instance.rows.filter(function (row) {
|
25
|
+
var selectableRows = (instance === null || instance === void 0 || (_instance$rows = instance.rows) === null || _instance$rows === void 0 ? void 0 : _instance$rows.filter(function (row) {
|
25
26
|
return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
|
26
|
-
});
|
27
|
-
var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (_ref3) {
|
27
|
+
})) || [];
|
28
|
+
var isAllRowsSelected = (selectableRows === null || selectableRows === void 0 ? void 0 : selectableRows.length) > 0 && selectableRows.every(function (_ref3) {
|
29
|
+
var _instance$state;
|
28
30
|
var id = _ref3.id;
|
29
|
-
return instance.state.selectedRowIds[id];
|
31
|
+
return instance === null || instance === void 0 || (_instance$state = instance.state) === null || _instance$state === void 0 || (_instance$state = _instance$state.selectedRowIds) === null || _instance$state === void 0 ? void 0 : _instance$state[id];
|
30
32
|
});
|
31
33
|
return [props, {
|
32
34
|
onChange: function onChange(e) {
|
33
35
|
selectableRows.forEach(function (row) {
|
34
|
-
|
36
|
+
var _toggleRowSelected, _ref4;
|
37
|
+
return row === null || row === void 0 || (_toggleRowSelected = (_ref4 = row).toggleRowSelected) === null || _toggleRowSelected === void 0 ? void 0 : _toggleRowSelected.call(_ref4, e.target.checked);
|
35
38
|
});
|
36
39
|
},
|
37
40
|
style: {
|
38
41
|
cursor: 'pointer'
|
39
42
|
},
|
40
43
|
checked: isAllRowsSelected,
|
41
|
-
disabled: instance.disableSelectAll,
|
44
|
+
disabled: instance === null || instance === void 0 ? void 0 : instance.disableSelectAll,
|
42
45
|
title: (instance === null || instance === void 0 || (_instance$disableSele = instance.disableSelectRowsProps) === null || _instance$disableSele === void 0 || (_instance$disableSele = _instance$disableSele.labels) === null || _instance$disableSele === void 0 ? void 0 : _instance$disableSele.toggleAllRowsLabel) || 'Toggle All Rows Selected',
|
43
|
-
indeterminate: Boolean(!isAllRowsSelected && Object.keys(instance.state.selectedRowIds).length)
|
46
|
+
indeterminate: Boolean(!isAllRowsSelected && Object.keys((instance === null || instance === void 0 || (_instance$state2 = instance.state) === null || _instance$state2 === void 0 ? void 0 : _instance$state2.selectedRowIds) || {}).length)
|
44
47
|
}];
|
45
48
|
};
|
46
49
|
hooks.getToggleAllRowsSelectedProps.push(getToggleAllRowsSelectedProps);
|
47
50
|
};
|
48
51
|
var updatePageSelectAll = function updatePageSelectAll(hooks) {
|
49
|
-
var getToggleAllPageRowsSelectedProps = function getToggleAllPageRowsSelectedProps(props,
|
50
|
-
var _instance$disableSele2;
|
51
|
-
var instance =
|
52
|
-
var selectableRows = instance.page.filter(function (row) {
|
52
|
+
var getToggleAllPageRowsSelectedProps = function getToggleAllPageRowsSelectedProps(props, _ref5) {
|
53
|
+
var _instance$page, _instance$disableSele2, _instance$page2;
|
54
|
+
var instance = _ref5.instance;
|
55
|
+
var selectableRows = (instance === null || instance === void 0 || (_instance$page = instance.page) === null || _instance$page === void 0 ? void 0 : _instance$page.filter(function (row) {
|
53
56
|
return !(instance.shouldDisableSelectRow && instance.shouldDisableSelectRow(row));
|
54
|
-
});
|
55
|
-
var isAllRowsSelected = selectableRows.length > 0 && selectableRows.every(function (
|
56
|
-
var
|
57
|
-
|
57
|
+
})) || [];
|
58
|
+
var isAllRowsSelected = (selectableRows === null || selectableRows === void 0 ? void 0 : selectableRows.length) > 0 && selectableRows.every(function (_ref6) {
|
59
|
+
var _instance$state3;
|
60
|
+
var id = _ref6.id;
|
61
|
+
return instance === null || instance === void 0 || (_instance$state3 = instance.state) === null || _instance$state3 === void 0 || (_instance$state3 = _instance$state3.selectedRowIds) === null || _instance$state3 === void 0 ? void 0 : _instance$state3[id];
|
58
62
|
});
|
59
63
|
return [props, {
|
60
64
|
onChange: function onChange(e) {
|
@@ -66,12 +70,13 @@ var updatePageSelectAll = function updatePageSelectAll(hooks) {
|
|
66
70
|
cursor: 'pointer'
|
67
71
|
},
|
68
72
|
checked: isAllRowsSelected,
|
69
|
-
disabled: instance.disableSelectAll,
|
73
|
+
disabled: instance === null || instance === void 0 ? void 0 : instance.disableSelectAll,
|
70
74
|
title: (instance === null || instance === void 0 || (_instance$disableSele2 = instance.disableSelectRowsProps) === null || _instance$disableSele2 === void 0 || (_instance$disableSele2 = _instance$disableSele2.labels) === null || _instance$disableSele2 === void 0 ? void 0 : _instance$disableSele2.toggleAllRowsLabel) || 'Toggle All Rows Selected',
|
71
|
-
indeterminate: Boolean(!isAllRowsSelected && instance.page.some(function (
|
72
|
-
var
|
73
|
-
|
74
|
-
|
75
|
+
indeterminate: Boolean(!isAllRowsSelected && (instance === null || instance === void 0 || (_instance$page2 = instance.page) === null || _instance$page2 === void 0 ? void 0 : _instance$page2.some(function (_ref7) {
|
76
|
+
var _instance$state4;
|
77
|
+
var id = _ref7.id;
|
78
|
+
return instance === null || instance === void 0 || (_instance$state4 = instance.state) === null || _instance$state4 === void 0 || (_instance$state4 = _instance$state4.selectedRowIds) === null || _instance$state4 === void 0 ? void 0 : _instance$state4[id];
|
79
|
+
})))
|
75
80
|
}];
|
76
81
|
};
|
77
82
|
hooks.getToggleAllPageRowsSelectedProps.push(getToggleAllPageRowsSelectedProps);
|