@carbon/ibm-products 2.43.2-canary.4 → 2.43.2-canary.40
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 +52 -3
- 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 +12 -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 +52 -3
- 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 +52 -3
- 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/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
- package/es/components/ConditionBuilder/ConditionBuilder.js +67 -20
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +129 -0
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -4
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +24 -16
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +19 -4
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +109 -0
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +58 -33
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -5
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
- package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
- package/es/components/ConditionBuilder/utils/util.js +16 -1
- package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
- package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
- package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
- package/es/components/Datagrid/Datagrid/Datagrid.js +2 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +13 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
- package/es/components/Datagrid/types/index.d.ts +37 -4
- package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
- package/es/components/Datagrid/useActionsColumn.js +7 -6
- package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
- package/es/components/Datagrid/useColumnRightAlign.js +4 -3
- package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
- package/es/components/Datagrid/useCustomizeColumns.js +4 -3
- package/es/components/Datagrid/useInlineEdit.js +12 -2
- package/es/components/Datagrid/useNestedRows.js +32 -13
- package/es/components/Decorator/Decorator.js +2 -1
- package/es/components/DecoratorBase/DecoratorBase.js +3 -5
- package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
- package/es/components/DecoratorLink/DecoratorLink.js +2 -1
- package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
- package/es/components/EditTearsheet/EditTearsheet.d.ts +5 -1
- package/es/components/EditTearsheet/EditTearsheet.js +0 -1
- package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
- package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
- package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/es/components/PageHeader/PageHeader.js +1 -0
- package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
- package/es/components/RemoveModal/RemoveModal.js +7 -1
- package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
- package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
- package/es/components/Tearsheet/Tearsheet.js +9 -1
- package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
- package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
- package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
- package/es/components/Tearsheet/TearsheetShell.js +17 -3
- package/es/components/Toolbar/ToolbarButton.js +1 -1
- package/es/components/index.d.ts +1 -1
- package/es/index.js +1 -0
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
- package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
- package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
- package/lib/components/ConditionBuilder/utils/util.js +17 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
- package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
- package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
- package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -2
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
- package/lib/components/Datagrid/types/index.d.ts +37 -4
- package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
- package/lib/components/Datagrid/useActionsColumn.js +7 -6
- package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
- package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
- package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
- package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
- package/lib/components/Datagrid/useInlineEdit.js +12 -2
- package/lib/components/Datagrid/useNestedRows.js +32 -13
- package/lib/components/Decorator/Decorator.js +2 -1
- package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
- package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
- package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
- package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
- package/lib/components/EditTearsheet/EditTearsheet.d.ts +5 -1
- package/lib/components/EditTearsheet/EditTearsheet.js +0 -1
- package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
- package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
- package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
- package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
- package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
- package/lib/components/PageHeader/PageHeader.js +1 -0
- package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
- package/lib/components/RemoveModal/RemoveModal.js +7 -1
- package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
- package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
- package/lib/components/Tearsheet/Tearsheet.js +9 -1
- package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
- package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
- package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
- package/lib/components/Tearsheet/TearsheetShell.js +16 -2
- package/lib/components/Toolbar/ToolbarButton.js +1 -1
- package/lib/components/index.d.ts +1 -1
- package/lib/index.js +5 -0
- package/package.json +7 -6
- package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +8 -0
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
- package/scss/components/StatusIcon/_status-icon.scss +4 -4
- package/scss/components/StringFormatter/_string-formatter.scss +2 -2
- package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
- package/telemetry.yml +8 -3
- package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
- package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
- package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
- package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js
CHANGED
@@ -57,7 +57,7 @@ InlineEditButton.propTypes = {
|
|
57
57
|
nonEditCell: index["default"].bool,
|
58
58
|
placeholder: index["default"].string,
|
59
59
|
renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
|
60
|
-
type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
|
60
|
+
type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
|
61
61
|
value: index["default"].oneOfType([index["default"].string, index["default"].node])
|
62
62
|
};
|
63
63
|
|
@@ -28,7 +28,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
28
28
|
|
29
29
|
var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
|
30
30
|
var InlineEditCell = function InlineEditCell(_ref) {
|
31
|
-
var _config$validator
|
31
|
+
var _config$validator;
|
32
32
|
var cell = _ref.cell,
|
33
33
|
config = _ref.config,
|
34
34
|
_ref$disabledCell = _ref.disabledCell,
|
@@ -75,6 +75,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
75
75
|
var _ref2 = config || {},
|
76
76
|
inputProps = _ref2.inputProps;
|
77
77
|
var textInputRef = React.useRef();
|
78
|
+
var checkboxRef = React.useRef();
|
78
79
|
var numberInputRef = React.useRef();
|
79
80
|
var dropdownRef = React.useRef();
|
80
81
|
var datePickerRef = React.useRef();
|
@@ -217,10 +218,36 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
217
218
|
var handleKeyDown = function handleKeyDown(event) {
|
218
219
|
var key = event.key;
|
219
220
|
switch (key) {
|
221
|
+
case 'ArrowRight':
|
222
|
+
case 'ArrowLeft':
|
223
|
+
case 'ArrowUp':
|
224
|
+
case 'ArrowDown':
|
225
|
+
if (inEditMode && event.target.type === 'checkbox') {
|
226
|
+
var newCellId = getNewCellId(key);
|
227
|
+
saveCellData(cellValue);
|
228
|
+
setInitialValue(cellValue);
|
229
|
+
dispatch({
|
230
|
+
type: 'EXIT_EDIT_MODE',
|
231
|
+
payload: newCellId
|
232
|
+
});
|
233
|
+
setInEditMode(false);
|
234
|
+
sendFocusBackToGrid();
|
235
|
+
}
|
236
|
+
break;
|
220
237
|
// Save cell contents to data
|
221
238
|
case 'Tab':
|
222
239
|
case 'Enter':
|
223
240
|
{
|
241
|
+
if (type === 'checkbox') {
|
242
|
+
// Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
|
243
|
+
var _newCellId = getNewCellId(key);
|
244
|
+
dispatch({
|
245
|
+
type: 'EXIT_EDIT_MODE',
|
246
|
+
payload: _newCellId
|
247
|
+
});
|
248
|
+
setInEditMode(false);
|
249
|
+
sendFocusBackToGrid();
|
250
|
+
}
|
224
251
|
if (inEditMode) {
|
225
252
|
// Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
|
226
253
|
if (type === 'selection' || type === 'date') {
|
@@ -234,12 +261,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
234
261
|
if (isInvalid) {
|
235
262
|
return;
|
236
263
|
}
|
237
|
-
var
|
264
|
+
var _newCellId2 = getNewCellId(key);
|
238
265
|
saveCellData(cellValue);
|
239
266
|
setInitialValue(cellValue);
|
240
267
|
dispatch({
|
241
268
|
type: 'EXIT_EDIT_MODE',
|
242
|
-
payload:
|
269
|
+
payload: _newCellId2
|
243
270
|
});
|
244
271
|
setInEditMode(false);
|
245
272
|
sendFocusBackToGrid();
|
@@ -434,9 +461,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
434
461
|
ref: numberInputRef
|
435
462
|
}));
|
436
463
|
};
|
464
|
+
var renderCheckBoxCell = function renderCheckBoxCell() {
|
465
|
+
return /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({
|
466
|
+
labelText: cellLabel || 'Checkbox'
|
467
|
+
}, inputProps, {
|
468
|
+
className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
|
469
|
+
id: cellId,
|
470
|
+
hideLabel: true,
|
471
|
+
checked: cellValue,
|
472
|
+
onChange: function onChange(event, _ref10) {
|
473
|
+
var checked = _ref10.checked;
|
474
|
+
setCellValue(checked);
|
475
|
+
if (inputProps.onChange) {
|
476
|
+
inputProps.onChange(checked);
|
477
|
+
}
|
478
|
+
},
|
479
|
+
ref: checkboxRef
|
480
|
+
}));
|
481
|
+
};
|
437
482
|
var renderTextInput = function renderTextInput() {
|
438
|
-
var
|
439
|
-
validator =
|
483
|
+
var _ref11 = config || {},
|
484
|
+
validator = _ref11.validator;
|
440
485
|
var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
|
441
486
|
return /*#__PURE__*/React__default["default"].createElement(react.TextInput, _rollupPluginBabelHelpers["extends"]({
|
442
487
|
labelText: cellLabel,
|
@@ -456,6 +501,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
456
501
|
ref: textInputRef
|
457
502
|
}));
|
458
503
|
};
|
504
|
+
var getLabel = function getLabel() {
|
505
|
+
var _value$text, _checkStaticCell;
|
506
|
+
var checkStaticCell = function checkStaticCell(val) {
|
507
|
+
if (_rollupPluginBabelHelpers["typeof"](val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
|
508
|
+
return val === null || val === void 0 ? void 0 : val.value;
|
509
|
+
}
|
510
|
+
};
|
511
|
+
switch (type) {
|
512
|
+
case 'selection':
|
513
|
+
checkStaticCell(value);
|
514
|
+
return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
|
515
|
+
case 'date':
|
516
|
+
checkStaticCell(value);
|
517
|
+
return buildDate(value);
|
518
|
+
default:
|
519
|
+
return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
|
520
|
+
}
|
521
|
+
};
|
459
522
|
return (
|
460
523
|
/*#__PURE__*/
|
461
524
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
@@ -464,15 +527,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
464
527
|
"data-cell-id": cellId,
|
465
528
|
"data-column-index": columnIndex,
|
466
529
|
"data-row-index": cell.row.index,
|
467
|
-
"data-disabled": disabledCell,
|
530
|
+
"data-disabled": disabledCell || nonEditCell,
|
468
531
|
"data-inline-type": type,
|
469
532
|
onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
|
470
533
|
onKeyDown: !nonEditCell ? handleKeyDown : null,
|
471
534
|
className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
|
472
|
-
}, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
|
535
|
+
}, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
|
473
536
|
isActiveCell: cellId === activeCellId,
|
474
537
|
renderIcon: setRenderIcon(),
|
475
|
-
label:
|
538
|
+
label: getLabel(),
|
476
539
|
disabledCell: disabledCell,
|
477
540
|
labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
|
478
541
|
placeholder: placeholder,
|
@@ -480,7 +543,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
480
543
|
nonEditCell: nonEditCell,
|
481
544
|
columnConfig: cell.column,
|
482
545
|
type: type
|
483
|
-
}), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
|
546
|
+
}), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
|
484
547
|
);
|
485
548
|
};
|
486
549
|
InlineEditCell.propTypes = {
|
@@ -498,7 +561,7 @@ InlineEditCell.propTypes = {
|
|
498
561
|
nonEditCell: index["default"].bool,
|
499
562
|
placeholder: index["default"].string,
|
500
563
|
tabIndex: index["default"].number,
|
501
|
-
type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
|
564
|
+
type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
|
502
565
|
value: index["default"].oneOfType([index["default"].string, index["default"].node, index["default"].object])
|
503
566
|
};
|
504
567
|
|
@@ -78,7 +78,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
78
78
|
};
|
79
79
|
|
80
80
|
// Stop grid key listener when in edit mode
|
81
|
-
var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
|
81
|
+
var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
|
82
82
|
if (isEditing || !gridActive) {
|
83
83
|
return;
|
84
84
|
}
|
@@ -91,6 +91,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
91
91
|
event.preventDefault();
|
92
92
|
}
|
93
93
|
var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
|
94
|
+
var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
|
94
95
|
var sharedUpdateParams = {
|
95
96
|
oldId: activeCellId,
|
96
97
|
instance: instance
|
@@ -198,7 +199,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
198
199
|
case 'Enter':
|
199
200
|
{
|
200
201
|
// Disabled cells are not allowed to go into edit mode
|
201
|
-
if (isDisabledCell) {
|
202
|
+
if (isDisabledCell || !isEditableCell) {
|
202
203
|
return;
|
203
204
|
}
|
204
205
|
// Only go into edit mode if there is no editId, meaning that we're not already in edit mode
|
@@ -211,6 +212,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
|
|
211
212
|
dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
|
212
213
|
}, 1);
|
213
214
|
}
|
215
|
+
if (focusedType === 'checkbox') {
|
216
|
+
setTimeout(function () {
|
217
|
+
var checkboxTrigger = focusedCell.querySelector('input');
|
218
|
+
checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
|
219
|
+
checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
|
220
|
+
}, 1);
|
221
|
+
}
|
214
222
|
if (focusedType === 'date') {
|
215
223
|
setTimeout(function () {
|
216
224
|
var dateInputTrigger = focusedCell.querySelector('input');
|
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
|
|
5
5
|
import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
|
6
6
|
import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
|
7
7
|
import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
|
8
|
-
import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
|
9
|
-
import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
|
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, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
|
10
10
|
import { CarbonIconType } from '@carbon/react/icons';
|
11
|
-
import { type ButtonProps } from '@carbon/react';
|
11
|
+
import { IconButton, type ButtonProps } from '@carbon/react';
|
12
12
|
import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
|
13
13
|
export type Size = 'xs' | 'sm' | 'md' | 'lg';
|
14
14
|
export interface ResizerProps {
|
@@ -59,6 +59,18 @@ interface Labels {
|
|
59
59
|
allPageRows?: object;
|
60
60
|
allRows?: object;
|
61
61
|
}
|
62
|
+
interface ColumnLabels {
|
63
|
+
findColumnPlaceholderLabel?: string;
|
64
|
+
resetToDefaultLabel?: string;
|
65
|
+
customizeTearsheetHeadingLabel?: string;
|
66
|
+
primaryButtonTextLabel?: string;
|
67
|
+
secondaryButtonTextLabel?: string;
|
68
|
+
instructionsLabel?: string;
|
69
|
+
iconTooltipLabel?: string;
|
70
|
+
assistiveTextInstructionsLabel?: string;
|
71
|
+
assistiveTextDisabledInstructionsLabel?: string;
|
72
|
+
selectAllLabel?: string;
|
73
|
+
}
|
62
74
|
interface Section {
|
63
75
|
categoryTitle?: string;
|
64
76
|
filters?: DataGridFilter[];
|
@@ -85,9 +97,10 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
|
|
85
97
|
}
|
86
98
|
export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
|
87
99
|
}
|
88
|
-
export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
|
100
|
+
export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T> {
|
89
101
|
sticky?: 'left' | 'right';
|
90
102
|
className?: string;
|
103
|
+
rightAlignedColumn?: boolean;
|
91
104
|
disableSortBy?: boolean;
|
92
105
|
centerAlignedColumn?: boolean;
|
93
106
|
}
|
@@ -100,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
|
|
100
113
|
RowExpansionRenderer?: (state?: DataGridState) => void;
|
101
114
|
cells: Array<DataGridCell>;
|
102
115
|
isSkeleton?: boolean;
|
116
|
+
hasExpanded?: boolean;
|
103
117
|
}
|
104
118
|
export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
|
105
119
|
className(className: any, arg1: {
|
@@ -120,6 +134,16 @@ interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectSta
|
|
120
134
|
}
|
121
135
|
export interface DataGridTableInstance<T extends object = any> extends TableInstance<T> {
|
122
136
|
}
|
137
|
+
export interface RowAction {
|
138
|
+
id?: string;
|
139
|
+
itemText?: string;
|
140
|
+
icon?: ComponentType | FunctionComponent;
|
141
|
+
align?: React.ComponentProps<typeof IconButton>['align'];
|
142
|
+
shouldHideMenuItem?: (...args: any[]) => void;
|
143
|
+
shouldDisableMenuItem?: (...args: any[]) => void;
|
144
|
+
disabled?: boolean;
|
145
|
+
onClick?: (...args: any[]) => void;
|
146
|
+
}
|
123
147
|
export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
|
124
148
|
withVirtualScroll?: boolean;
|
125
149
|
DatagridPagination?: JSXElementConstructor<any>;
|
@@ -142,6 +166,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
|
|
142
166
|
batchActions?: boolean;
|
143
167
|
row: DatagridRow;
|
144
168
|
rows: Array<DatagridRow<any>>;
|
169
|
+
rowActions?: RowAction[];
|
145
170
|
columns: Array<DatagridColumn>;
|
146
171
|
key?: any;
|
147
172
|
rowSize?: Size;
|
@@ -197,6 +222,13 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
|
|
197
222
|
expandedRowIds?: object;
|
198
223
|
onRowClick?: (row: any, event: any) => void;
|
199
224
|
onSort?: boolean;
|
225
|
+
customizeColumnsProps?: {
|
226
|
+
onSaveColumnPrefs?: (args: any) => void;
|
227
|
+
labels?: ColumnLabels;
|
228
|
+
isTearsheetOpen?: boolean;
|
229
|
+
setIsTearsheetOpen?: (args: boolean) => void;
|
230
|
+
};
|
231
|
+
CustomizeColumnsButton?: (args: any) => ReactNode;
|
200
232
|
column?: DatagridColumn;
|
201
233
|
expandedContentHeight?: number;
|
202
234
|
onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
|
@@ -217,4 +249,5 @@ export interface ResizeHeaderProps {
|
|
217
249
|
isFetching?: boolean;
|
218
250
|
}
|
219
251
|
export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
|
252
|
+
export type NodeFuncType = (props: any) => ReactNode;
|
220
253
|
export {};
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { Hooks } from 'react-table';
|
8
|
+
declare const useActionsColumn: (hooks: Hooks) => void;
|
1
9
|
export default useActionsColumn;
|
2
|
-
declare function useActionsColumn(hooks: any): void;
|
@@ -26,9 +26,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
|
|
26
26
|
var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
|
27
27
|
var useActionsColumn = function useActionsColumn(hooks) {
|
28
28
|
var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
|
29
|
-
var
|
30
|
-
|
31
|
-
|
29
|
+
var _ref = instance,
|
30
|
+
rowActions = _ref.rowActions,
|
31
|
+
isFetching = _ref.isFetching,
|
32
|
+
selectedRowIds = _ref.state.selectedRowIds;
|
32
33
|
var getDisabledState = function getDisabledState(rowIndex) {
|
33
34
|
var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
|
34
35
|
return Number(n);
|
@@ -88,10 +89,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
88
89
|
return;
|
89
90
|
}
|
90
91
|
e.stopPropagation();
|
91
|
-
_onClick(id, row, e);
|
92
|
+
_onClick === null || _onClick === void 0 || _onClick(id, row, e);
|
92
93
|
},
|
93
94
|
disabled: isDisabledByRow
|
94
|
-
}), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
|
95
|
+
}), Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null)));
|
95
96
|
})), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
|
96
97
|
align: "left",
|
97
98
|
size: "sm",
|
@@ -117,7 +118,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
117
118
|
disabled: isDisabledByRow,
|
118
119
|
onClick: function onClick(e) {
|
119
120
|
e.stopPropagation();
|
120
|
-
_onClick2(id, row, e);
|
121
|
+
_onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
|
121
122
|
},
|
122
123
|
key: id
|
123
124
|
}));
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2020, 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { Hooks } from 'react-table';
|
8
|
+
declare const useColumnRightAlign: (hooks: Hooks) => void;
|
1
9
|
export default useColumnRightAlign;
|
2
|
-
declare function useColumnRightAlign(hooks: any): void;
|
@@ -22,16 +22,17 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
22
22
|
var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
|
23
23
|
var useColumnRightAlign = function useColumnRightAlign(hooks) {
|
24
24
|
var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
|
25
|
+
var _tableProps$column, _column$Cell;
|
25
26
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
26
27
|
className: cx__default["default"]("".concat(blockClass, "__right-align-cell-renderer"), {
|
27
|
-
sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
|
28
|
+
sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
|
28
29
|
})
|
29
|
-
}, column.Cell(tableProps));
|
30
|
+
}, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
|
30
31
|
};
|
31
32
|
var RightAlignHeader = function RightAlignHeader(headerProp, column) {
|
32
33
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
33
34
|
className: "".concat(blockClass, "__right-align-header")
|
34
|
-
}, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
|
35
|
+
}, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
|
35
36
|
};
|
36
37
|
var rightAlignedColumns = function rightAlignedColumns(columns) {
|
37
38
|
var columnsWithDefaultCells = columns.map(function (column) {
|
@@ -1,2 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2021, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import { Hooks } from 'react-table';
|
8
|
+
declare const useCustomizeColumns: (hooks: Hooks) => void;
|
1
9
|
export default useCustomizeColumns;
|
2
|
-
declare function useCustomizeColumns(hooks: any): void;
|
@@ -40,9 +40,10 @@ var useCustomizeColumns = function useCustomizeColumns(hooks) {
|
|
40
40
|
isTearsheetOpen = _React$useState2[0],
|
41
41
|
setIsTearsheetOpen = _React$useState2[1];
|
42
42
|
hooks.useInstance.push(function (instance) {
|
43
|
-
var
|
44
|
-
|
45
|
-
|
43
|
+
var _ref = instance,
|
44
|
+
customizeColumnsProps = _ref.customizeColumnsProps;
|
45
|
+
var _ref2 = customizeColumnsProps || {},
|
46
|
+
labels = _ref2.labels;
|
46
47
|
Object.assign(instance, {
|
47
48
|
customizeColumnsProps: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, customizeColumnsProps), {}, {
|
48
49
|
isTearsheetOpen: isTearsheetOpen,
|
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
11
11
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
12
13
|
var React = require('react');
|
13
14
|
var settings = require('../../settings.js');
|
14
15
|
var cx = require('classnames');
|
@@ -22,12 +23,13 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
22
23
|
var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
|
23
24
|
var useInlineEdit = function useInlineEdit(hooks) {
|
24
25
|
var addInlineEdit = function addInlineEdit(props, _ref) {
|
25
|
-
var _cell$column, _cell$column2;
|
26
|
+
var _cell$column, _cell$column2, _cell$value, _cell$value2, _cell$value3;
|
26
27
|
var cell = _ref.cell,
|
27
28
|
instance = _ref.instance;
|
28
29
|
var columnInlineEditConfig = cell.column.inlineEdit;
|
29
30
|
var inlineEditType = (_cell$column = cell.column) === null || _cell$column === void 0 || (_cell$column = _cell$column.inlineEdit) === null || _cell$column === void 0 ? void 0 : _cell$column.type;
|
30
31
|
var isDisabled = (_cell$column2 = cell.column) === null || _cell$column2 === void 0 ? void 0 : _cell$column2.isDisabled;
|
32
|
+
var staticCell = _rollupPluginBabelHelpers["typeof"](cell.value) === 'object' && cell.column.id === ((_cell$value = cell.value) === null || _cell$value === void 0 ? void 0 : _cell$value.columnId) && ((_cell$value2 = cell.value) === null || _cell$value2 === void 0 ? void 0 : _cell$value2.isStaticCell);
|
31
33
|
var renderInlineEditComponent = function renderInlineEditComponent(type) {
|
32
34
|
return /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
|
33
35
|
config: columnInlineEditConfig,
|
@@ -47,7 +49,15 @@ var useInlineEdit = function useInlineEdit(hooks) {
|
|
47
49
|
return [props, {
|
48
50
|
className: cx__default["default"]("".concat(blockClass, "__cell"), "".concat(blockClass, "__cell-inline-edit")),
|
49
51
|
role: 'gridcell',
|
50
|
-
children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === '
|
52
|
+
children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !staticCell && inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'checkbox' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), staticCell && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
|
53
|
+
config: columnInlineEditConfig,
|
54
|
+
tabIndex: -1,
|
55
|
+
value: (_cell$value3 = cell.value) === null || _cell$value3 === void 0 ? void 0 : _cell$value3.value,
|
56
|
+
cell: cell,
|
57
|
+
instance: instance,
|
58
|
+
nonEditCell: true,
|
59
|
+
type: "text"
|
60
|
+
}), !inlineEditType && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
|
51
61
|
config: columnInlineEditConfig,
|
52
62
|
tabIndex: -1,
|
53
63
|
value: cell.value,
|
@@ -23,33 +23,52 @@ var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
|
|
23
23
|
var useNestedRows = function useNestedRows(hooks) {
|
24
24
|
useNestedRowExpander["default"](hooks);
|
25
25
|
var useInstance = function useInstance(instance) {
|
26
|
+
React.useEffect(function () {
|
27
|
+
var _ref = instance,
|
28
|
+
rows = _ref.rows;
|
29
|
+
var defaultExpandedRows = rows.filter(function (row) {
|
30
|
+
var _row$original;
|
31
|
+
return row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.defaultExpanded;
|
32
|
+
});
|
33
|
+
if (defaultExpandedRows !== null && defaultExpandedRows !== void 0 && defaultExpandedRows.length) {
|
34
|
+
defaultExpandedRows.map(function (defaultExpandedRow) {
|
35
|
+
if (!(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.isExpanded) && !(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.hasExpanded)) {
|
36
|
+
var _defaultExpandedRow$t;
|
37
|
+
defaultExpandedRow === null || defaultExpandedRow === void 0 || (_defaultExpandedRow$t = defaultExpandedRow.toggleRowExpanded) === null || _defaultExpandedRow$t === void 0 || _defaultExpandedRow$t.call(defaultExpandedRow);
|
38
|
+
defaultExpandedRow.hasExpanded = true;
|
39
|
+
return;
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}
|
43
|
+
}, [instance, instance.rows]);
|
26
44
|
// This useEffect will expand rows if they exist in the initialState obj
|
27
45
|
React.useEffect(function () {
|
28
46
|
var rows = instance.rows,
|
29
47
|
initialState = instance.initialState;
|
30
|
-
var
|
31
|
-
expandedRowIds =
|
48
|
+
var _ref2 = initialState,
|
49
|
+
expandedRowIds = _ref2.expandedRowIds;
|
32
50
|
if (expandedRowIds) {
|
33
51
|
Object.keys(expandedRowIds).forEach(function (key) {
|
52
|
+
var _row$0$original;
|
34
53
|
var row = rows.filter(function (r) {
|
35
|
-
|
54
|
+
var _r$original;
|
55
|
+
return r.id.toString() === key.toString() || ((_r$original = r.original) === null || _r$original === void 0 || (_r$original = _r$original.id) === null || _r$original === void 0 ? void 0 : _r$original.toString()) === key.toString();
|
36
56
|
});
|
37
|
-
if (row
|
38
|
-
|
39
|
-
(_row$ = row[0]) === null || _row$ === void 0 || _row$.toggleRowExpanded();
|
57
|
+
if (row.length && key.toString() === row[0].id.toString() || row.length && key.toString() === ((_row$0$original = row[0].original) === null || _row$0$original === void 0 || (_row$0$original = _row$0$original.id) === null || _row$0$original === void 0 ? void 0 : _row$0$original.toString())) {
|
58
|
+
row[0].toggleRowExpanded();
|
40
59
|
}
|
41
60
|
});
|
42
61
|
}
|
43
62
|
}, [instance]);
|
44
63
|
var marginLeft = 24;
|
45
|
-
var getRowProps = function getRowProps(props,
|
46
|
-
var row =
|
64
|
+
var getRowProps = function getRowProps(props, _ref3) {
|
65
|
+
var row = _ref3.row;
|
47
66
|
return [props, {
|
48
67
|
className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded))
|
49
68
|
}];
|
50
69
|
};
|
51
|
-
var getRowStyles = function getRowStyles(props,
|
52
|
-
var row =
|
70
|
+
var getRowStyles = function getRowStyles(props, _ref4) {
|
71
|
+
var row = _ref4.row;
|
53
72
|
return [props, {
|
54
73
|
style: {
|
55
74
|
paddingLeft: "".concat(row.depth > 1 ? marginLeft * 2 + (row.depth - 1) * (marginLeft + marginLeft / 3) : row.depth === 1 ? marginLeft * 2 : 0, "px")
|
@@ -59,9 +78,9 @@ var useNestedRows = function useNestedRows(hooks) {
|
|
59
78
|
var getIndentation = function getIndentation(depth) {
|
60
79
|
return 32 * depth + 16;
|
61
80
|
}; // row indentation padding
|
62
|
-
var getCellProps = function getCellProps(props,
|
63
|
-
var cell =
|
64
|
-
instance =
|
81
|
+
var getCellProps = function getCellProps(props, _ref5) {
|
82
|
+
var cell = _ref5.cell,
|
83
|
+
instance = _ref5.instance;
|
65
84
|
// we add a dynamic -ve margin right only if the cell is resized below minimum width i.e 50px, else we set the width based on indentation at different levels
|
66
85
|
var isFirstCell = instance.columns.findIndex(function (c) {
|
67
86
|
return c.id === cell.column.id;
|
@@ -95,7 +95,8 @@ exports.Decorator.propTypes = {
|
|
95
95
|
*/
|
96
96
|
small: index["default"].bool,
|
97
97
|
/**
|
98
|
-
*
|
98
|
+
* Override the default theme of the component.
|
99
|
+
* Useful if you want "invert" the component's theme.
|
99
100
|
*/
|
100
101
|
theme: index["default"].oneOf(['light', 'dark']),
|
101
102
|
/**
|
@@ -32,8 +32,7 @@ var defaults = {
|
|
32
32
|
onContextMenu: function onContextMenu() {},
|
33
33
|
onContextMenuLabel: function onContextMenuLabel() {},
|
34
34
|
onContextMenuValue: function onContextMenuValue() {},
|
35
|
-
scoreThresholds: [0, 4, 7, 10]
|
36
|
-
theme: 'light'
|
35
|
+
scoreThresholds: [0, 4, 7, 10]
|
37
36
|
};
|
38
37
|
|
39
38
|
/**
|
@@ -65,8 +64,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
|
|
65
64
|
_ref$scoreThresholds = _ref.scoreThresholds,
|
66
65
|
scoreThresholds = _ref$scoreThresholds === void 0 ? defaults.scoreThresholds : _ref$scoreThresholds,
|
67
66
|
small = _ref.small,
|
68
|
-
|
69
|
-
theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
|
67
|
+
theme = _ref.theme,
|
70
68
|
truncateValue = _ref.truncateValue,
|
71
69
|
value = _ref.value,
|
72
70
|
valueTitle = _ref.valueTitle,
|
@@ -76,7 +74,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
|
|
76
74
|
var _value = utils.truncate(value, truncateValue);
|
77
75
|
|
78
76
|
// These class names apply to all types of DecoratorBase.
|
79
|
-
var classNames = cx__default["default"](blockClass, className,
|
77
|
+
var classNames = cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--").concat(theme), theme), "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
|
80
78
|
|
81
79
|
// These properties apply to all <DecoratorIcons>.
|
82
80
|
var decoratorIconsProps = {
|
@@ -119,7 +119,8 @@ exports.DecoratorDualButton.propTypes = {
|
|
119
119
|
*/
|
120
120
|
small: index["default"].bool,
|
121
121
|
/**
|
122
|
-
*
|
122
|
+
* Override the default theme of the component.
|
123
|
+
* Useful if you want "invert" the component's theme.
|
123
124
|
*/
|
124
125
|
theme: index["default"].oneOf(['light', 'dark']),
|
125
126
|
/**
|
@@ -109,7 +109,8 @@ exports.DecoratorLink.propTypes = {
|
|
109
109
|
*/
|
110
110
|
small: index["default"].bool,
|
111
111
|
/**
|
112
|
-
*
|
112
|
+
* Override the default theme of the component.
|
113
|
+
* Useful if you want "invert" the component's theme.
|
113
114
|
*/
|
114
115
|
theme: index["default"].oneOf(['light', 'dark']),
|
115
116
|
/**
|
@@ -109,7 +109,8 @@ exports.DecoratorSingleButton.propTypes = {
|
|
109
109
|
*/
|
110
110
|
small: index["default"].bool,
|
111
111
|
/**
|
112
|
-
*
|
112
|
+
* Override the default theme of the component.
|
113
|
+
* Useful if you want "invert" the component's theme.
|
113
114
|
*/
|
114
115
|
theme: index["default"].oneOf(['light', 'dark']),
|
115
116
|
/**
|
@@ -5,7 +5,11 @@
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
6
6
|
*/
|
7
7
|
import React, { ReactNode, PropsWithChildren } from 'react';
|
8
|
-
export
|
8
|
+
export type FormContextType = {
|
9
|
+
currentForm: number;
|
10
|
+
setFormTitle: () => void;
|
11
|
+
};
|
12
|
+
export declare const FormContext: React.Context<FormContextType | null>;
|
9
13
|
export declare const FormNumberContext: React.Context<number>;
|
10
14
|
interface EditTearsheetProps extends PropsWithChildren {
|
11
15
|
/**
|
@@ -27,7 +27,6 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
27
27
|
var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onRequestSubmit", "onFormChange", "sideNavAriaLabel"];
|
28
28
|
var componentName = 'EditTearsheet';
|
29
29
|
var blockClass = "".concat(settings.pkg.prefix, "--tearsheet-edit");
|
30
|
-
|
31
30
|
// This is a general context for the forms container
|
32
31
|
// containing information about the state of the container
|
33
32
|
// and providing some callback methods for forms to use
|