@carbon/ibm-products 1.22.0 → 1.23.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/components/Datagrid/styles/datagrid.css +4 -0
- package/css/components/Datagrid/styles/datagrid.css.map +1 -1
- package/css/components/Datagrid/styles/index.css +15 -0
- package/css/components/Datagrid/styles/index.css.map +1 -1
- package/css/components/Datagrid/styles/useExpandedRow.css +12 -0
- package/css/components/Datagrid/styles/useExpandedRow.css.map +1 -0
- package/css/index-full-carbon.css +46 -143
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +25 -16
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +41 -16
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +2 -2
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +44 -139
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelect.js +57 -422
- package/es/components/AddSelect/AddSelectBody.js +349 -0
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -31
- package/es/components/AddSelect/AddSelectColumn.js +91 -41
- package/es/components/AddSelect/AddSelectFilter.js +1 -2
- package/es/components/AddSelect/AddSelectList.js +10 -61
- package/es/components/AddSelect/AddSelectMetaPanel.js +1 -1
- package/es/components/AddSelect/AddSelectSidebar.js +20 -13
- package/es/components/AddSelect/AddSelectSort.js +2 -2
- package/es/components/AddSelect/add-select-utils.js +85 -59
- package/es/components/AddSelect/hooks/useParentSelect.js +16 -0
- package/es/components/AddSelect/hooks/usePath.js +66 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/es/components/Datagrid/Datagrid/Datagrid.js +1 -1
- package/es/components/Datagrid/useExpandedRow.js +12 -4
- package/es/components/PageHeader/PageHeaderUtils.js +5 -0
- package/es/components/TagSet/TagSet.js +15 -5
- package/lib/components/AddSelect/AddSelect.js +54 -430
- package/lib/components/AddSelect/AddSelectBody.js +384 -0
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +11 -30
- package/lib/components/AddSelect/AddSelectColumn.js +90 -39
- package/lib/components/AddSelect/AddSelectFilter.js +1 -2
- package/lib/components/AddSelect/AddSelectList.js +11 -60
- package/lib/components/AddSelect/AddSelectMetaPanel.js +1 -1
- package/lib/components/AddSelect/AddSelectSidebar.js +20 -13
- package/lib/components/AddSelect/AddSelectSort.js +2 -2
- package/lib/components/AddSelect/add-select-utils.js +88 -64
- package/lib/components/AddSelect/hooks/useParentSelect.js +27 -0
- package/lib/components/AddSelect/hooks/usePath.js +75 -0
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/lib/components/Datagrid/Datagrid/Datagrid.js +1 -1
- package/lib/components/Datagrid/useExpandedRow.js +20 -4
- package/lib/components/PageHeader/PageHeaderUtils.js +5 -0
- package/lib/components/TagSet/TagSet.js +15 -5
- package/package.json +16 -16
- package/scss/components/Cascade/_cascade.scss +2 -1
- package/scss/components/CreateInfluencer/_create-influencer.scss +0 -2
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -1
- package/scss/components/Datagrid/_storybook-styles.scss +4 -0
- package/scss/components/Datagrid/styles/datagrid.scss +4 -0
- package/scss/components/Datagrid/styles/index.scss +1 -0
- package/scss/components/Datagrid/styles/useExpandedRow.scss +13 -0
- package/scss/components/InlineEdit/_inline-edit.scss +2 -1
- package/scss/components/OptionsTile/_options-tile.scss +1 -0
- package/scss/components/PageHeader/_page-header.scss +9 -4
- package/scss/components/SidePanel/_side-panel.scss +1 -2
- package/scss/components/TagSet/_tag-set.scss +4 -0
|
@@ -21,16 +21,17 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
21
21
|
|
|
22
22
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
23
23
|
|
|
24
|
-
var _UserProfileImage = require("../UserProfileImage");
|
|
25
|
-
|
|
26
24
|
var _settings = require("../../settings");
|
|
27
25
|
|
|
26
|
+
var _UserProfileImage = require("../UserProfileImage");
|
|
27
|
+
|
|
28
28
|
//
|
|
29
29
|
// Copyright IBM Corp. 2022
|
|
30
30
|
//
|
|
31
31
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
32
32
|
// LICENSE file in the root directory of this source tree.
|
|
33
33
|
//
|
|
34
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__selections");
|
|
34
35
|
var componentName = 'AddSelectList';
|
|
35
36
|
|
|
36
37
|
var AddSelectList = function AddSelectList(_ref) {
|
|
@@ -43,14 +44,13 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
|
43
44
|
multi = _ref.multi,
|
|
44
45
|
multiSelection = _ref.multiSelection,
|
|
45
46
|
navIconDescription = _ref.navIconDescription,
|
|
46
|
-
|
|
47
|
+
parentId = _ref.parentId,
|
|
47
48
|
setAppliedModifiers = _ref.setAppliedModifiers,
|
|
48
49
|
setDisplayMetaPanel = _ref.setDisplayMetaPanel,
|
|
49
50
|
setMultiSelection = _ref.setMultiSelection,
|
|
50
|
-
|
|
51
|
+
setParentSelected = _ref.setParentSelected,
|
|
51
52
|
setSingleSelection = _ref.setSingleSelection,
|
|
52
53
|
singleSelection = _ref.singleSelection;
|
|
53
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__selections");
|
|
54
54
|
var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
|
|
55
55
|
|
|
56
56
|
var handleSingleSelection = function handleSingleSelection(value) {
|
|
@@ -72,59 +72,8 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
|
72
72
|
|
|
73
73
|
var onNavigateItem = function onNavigateItem(_ref2) {
|
|
74
74
|
var id = _ref2.id,
|
|
75
|
-
title = _ref2.title
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// if multi select
|
|
79
|
-
if (multi) {
|
|
80
|
-
// if top level reset the path
|
|
81
|
-
if (!parent) {
|
|
82
|
-
setPath([{
|
|
83
|
-
id: id,
|
|
84
|
-
title: title
|
|
85
|
-
}]);
|
|
86
|
-
} else {
|
|
87
|
-
var pathIds = path.map(function (p) {
|
|
88
|
-
return p.id;
|
|
89
|
-
}); // if item is already selected somewhere go back to that item
|
|
90
|
-
|
|
91
|
-
if (pathIds.includes(id)) {
|
|
92
|
-
var pathIdx = pathIds.findIndex(function (pathId) {
|
|
93
|
-
return pathId === id;
|
|
94
|
-
});
|
|
95
|
-
var newPath = (0, _toConsumableArray2.default)(path).splice(0, pathIdx + 1);
|
|
96
|
-
setPath((0, _toConsumableArray2.default)(newPath));
|
|
97
|
-
} else {
|
|
98
|
-
// if the item is on the same level as another selected item start from the parent level
|
|
99
|
-
if (path.find(function (p) {
|
|
100
|
-
return p.parent === parent;
|
|
101
|
-
})) {
|
|
102
|
-
var parentIdx = path.findIndex(function (p) {
|
|
103
|
-
return p.id === parent;
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
var _newPath = (0, _toConsumableArray2.default)(path).splice(0, parentIdx + 1);
|
|
107
|
-
|
|
108
|
-
setPath([].concat((0, _toConsumableArray2.default)(_newPath), [{
|
|
109
|
-
id: id,
|
|
110
|
-
title: title,
|
|
111
|
-
parent: parent
|
|
112
|
-
}]));
|
|
113
|
-
} else {
|
|
114
|
-
setPath([].concat((0, _toConsumableArray2.default)(path), [{
|
|
115
|
-
id: id,
|
|
116
|
-
title: title,
|
|
117
|
-
parent: parent
|
|
118
|
-
}]));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
} else {
|
|
123
|
-
setPath([].concat((0, _toConsumableArray2.default)(path), [{
|
|
124
|
-
id: id,
|
|
125
|
-
title: title
|
|
126
|
-
}]));
|
|
127
|
-
}
|
|
75
|
+
title = _ref2.title;
|
|
76
|
+
setParentSelected(id, title, parentId);
|
|
128
77
|
};
|
|
129
78
|
|
|
130
79
|
var isSelected = function isSelected(id) {
|
|
@@ -220,6 +169,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
|
220
169
|
},
|
|
221
170
|
selected: item.id === singleSelection
|
|
222
171
|
}), item.children && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
172
|
+
className: "".concat(blockClass, "-view-children"),
|
|
223
173
|
renderIcon: _iconsReact.ChevronRight16,
|
|
224
174
|
iconDescription: navIconDescription,
|
|
225
175
|
tooltipPosition: "left",
|
|
@@ -233,6 +183,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
|
233
183
|
}), item.meta && /*#__PURE__*/_react.default.createElement("div", {
|
|
234
184
|
className: "".concat(blockClass, "-hidden-hover")
|
|
235
185
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
|
|
186
|
+
className: "".concat(blockClass, "-view-meta"),
|
|
236
187
|
renderIcon: _iconsReact.View16,
|
|
237
188
|
iconDescription: metaIconDescription,
|
|
238
189
|
tooltipPosition: "left",
|
|
@@ -256,11 +207,11 @@ AddSelectList.propTypes = {
|
|
|
256
207
|
multi: _propTypes.default.bool,
|
|
257
208
|
multiSelection: _propTypes.default.array,
|
|
258
209
|
navIconDescription: _propTypes.default.string,
|
|
259
|
-
|
|
210
|
+
parentId: _propTypes.default.string,
|
|
260
211
|
setAppliedModifiers: _propTypes.default.func,
|
|
261
212
|
setDisplayMetaPanel: _propTypes.default.func,
|
|
262
213
|
setMultiSelection: _propTypes.default.func,
|
|
263
|
-
|
|
214
|
+
setParentSelected: _propTypes.default.func,
|
|
264
215
|
setSingleSelection: _propTypes.default.func,
|
|
265
216
|
singleSelection: _propTypes.default.string
|
|
266
217
|
};
|
|
@@ -23,6 +23,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
23
23
|
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
25
25
|
|
|
26
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__meta-panel");
|
|
26
27
|
var componentName = 'AddSelectMetaPanel';
|
|
27
28
|
|
|
28
29
|
var AddSelectMetaPanel = function AddSelectMetaPanel(_ref) {
|
|
@@ -30,7 +31,6 @@ var AddSelectMetaPanel = function AddSelectMetaPanel(_ref) {
|
|
|
30
31
|
meta = _ref.meta,
|
|
31
32
|
setDisplayMetaPanel = _ref.setDisplayMetaPanel,
|
|
32
33
|
title = _ref.title;
|
|
33
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__meta-panel");
|
|
34
34
|
|
|
35
35
|
var onCloseHandler = function onCloseHandler() {
|
|
36
36
|
setDisplayMetaPanel({});
|
|
@@ -24,6 +24,7 @@ var _settings = require("../../settings");
|
|
|
24
24
|
var _AddSelectMetaPanel = require("./AddSelectMetaPanel");
|
|
25
25
|
|
|
26
26
|
var _excluded = ["meta", "icon", "avatar"];
|
|
27
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__sidebar");
|
|
27
28
|
var componentName = 'AddSelectSidebar';
|
|
28
29
|
|
|
29
30
|
var AddSelectSidebar = function AddSelectSidebar(_ref) {
|
|
@@ -42,7 +43,6 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
|
|
|
42
43
|
removeIconDescription = _ref.removeIconDescription,
|
|
43
44
|
setDisplayMetaPanel = _ref.setDisplayMetaPanel,
|
|
44
45
|
setMultiSelection = _ref.setMultiSelection;
|
|
45
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--add-select__sidebar");
|
|
46
46
|
var hasModifiers = (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) > 0;
|
|
47
47
|
var hasSelections = multiSelection.length > 0;
|
|
48
48
|
|
|
@@ -53,19 +53,26 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
|
|
|
53
53
|
setMultiSelection(newSelections);
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
return item.id === cur;
|
|
59
|
-
}); // certain properties should not be displayed in the sidebar
|
|
56
|
+
var getNewItem = function getNewItem(item) {
|
|
57
|
+
// certain properties should not be displayed in the sidebar
|
|
60
58
|
// eslint-disable-next-line no-unused-vars
|
|
59
|
+
var meta = item.meta,
|
|
60
|
+
icon = item.icon,
|
|
61
|
+
avatar = item.avatar,
|
|
62
|
+
newItem = (0, _objectWithoutProperties2.default)(item, _excluded);
|
|
63
|
+
return newItem;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var sidebarItems = multiSelection.map(function (selectionId) {
|
|
67
|
+
if (Array.isArray(items)) {
|
|
68
|
+
var selectedItem = items.find(function (item) {
|
|
69
|
+
return item.id === selectionId;
|
|
70
|
+
});
|
|
71
|
+
return getNewItem(selectedItem);
|
|
72
|
+
}
|
|
61
73
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
avatar = selectedItem.avatar,
|
|
65
|
-
newItem = (0, _objectWithoutProperties2.default)(selectedItem, _excluded);
|
|
66
|
-
acc.push(newItem);
|
|
67
|
-
return acc;
|
|
68
|
-
}, []);
|
|
74
|
+
return getNewItem(items[selectionId]);
|
|
75
|
+
});
|
|
69
76
|
|
|
70
77
|
var getTitle = function getTitle(item) {
|
|
71
78
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -140,7 +147,7 @@ AddSelectSidebar.propTypes = {
|
|
|
140
147
|
closeIconDescription: _propTypes.default.string,
|
|
141
148
|
displayMetalPanel: _propTypes.default.object,
|
|
142
149
|
influencerTitle: _propTypes.default.string,
|
|
143
|
-
items: _propTypes.default.array,
|
|
150
|
+
items: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
|
|
144
151
|
metaPanelTitle: _propTypes.default.string,
|
|
145
152
|
modifiers: _propTypes.default.object,
|
|
146
153
|
multiSelection: _propTypes.default.array,
|
|
@@ -25,13 +25,13 @@ var _settings = require("../../settings");
|
|
|
25
25
|
// This source code is licensed under the Apache-2.0 license found in the
|
|
26
26
|
// LICENSE file in the root directory of this source tree.
|
|
27
27
|
//
|
|
28
|
-
var
|
|
28
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--add-select-sort");
|
|
29
|
+
var componentName = 'AddSelectSort';
|
|
29
30
|
|
|
30
31
|
var AddSelectSort = function AddSelectSort(_ref) {
|
|
31
32
|
var setSortAttribute = _ref.setSortAttribute,
|
|
32
33
|
setSortDirection = _ref.setSortDirection,
|
|
33
34
|
sortBy = _ref.sortBy;
|
|
34
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--add-select-sort");
|
|
35
35
|
var sortByOpts = sortBy ? sortBy.reduce(function (acc, cur) {
|
|
36
36
|
var opts = [{
|
|
37
37
|
id: "".concat(cur, "-asc"),
|
|
@@ -5,74 +5,39 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.sortItems = exports.normalize = exports.
|
|
8
|
+
exports.sortItems = exports.normalize = exports.getGlobalFilterValues = exports.getFilteredItems = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
|
|
14
|
-
var _excluded = ["children"]
|
|
15
|
-
_excluded2 = ["children"];
|
|
14
|
+
var _excluded = ["children"];
|
|
16
15
|
|
|
17
16
|
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; }
|
|
18
17
|
|
|
19
18
|
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; }
|
|
20
19
|
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* to be able to more easily and efficiently the child entries the data needs to be
|
|
22
|
+
* normalized. this function recursively goes through the data array to build a single
|
|
23
|
+
* object who's keys are the id's of every single entry
|
|
24
|
+
* @param {object} data
|
|
25
|
+
* @returns an object of normalized data
|
|
25
26
|
*/
|
|
26
|
-
var normalize = function normalize(
|
|
27
|
-
var
|
|
28
|
-
parentId = items.parentId,
|
|
29
|
-
sortBy = items.sortBy,
|
|
30
|
-
filterBy = items.filterBy;
|
|
31
|
-
return entries.reduce(function (acc, cur) {
|
|
27
|
+
var normalize = function normalize(data) {
|
|
28
|
+
var items = data.entries.reduce(function (prev, cur) {
|
|
32
29
|
var children = cur.children,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (parentId) {
|
|
37
|
-
acc[cur.id].parent = parentId;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (sortBy !== null && sortBy !== void 0 && sortBy.length) {
|
|
41
|
-
acc[cur.id].sortBy = sortBy;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (filterBy) {
|
|
45
|
-
acc[cur.id].filterBy = filterBy;
|
|
46
|
-
}
|
|
30
|
+
item = (0, _objectWithoutProperties2.default)(cur, _excluded);
|
|
31
|
+
prev[item.id] = item;
|
|
47
32
|
|
|
48
33
|
if (children) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
52
|
-
var child = normalize(_objectSpread(_objectSpread({}, children), {}, {
|
|
53
|
-
parentId: cur.id
|
|
54
|
-
}));
|
|
55
|
-
return _objectSpread(_objectSpread({}, acc), child);
|
|
34
|
+
var childItems = normalize(children);
|
|
35
|
+
return _objectSpread(_objectSpread({}, prev), childItems);
|
|
56
36
|
}
|
|
57
37
|
|
|
58
|
-
return
|
|
38
|
+
return prev;
|
|
59
39
|
}, {});
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* used to create a single searchable array of nested items
|
|
63
|
-
* @param {Array} entries - list of entries
|
|
64
|
-
* @returns an array of items
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
exports.normalize = normalize;
|
|
69
|
-
|
|
70
|
-
var flatten = function flatten(entries) {
|
|
71
|
-
return entries.reduce(function (prev, cur) {
|
|
72
|
-
var children = cur.children,
|
|
73
|
-
item = (0, _objectWithoutProperties2.default)(cur, _excluded2);
|
|
74
|
-
return prev.concat(item).concat(children ? flatten(children.entries) : []);
|
|
75
|
-
}, []);
|
|
40
|
+
return items;
|
|
76
41
|
};
|
|
77
42
|
/**
|
|
78
43
|
* takes in a global filters array and a flat list of items
|
|
@@ -86,26 +51,28 @@ var flatten = function flatten(entries) {
|
|
|
86
51
|
*/
|
|
87
52
|
|
|
88
53
|
|
|
89
|
-
exports.
|
|
54
|
+
exports.normalize = normalize;
|
|
90
55
|
|
|
91
56
|
var getGlobalFilterValues = function getGlobalFilterValues(globalFilters, items) {
|
|
92
|
-
var
|
|
57
|
+
var itemIds = Object.keys(items);
|
|
58
|
+
var results = globalFilters.reduce(function (prevFilter, curFilter) {
|
|
93
59
|
var filterId = curFilter.id;
|
|
94
|
-
var
|
|
60
|
+
var filterOpts = itemIds.reduce(function (prevId, curId) {
|
|
61
|
+
var curItem = items[curId];
|
|
95
62
|
var value = curItem[filterId];
|
|
96
63
|
|
|
97
|
-
if (value && !
|
|
98
|
-
|
|
64
|
+
if (value && !prevId.includes(value)) {
|
|
65
|
+
prevId.push(value);
|
|
99
66
|
}
|
|
100
67
|
|
|
101
|
-
return
|
|
68
|
+
return prevId;
|
|
102
69
|
}, []);
|
|
103
70
|
prevFilter.push(_objectSpread({
|
|
104
|
-
opts:
|
|
71
|
+
opts: filterOpts
|
|
105
72
|
}, curFilter));
|
|
106
73
|
return prevFilter;
|
|
107
74
|
}, []);
|
|
108
|
-
return
|
|
75
|
+
return results;
|
|
109
76
|
};
|
|
110
77
|
|
|
111
78
|
exports.getGlobalFilterValues = getGlobalFilterValues;
|
|
@@ -127,12 +94,69 @@ var sortItems = function sortItems(attribute, direction) {
|
|
|
127
94
|
|
|
128
95
|
exports.sortItems = sortItems;
|
|
129
96
|
|
|
130
|
-
var
|
|
131
|
-
|
|
97
|
+
var getFilteredItems = function getFilteredItems(useNormalizedItems, normalizedItems, searchTerm, globalFiltersApplied, globalFilterKeys, appliedGlobalFilters, sortFn, multi, items, path) {
|
|
98
|
+
/**
|
|
99
|
+
* useNormalizedItems just specifies if the data is hierarchical. the data structure
|
|
100
|
+
* is an object and not an array.
|
|
101
|
+
*/
|
|
102
|
+
if (useNormalizedItems) {
|
|
103
|
+
var itemIds = Object.keys(normalizedItems);
|
|
104
|
+
|
|
105
|
+
if (searchTerm || globalFiltersApplied) {
|
|
106
|
+
var results = itemIds.reduce(function (prev, cur) {
|
|
107
|
+
if (normalizedItems[cur].title.toLowerCase().includes(searchTerm)) {
|
|
108
|
+
prev.push(normalizedItems[cur]);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return prev;
|
|
112
|
+
}, []).filter(function (item) {
|
|
113
|
+
return globalFilterKeys.every(function (filter) {
|
|
114
|
+
return item[filter] === appliedGlobalFilters[filter];
|
|
115
|
+
});
|
|
116
|
+
}).sort(sortFn);
|
|
117
|
+
return results;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* multi select with hierarchy requires special consideration because columns
|
|
121
|
+
* are built recursively, so the items are just returned
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
if (multi) {
|
|
126
|
+
return items;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* because single add select with hierarchy isn't recursively built the data
|
|
130
|
+
* structure has to be built around the path to maintain the folder structure
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
if (path.length > 1) {
|
|
135
|
+
return path.reduce(function (prev, cur, curIdx) {
|
|
136
|
+
var _prev$find, _prev$find$children;
|
|
137
|
+
|
|
138
|
+
// because the root of the path never changes we can skip it
|
|
139
|
+
if (curIdx === 0) {
|
|
140
|
+
return prev;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
var item = (_prev$find = prev.find(function (item) {
|
|
144
|
+
return item.id === cur.id;
|
|
145
|
+
})) === null || _prev$find === void 0 ? void 0 : (_prev$find$children = _prev$find.children) === null || _prev$find$children === void 0 ? void 0 : _prev$find$children.entries;
|
|
146
|
+
return item;
|
|
147
|
+
}, items.entries);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return items.entries;
|
|
151
|
+
} else {
|
|
152
|
+
if (searchTerm) {
|
|
153
|
+
return items.entries.filter(function (item) {
|
|
154
|
+
return item.title.toLowerCase().includes(searchTerm);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
132
157
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
})) === null || _items$find === void 0 ? void 0 : _items$find.sortBy;
|
|
158
|
+
return items.entries;
|
|
159
|
+
}
|
|
136
160
|
};
|
|
137
161
|
|
|
138
|
-
exports.
|
|
162
|
+
exports.getFilteredItems = getFilteredItems;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var useParentSelect = function useParentSelect() {
|
|
15
|
+
var _useState = (0, _react.useState)(null),
|
|
16
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
17
|
+
parentSelected = _useState2[0],
|
|
18
|
+
setParentSelected = _useState2[1];
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
parentSelected: parentSelected,
|
|
22
|
+
setParentSelected: setParentSelected
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var _default = useParentSelect;
|
|
27
|
+
exports.default = _default;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _react = require("react");
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var usePath = function usePath() {
|
|
23
|
+
var itemsLabel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
24
|
+
|
|
25
|
+
var _useState = (0, _react.useState)([{
|
|
26
|
+
id: 'base_of_path',
|
|
27
|
+
title: itemsLabel
|
|
28
|
+
}]),
|
|
29
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
30
|
+
path = _useState2[0],
|
|
31
|
+
setPath = _useState2[1];
|
|
32
|
+
|
|
33
|
+
var handler = function handler(id, title, parentId) {
|
|
34
|
+
if (path.find(function (entry) {
|
|
35
|
+
return entry.id === id;
|
|
36
|
+
})) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var pathEntry = _objectSpread({
|
|
41
|
+
id: id,
|
|
42
|
+
title: title
|
|
43
|
+
}, parentId && {
|
|
44
|
+
parentId: parentId
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
if (path.find(function (entry) {
|
|
48
|
+
return entry.parentId === parentId;
|
|
49
|
+
})) {
|
|
50
|
+
var parentIdx = path.findIndex(function (entry) {
|
|
51
|
+
return entry.id === parentId;
|
|
52
|
+
});
|
|
53
|
+
var pathCopy = (0, _toConsumableArray2.default)(path);
|
|
54
|
+
pathCopy.length = parentIdx + 1;
|
|
55
|
+
setPath([].concat((0, _toConsumableArray2.default)(pathCopy), [pathEntry]));
|
|
56
|
+
} else {
|
|
57
|
+
setPath([].concat((0, _toConsumableArray2.default)(path), [pathEntry]));
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
var pathClickHandler = function pathClickHandler(idx) {
|
|
62
|
+
var pathCopy = (0, _toConsumableArray2.default)(path);
|
|
63
|
+
pathCopy.length = idx + 1;
|
|
64
|
+
setPath((0, _toConsumableArray2.default)(pathCopy));
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
path: path,
|
|
69
|
+
setPath: handler,
|
|
70
|
+
pathOnclick: pathClickHandler
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var _default = usePath;
|
|
75
|
+
exports.default = _default;
|
|
@@ -204,11 +204,7 @@ var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
|
|
|
204
204
|
},
|
|
205
205
|
invalid: isInvalid,
|
|
206
206
|
invalidText: "This is a required field",
|
|
207
|
-
onBlur: function onBlur() {
|
|
208
|
-
if (!stepOneTextInputValue.length) {
|
|
209
|
-
setIsInvalid(true);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
207
|
+
onBlur: function onBlur() {}
|
|
212
208
|
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TextInput, {
|
|
213
209
|
labelText: "Topic description (optional)",
|
|
214
210
|
id: "tearsheet-multi-step-story-text-input-multi-step-1-input-2",
|
|
@@ -226,11 +226,7 @@ var MultiStepWithIntro = function MultiStepWithIntro(_ref) {
|
|
|
226
226
|
},
|
|
227
227
|
invalid: isInvalid,
|
|
228
228
|
invalidText: "This is a required field",
|
|
229
|
-
onBlur: function onBlur() {
|
|
230
|
-
if (!stepOneTextInputValue.length) {
|
|
231
|
-
setIsInvalid(true);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
229
|
+
onBlur: function onBlur() {}
|
|
234
230
|
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TextInput, {
|
|
235
231
|
labelText: "Topic description (optional)",
|
|
236
232
|
id: "tearsheet-multi-step-story-text-input-multi-step-1-input-2",
|
|
@@ -81,7 +81,7 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
81
81
|
ref: ref,
|
|
82
82
|
className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
|
|
83
83
|
}, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement(_DatagridToolbar.default, datagridState), leftPanel && /*#__PURE__*/_react.default.createElement("div", {
|
|
84
|
-
className: "".concat(blockClass, "__grid-container ").concat(blockClass, "__displayFlex")
|
|
84
|
+
className: "".concat(blockClass, "__grid-container ").concat(blockClass, "__displayFlex ").concat(blockClass, "__leftPanel-position")
|
|
85
85
|
}, leftPanel && leftPanel.isOpen && /*#__PURE__*/_react.default.createElement("div", {
|
|
86
86
|
className: "".concat(blockClass, "__datagridLeftPanel")
|
|
87
87
|
}, leftPanel.panelContent), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -11,23 +13,37 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
13
|
|
|
12
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
15
|
|
|
14
|
-
var _react = require("react");
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
17
|
|
|
16
18
|
var _DatagridExpandedRow = _interopRequireDefault(require("./Datagrid/DatagridExpandedRow"));
|
|
17
19
|
|
|
18
20
|
var _useRowExpander = _interopRequireDefault(require("./useRowExpander"));
|
|
19
21
|
|
|
22
|
+
var _settings = require("../../settings");
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
27
|
+
|
|
20
28
|
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; }
|
|
21
29
|
|
|
22
30
|
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; }
|
|
23
31
|
|
|
32
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
|
33
|
+
|
|
34
|
+
var expansionRenderer = function expansionRenderer(_ref) {
|
|
35
|
+
var row = _ref.row;
|
|
36
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
37
|
+
className: "".concat(blockClass, "__expanded-row-content")
|
|
38
|
+
}, "Content for ", row.id);
|
|
39
|
+
};
|
|
40
|
+
|
|
24
41
|
var useExpandedRow = function useExpandedRow(hooks) {
|
|
25
42
|
(0, _useRowExpander.default)(hooks);
|
|
26
43
|
|
|
27
44
|
var useInstance = function useInstance(instance) {
|
|
28
45
|
var rows = instance.rows,
|
|
29
|
-
expandedContentHeight = instance.expandedContentHeight
|
|
30
|
-
ExpandedRowContentComponent = instance.ExpandedRowContentComponent;
|
|
46
|
+
expandedContentHeight = instance.expandedContentHeight;
|
|
31
47
|
|
|
32
48
|
var _useState = (0, _react.useState)({}),
|
|
33
49
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -42,7 +58,7 @@ var useExpandedRow = function useExpandedRow(hooks) {
|
|
|
42
58
|
return _objectSpread(_objectSpread({}, row), {}, {
|
|
43
59
|
canExpand: row.original && !row.original.notExpandable,
|
|
44
60
|
expandedContentHeight: expandedRowsHeight[row.index] || expandedContentHeight,
|
|
45
|
-
RowRenderer: (0, _DatagridExpandedRow.default)(row.RowRenderer,
|
|
61
|
+
RowRenderer: (0, _DatagridExpandedRow.default)(row.RowRenderer, expansionRenderer)
|
|
46
62
|
});
|
|
47
63
|
});
|
|
48
64
|
Object.assign(instance, {
|
|
@@ -128,6 +128,11 @@ var utilCheckUpdateVerticalSpace = function utilCheckUpdateVerticalSpace(headerR
|
|
|
128
128
|
if (!enableBreadcrumbScroll || !navigation) {
|
|
129
129
|
// adjust sticky top if no navigation or breadcrumb is to stay on screen
|
|
130
130
|
update.headerTopValue += update.breadcrumbRowHeight;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (enableBreadcrumbScroll) {
|
|
134
|
+
// adjust header top value when scroll enabled for breadcrumb
|
|
135
|
+
update.headerTopValue -= navigation ? hasActionBar ? 0 : 10 : update.headerHeight;
|
|
131
136
|
} // if (window) {
|
|
132
137
|
|
|
133
138
|
|