@carbon/ibm-products 1.38.0 → 1.40.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +124 -3
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +124 -3
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +124 -3
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -1
- package/css/index.min.css.map +1 -1
- package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
- package/es/components/ButtonMenu/ButtonMenu.js +1 -1
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
- package/es/components/Card/Card.js +1 -1
- package/es/components/CreateFullPage/CreateFullPage.js +4 -1
- package/es/components/Datagrid/Datagrid/Datagrid.js +7 -3
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -2
- package/es/components/Datagrid/Datagrid/DatagridRow.js +35 -2
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +19 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +381 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
- package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +19 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +18 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +10 -8
- package/es/components/Datagrid/index.js +2 -1
- package/es/components/Datagrid/useFiltering.js +83 -0
- package/es/components/Datagrid/useNestedRows.js +11 -2
- package/es/components/Datagrid/utils/DatagridActions.js +134 -33
- package/es/components/Datagrid/utils/getArgTypes.js +4 -0
- package/es/components/Datagrid/utils/makeData.js +23 -16
- package/es/components/InlineEditV1/InlineEditV1.js +2 -1
- package/es/components/PageHeader/PageHeader.js +1 -1
- package/es/components/RemoveModal/RemoveModal.js +17 -3
- package/es/global/js/package-settings.js +2 -1
- package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
- package/lib/components/ButtonMenu/ButtonMenu.js +1 -1
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
- package/lib/components/Card/Card.js +1 -1
- package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
- package/lib/components/Datagrid/Datagrid/Datagrid.js +7 -3
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -2
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +35 -2
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +18 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +382 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
- package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +33 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +27 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +13 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +45 -0
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +12 -10
- package/lib/components/Datagrid/index.js +8 -1
- package/lib/components/Datagrid/useFiltering.js +83 -0
- package/lib/components/Datagrid/useNestedRows.js +11 -2
- package/lib/components/Datagrid/utils/DatagridActions.js +135 -31
- package/lib/components/Datagrid/utils/getArgTypes.js +4 -0
- package/lib/components/Datagrid/utils/makeData.js +24 -17
- package/lib/components/InlineEditV1/InlineEditV1.js +2 -1
- package/lib/components/PageHeader/PageHeader.js +1 -1
- package/lib/components/RemoveModal/RemoveModal.js +17 -3
- package/lib/global/js/package-settings.js +2 -1
- package/package.json +2 -2
- package/scss/components/ActionSet/_action-set.scss +3 -1
- package/scss/components/AddSelect/_add-select.scss +3 -1
- package/scss/components/Datagrid/_datagrid.scss +0 -1
- package/scss/components/Datagrid/_storybook-styles.scss +4 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +48 -4
- package/scss/components/Datagrid/styles/_index.scss +1 -0
- package/scss/components/Datagrid/styles/_useInlineEdit.scss +9 -3
- package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +80 -0
- package/scss/components/InlineEditV1/_inline-edit-v1.scss +3 -1
- package/scss/components/PageHeader/_page-header.scss +6 -2
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
exports.FilterProvider = exports.FilterContext = void 0;
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
12
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
13
12
|
var _constants = require("./constants");
|
@@ -22,6 +21,24 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
22
21
|
|
23
22
|
var FilterContext = /*#__PURE__*/(0, _react.createContext)();
|
24
23
|
exports.FilterContext = FilterContext;
|
24
|
+
var EventEmitter = {
|
25
|
+
events: {},
|
26
|
+
dispatch: function dispatch(event, data) {
|
27
|
+
if (!this.events[event]) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
this.events[event].forEach(function (callback) {
|
31
|
+
return callback(data);
|
32
|
+
});
|
33
|
+
},
|
34
|
+
subscribe: function subscribe(event, callback) {
|
35
|
+
if (!this.events[event]) {
|
36
|
+
this.events[event] = [];
|
37
|
+
} else {
|
38
|
+
this.events[event].push(callback);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
};
|
25
42
|
var prepareFiltersForTags = function prepareFiltersForTags(filters) {
|
26
43
|
var tags = [];
|
27
44
|
filters.forEach(function (_ref) {
|
@@ -29,15 +46,26 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters) {
|
|
29
46
|
type = _ref.type,
|
30
47
|
value = _ref.value;
|
31
48
|
if (type === _constants.DROPDOWN || type === _constants.RADIO || type === _constants.NUMBER) {
|
32
|
-
tags.push(
|
49
|
+
tags.push({
|
50
|
+
key: id,
|
51
|
+
value: value
|
52
|
+
});
|
33
53
|
} else if (type === _constants.DATE) {
|
34
54
|
var _value = (0, _slicedToArray2.default)(value, 2),
|
35
55
|
startDate = _value[0],
|
36
56
|
endDate = _value[1];
|
37
|
-
tags.push(
|
57
|
+
tags.push({
|
58
|
+
key: id,
|
59
|
+
value: "".concat(startDate.toLocaleDateString(), " - ").concat(endDate.toLocaleDateString())
|
60
|
+
});
|
38
61
|
} else if (type === _constants.CHECKBOX) {
|
39
62
|
value.forEach(function (checkbox) {
|
40
|
-
|
63
|
+
if (checkbox.selected) {
|
64
|
+
tags.push({
|
65
|
+
key: id,
|
66
|
+
value: checkbox.value
|
67
|
+
});
|
68
|
+
}
|
41
69
|
});
|
42
70
|
}
|
43
71
|
});
|
@@ -46,13 +74,10 @@ var prepareFiltersForTags = function prepareFiltersForTags(filters) {
|
|
46
74
|
var FilterProvider = function FilterProvider(_ref2) {
|
47
75
|
var children = _ref2.children,
|
48
76
|
filters = _ref2.filters;
|
49
|
-
console.log(filters);
|
50
77
|
var filterTags = prepareFiltersForTags(filters);
|
51
|
-
console.log({
|
52
|
-
filterTags: filterTags
|
53
|
-
});
|
54
78
|
var value = {
|
55
|
-
filterTags: filterTags
|
79
|
+
filterTags: filterTags,
|
80
|
+
EventEmitter: EventEmitter
|
56
81
|
};
|
57
82
|
return /*#__PURE__*/_react.default.createElement(FilterContext.Provider, {
|
58
83
|
value: value
|
@@ -62,40 +87,4 @@ exports.FilterProvider = FilterProvider;
|
|
62
87
|
FilterProvider.propTypes = {
|
63
88
|
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
|
64
89
|
filters: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
65
|
-
};
|
66
|
-
[{
|
67
|
-
id: 'joined',
|
68
|
-
value: ['2022-10-02T04:00:00.000Z', '2022-10-26T04:00:00.000Z'],
|
69
|
-
type: 'date'
|
70
|
-
}, {
|
71
|
-
id: 'visits',
|
72
|
-
value: '1',
|
73
|
-
type: 'number'
|
74
|
-
}, {
|
75
|
-
id: 'passwordStrength',
|
76
|
-
value: [{
|
77
|
-
id: 'normal',
|
78
|
-
labelText: 'Normal',
|
79
|
-
value: 'normal',
|
80
|
-
selected: true
|
81
|
-
}, {
|
82
|
-
id: 'minor-warning',
|
83
|
-
labelText: 'Minor warning',
|
84
|
-
value: 'minor-warning',
|
85
|
-
selected: true
|
86
|
-
}, {
|
87
|
-
id: 'critical',
|
88
|
-
labelText: 'Critical',
|
89
|
-
value: 'critical',
|
90
|
-
selected: false
|
91
|
-
}],
|
92
|
-
type: 'checkbox'
|
93
|
-
}, {
|
94
|
-
id: 'role',
|
95
|
-
value: 'developer',
|
96
|
-
type: 'radio'
|
97
|
-
}, {
|
98
|
-
id: 'status',
|
99
|
-
value: 'complicated',
|
100
|
-
type: 'dropdown'
|
101
|
-
}];
|
90
|
+
};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.RADIO = exports.NUMBER = exports.INSTANT = exports.DROPDOWN = exports.DATE = exports.CLEAR_FILTERS = exports.CHECKBOX = exports.BATCH = void 0;
|
7
|
+
/**
|
8
|
+
* Copyright IBM Corp. 2022, 2022
|
9
|
+
*
|
10
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
12
|
+
*/
|
13
|
+
/** Constants for update methods can either be batch or instant */
|
14
|
+
var BATCH = 'batch';
|
15
|
+
exports.BATCH = BATCH;
|
16
|
+
var INSTANT = 'instant';
|
17
|
+
|
18
|
+
/** Constants for filter type */
|
19
|
+
exports.INSTANT = INSTANT;
|
20
|
+
var DATE = 'date';
|
21
|
+
exports.DATE = DATE;
|
22
|
+
var NUMBER = 'number';
|
23
|
+
exports.NUMBER = NUMBER;
|
24
|
+
var CHECKBOX = 'checkbox';
|
25
|
+
exports.CHECKBOX = CHECKBOX;
|
26
|
+
var RADIO = 'radio';
|
27
|
+
exports.RADIO = RADIO;
|
28
|
+
var DROPDOWN = 'dropdown';
|
29
|
+
|
30
|
+
/** Constants for event emitters */
|
31
|
+
exports.DROPDOWN = DROPDOWN;
|
32
|
+
var CLEAR_FILTERS = 'clearFilters';
|
33
|
+
exports.CLEAR_FILTERS = CLEAR_FILTERS;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
|
+
var _react = require("react");
|
10
|
+
var _utils = require("../utils");
|
11
|
+
/*
|
12
|
+
* Licensed Materials - Property of IBM
|
13
|
+
* 5724-Q36
|
14
|
+
* (c) Copyright IBM Corp. 2022
|
15
|
+
* US Government Users Restricted Rights - Use, duplication or disclosure
|
16
|
+
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
17
|
+
*/
|
18
|
+
|
19
|
+
var useInitialStateFromFilters = function useInitialStateFromFilters(filters) {
|
20
|
+
var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters)),
|
21
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
22
|
+
state = _useState2[0],
|
23
|
+
setState = _useState2[1];
|
24
|
+
return [state, setState];
|
25
|
+
};
|
26
|
+
var _default = useInitialStateFromFilters;
|
27
|
+
exports.default = _default;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
Object.defineProperty(exports, "FilterFlyout", {
|
8
|
+
enumerable: true,
|
9
|
+
get: function get() {
|
10
|
+
return _FilterFlyout.default;
|
11
|
+
}
|
12
|
+
});
|
13
|
+
var _FilterFlyout = _interopRequireDefault(require("./FilterFlyout"));
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.getInitialStateFromFilters = void 0;
|
7
|
+
/**
|
8
|
+
* Copyright IBM Corp. 2022, 2022
|
9
|
+
*
|
10
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
11
|
+
* LICENSE file in the root directory of this source tree.
|
12
|
+
*/
|
13
|
+
|
14
|
+
// This functions takes the filters passed in and makes an object to track it's state
|
15
|
+
var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
|
16
|
+
var initialFilterState = {};
|
17
|
+
filters.forEach(function (_ref) {
|
18
|
+
var type = _ref.type,
|
19
|
+
column = _ref.column,
|
20
|
+
props = _ref.props;
|
21
|
+
if (type === 'checkbox') {
|
22
|
+
initialFilterState[column] = props.Checkbox.map(function (_ref2) {
|
23
|
+
var id = _ref2.id,
|
24
|
+
labelText = _ref2.labelText,
|
25
|
+
value = _ref2.value;
|
26
|
+
return {
|
27
|
+
id: id,
|
28
|
+
labelText: labelText,
|
29
|
+
value: value,
|
30
|
+
selected: false
|
31
|
+
};
|
32
|
+
});
|
33
|
+
} else if (type === 'date') {
|
34
|
+
initialFilterState[column] = [undefined, undefined];
|
35
|
+
} else if (type === 'number') {
|
36
|
+
initialFilterState[column] = '';
|
37
|
+
} else if (type === 'radio') {
|
38
|
+
initialFilterState[column] = '';
|
39
|
+
} else if (type === 'dropdown') {
|
40
|
+
initialFilterState[column] = '';
|
41
|
+
}
|
42
|
+
});
|
43
|
+
return initialFilterState;
|
44
|
+
};
|
45
|
+
exports.getInitialStateFromFilters = getInitialStateFromFilters;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
var
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
8
|
exports.InlineEditCell = void 0;
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
10
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12
13
|
var _react = _interopRequireWildcard(require("react"));
|
@@ -20,12 +21,12 @@ var _InlineEditContext = require("../InlineEditContext");
|
|
20
21
|
var _hooks = require("../../../../../../global/js/hooks");
|
21
22
|
var _propsHelper = require("../../../../../../global/js/utils/props-helper");
|
22
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
23
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
24
25
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
25
26
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
26
27
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
27
28
|
var InlineEditCell = function InlineEditCell(_ref) {
|
28
|
-
var _config$validator, _cx3;
|
29
|
+
var _config$validator, _cx3, _value$text;
|
29
30
|
var cell = _ref.cell,
|
30
31
|
config = _ref.config,
|
31
32
|
instance = _ref.instance,
|
@@ -251,6 +252,11 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
251
252
|
className: (0, _classnames.default)("".concat(blockClass, "__inline-edit--select-item"))
|
252
253
|
}, item === null || item === void 0 ? void 0 : item.text)) : item === null || item === void 0 ? void 0 : item.text;
|
253
254
|
};
|
255
|
+
var handleTransformedItem = function handleTransformedItem(items) {
|
256
|
+
return items !== null && items !== void 0 && items.length && (0, _typeof2.default)(items[0]) === 'object' ? function (item) {
|
257
|
+
return renderDropdownItem(item);
|
258
|
+
} : null;
|
259
|
+
};
|
254
260
|
var renderSelectCell = function renderSelectCell() {
|
255
261
|
var _ref5 = config || {},
|
256
262
|
inputProps = _ref5.inputProps;
|
@@ -266,12 +272,8 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
266
272
|
className: (0, _classnames.default)("".concat(blockClass, "__inline-edit--select"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__inline-edit--select-").concat(rowSize), rowSize)),
|
267
273
|
items: (inputProps === null || inputProps === void 0 ? void 0 : inputProps.items) || [],
|
268
274
|
initialSelectedItem: cell.value,
|
269
|
-
itemToElement:
|
270
|
-
|
271
|
-
},
|
272
|
-
renderSelectedItem: function renderSelectedItem(item) {
|
273
|
-
return renderDropdownItem(item);
|
274
|
-
},
|
275
|
+
itemToElement: handleTransformedItem(inputProps === null || inputProps === void 0 ? void 0 : inputProps.items),
|
276
|
+
renderSelectedItem: handleTransformedItem(inputProps === null || inputProps === void 0 ? void 0 : inputProps.items),
|
275
277
|
onChange: function onChange(item) {
|
276
278
|
var _inputProps$onChange;
|
277
279
|
var newCellId = getNewCellId('Enter');
|
@@ -435,7 +437,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
|
|
435
437
|
}, !inEditMode && /*#__PURE__*/_react.default.createElement(_InlineEditButton.InlineEditButton, {
|
436
438
|
isActiveCell: cellId === activeCellId,
|
437
439
|
renderIcon: setRenderIcon(),
|
438
|
-
label: type === 'selection' ? value.text : type === 'date' ? buildDate(value) : value,
|
440
|
+
label: type === 'selection' ? (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value : type === 'date' ? buildDate(value) : value,
|
439
441
|
labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
|
440
442
|
placeholder: placeholder,
|
441
443
|
tabIndex: tabIndex,
|
@@ -58,6 +58,12 @@ Object.defineProperty(exports, "useExpandedRow", {
|
|
58
58
|
return _useExpandedRow.default;
|
59
59
|
}
|
60
60
|
});
|
61
|
+
Object.defineProperty(exports, "useFiltering", {
|
62
|
+
enumerable: true,
|
63
|
+
get: function get() {
|
64
|
+
return _useFiltering.default;
|
65
|
+
}
|
66
|
+
});
|
61
67
|
Object.defineProperty(exports, "useInfiniteScroll", {
|
62
68
|
enumerable: true,
|
63
69
|
get: function get() {
|
@@ -129,4 +135,5 @@ var _useCustomizeColumns = _interopRequireDefault(require("./useCustomizeColumns
|
|
129
135
|
var _useSelectAllToggle = _interopRequireDefault(require("./useSelectAllToggle"));
|
130
136
|
var _useColumnCenterAlign = _interopRequireDefault(require("./useColumnCenterAlign"));
|
131
137
|
var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
|
132
|
-
var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
|
138
|
+
var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
|
139
|
+
var _useFiltering = _interopRequireDefault(require("./useFiltering"));
|
@@ -0,0 +1,83 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
|
+
var _react = require("react");
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
13
|
+
var useFiltering = function useFiltering(hooks) {
|
14
|
+
var filterTypes = (0, _react.useMemo)(function () {
|
15
|
+
return {
|
16
|
+
date: function date(rows, id, _ref) {
|
17
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
18
|
+
startDate = _ref2[0],
|
19
|
+
endDate = _ref2[1];
|
20
|
+
return rows.filter(function (row) {
|
21
|
+
var rowValue = row.values[id];
|
22
|
+
if (rowValue.getTime() <= endDate.getTime() && rowValue.getTime() >= startDate.getTime()) {
|
23
|
+
// In date range
|
24
|
+
return true;
|
25
|
+
} else {
|
26
|
+
// Not in date range
|
27
|
+
return false;
|
28
|
+
}
|
29
|
+
});
|
30
|
+
},
|
31
|
+
number: function number(rows, id, value) {
|
32
|
+
if (value === '') {
|
33
|
+
return rows;
|
34
|
+
}
|
35
|
+
var parsedValue = parseInt(value);
|
36
|
+
return rows.filter(function (row) {
|
37
|
+
var rowValue = row.values[id];
|
38
|
+
return rowValue === parsedValue;
|
39
|
+
});
|
40
|
+
},
|
41
|
+
checkbox: function checkbox(rows, id, value) {
|
42
|
+
// gets all the items that are selected and returns their value
|
43
|
+
var selectedItems = value.filter(function (item) {
|
44
|
+
return item.selected;
|
45
|
+
}).map(function (item) {
|
46
|
+
return item.value;
|
47
|
+
});
|
48
|
+
|
49
|
+
// if the user removed all checkboxes then display all rows
|
50
|
+
if (selectedItems.length === 0) {
|
51
|
+
return rows;
|
52
|
+
}
|
53
|
+
return rows.filter(function (row) {
|
54
|
+
var rowValue = row.values[id];
|
55
|
+
return selectedItems.includes(rowValue);
|
56
|
+
});
|
57
|
+
}
|
58
|
+
};
|
59
|
+
}, []);
|
60
|
+
hooks.useInstance.push(function (instance) {
|
61
|
+
var filterProps = instance.filterProps,
|
62
|
+
setAllFilters = instance.setAllFilters,
|
63
|
+
setFilter = instance.setFilter,
|
64
|
+
headers = instance.headers;
|
65
|
+
var defaultProps = {
|
66
|
+
variation: 'flyout'
|
67
|
+
};
|
68
|
+
var getFilterFlyoutProps = function getFilterFlyoutProps() {
|
69
|
+
return _objectSpread(_objectSpread(_objectSpread({}, defaultProps), filterProps), {}, {
|
70
|
+
setAllFilters: setAllFilters,
|
71
|
+
setFilter: setFilter,
|
72
|
+
headers: headers
|
73
|
+
});
|
74
|
+
};
|
75
|
+
Object.assign(instance, {
|
76
|
+
filterProps: _objectSpread(_objectSpread({}, defaultProps), instance.filterProps),
|
77
|
+
filterTypes: filterTypes,
|
78
|
+
getFilterFlyoutProps: getFilterFlyoutProps
|
79
|
+
});
|
80
|
+
});
|
81
|
+
};
|
82
|
+
var _default = useFiltering;
|
83
|
+
exports.default = _default;
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
8
9
|
var _settings = require("../../settings");
|
10
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
9
11
|
var _useNestedRowExpander = _interopRequireDefault(require("./useNestedRowExpander"));
|
10
12
|
/*
|
11
13
|
* Licensed Materials - Property of IBM
|
@@ -20,9 +22,10 @@ var useNestedRows = function useNestedRows(hooks) {
|
|
20
22
|
(0, _useNestedRowExpander.default)(hooks);
|
21
23
|
var marginLeft = 24;
|
22
24
|
var getRowProps = function getRowProps(props, _ref) {
|
25
|
+
var _cx;
|
23
26
|
var row = _ref.row;
|
24
27
|
return [props, {
|
25
|
-
className: row.depth > 0
|
28
|
+
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), _cx))
|
26
29
|
}];
|
27
30
|
};
|
28
31
|
var getRowStyles = function getRowStyles(props, _ref2) {
|
@@ -30,7 +33,7 @@ var useNestedRows = function useNestedRows(hooks) {
|
|
30
33
|
return [props, {
|
31
34
|
style: {
|
32
35
|
marginLeft: "".concat(row.depth > 0 ? marginLeft : 0, "px"),
|
33
|
-
paddingLeft: "".concat(row.depth
|
36
|
+
paddingLeft: "".concat(row.depth === 2 ? marginLeft * (row.depth - 1) + marginLeft - 8 : row.depth > 2 ? marginLeft * (row.depth - 1) + marginLeft : row.depth === 1 ? marginLeft - 16 : 0, "px"),
|
34
37
|
maxWidth: "calc(100% - ".concat(marginLeft * row.depth, "px)")
|
35
38
|
}
|
36
39
|
}];
|
@@ -48,9 +51,15 @@ var useNestedRows = function useNestedRows(hooks) {
|
|
48
51
|
}
|
49
52
|
}];
|
50
53
|
};
|
54
|
+
var useInstance = function useInstance(instance) {
|
55
|
+
Object.assign(instance, {
|
56
|
+
withNestedRows: true
|
57
|
+
});
|
58
|
+
};
|
51
59
|
hooks.getRowProps.push(getRowProps);
|
52
60
|
hooks.getRowProps.push(getRowStyles);
|
53
61
|
hooks.getCellProps.push(getCellProps);
|
62
|
+
hooks.useInstance.push(useInstance);
|
54
63
|
};
|
55
64
|
var _default = useNestedRows;
|
56
65
|
exports.default = _default;
|