@carbon/ibm-products 1.20.3 → 1.23.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 +32 -0
- package/css/components/Datagrid/styles/index.css.map +1 -1
- package/css/components/Datagrid/styles/useColumnCenterAlign.css +18 -0
- package/css/components/Datagrid/styles/useColumnCenterAlign.css.map +1 -0
- 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 +67 -147
- 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 +62 -20
- 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 +65 -143
- 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/Datagrid.stories/StickyActionsColumnStory.js +92 -92
- package/es/components/Datagrid/index.js +2 -1
- package/es/components/Datagrid/useColumnCenterAlign.js +52 -0
- package/es/components/Datagrid/useExpandedRow.js +12 -4
- package/es/components/Datagrid/utils/makeData.js +155 -0
- 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/Datagrid.stories/StickyActionsColumnStory.js +93 -112
- package/lib/components/Datagrid/index.js +9 -1
- package/lib/components/Datagrid/useColumnCenterAlign.js +59 -0
- package/lib/components/Datagrid/useExpandedRow.js +20 -4
- package/lib/components/Datagrid/utils/makeData.js +167 -0
- 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 +2 -0
- package/scss/components/Datagrid/styles/useColumnCenterAlign.scss +19 -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
- package/scss/components/WebTerminal/_web-terminal.scss +1 -1
@@ -1,112 +1,93 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
}
|
95
|
-
}, {
|
96
|
-
id: 'delete',
|
97
|
-
itemText: 'Delete',
|
98
|
-
hasDivider: true,
|
99
|
-
isDelete: true,
|
100
|
-
onClick: onActionClick
|
101
|
-
}]
|
102
|
-
}, _.useStickyColumn, _.useActionsColumn);
|
103
|
-
return /*#__PURE__*/_react.default.createElement(_common.Wrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, msg), /*#__PURE__*/_react.default.createElement(_.Datagrid, datagridState), /*#__PURE__*/_react.default.createElement("p", null, "More details documentation check the Notes section below"));
|
104
|
-
};
|
105
|
-
|
106
|
-
StickyActionsColumn.story = {
|
107
|
-
parameters: {
|
108
|
-
notes: "\n Sticky column and actions column can be used at the same time like the demo above. Following is the doc for each of them.\n\n # Sticky column\n This will make the column mark with `sticky: \"right\"` to be sticky on the right.\n\n ## Incompatible with following plugins:\n - `useInfiniteScroll`\n\n ## Sample usage:\n \n 1. include the `useStickyColumn` hook\n 2. add `sticky=\"right\"` to the column object\n\n ```js\n const columns = [\n ... // other columns\n {\n Header: \"\",\n accessor: \"actions\",\n sticky: \"right\",\n width: 60,\n },\n ]\n const datagridState = useDatagrid(\n {\n columns,\n data,\n },\n useStickyColumn\n );\n ```\n ```html\n <Datagrid {...datagridState} />\n ```\n\n # Actions column\n This will add OverflowMenu component to the cells on the column mark with `isAction: true`. Each action button callback will include the actionId and row object\n\n ## Sample usage:\n 1. include `useActionsColumn` hook\n 2. add `isAction = true` to the column object in which you which to add the overflow menu actions\n 3. add `rowActions = []` array to the props\n - `rowActions[].id` for callback to identify the action is called\n - `rowActions[].onClick(actionId: string, row: Row, event: ClickEvent)` callback on menuitem clicked. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)\n - `rowActions[].shouldHideMenuItem(row: Row)` callback to hide this menuitem. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)\n - `rowActions[].shouldDisableMenuItem(row: Row)` callback to disable this menuitem. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)\n - This will override `rowActions[].disabled` (from Carbon) because `shouldDisableMenuItem` is more specific to the row.\n - each action object can take all the props from `OverflowMenuItem` props, see [carbon docs](https://react.carbondesignsystem.com/?path=/docs/components-overflowmenu--default#overflowmenu)\n\n ```js\n const columns = [\n ... // other columns\n {\n Header: \"\",\n accessor: \"actions\",\n isAction: true,\n },\n ]\n const onActionClick = (actionId, row, event) => {};\n const datagridState = useDatagrid(\n {\n columns,\n data,\n rowActions: [\n {\n id: 'edit',\n itemText: 'Edit',\n onClick: onActionClick\n },\n {\n id: 'hidden',\n itemText: 'Hidden item',\n onClick: onActionClick,\n shouldHideMenuItem: () => true,\n },\n {\n id: 'delete',\n itemText: 'Delete',\n hasDivider: true,\n isDelete: true,\n onClick: onActionClick\n },\n ]\n },\n useActionsColumn,\n );\n ```\n ```html\n <Datagrid {...datagridState} />\n ```\n "
|
109
|
-
}
|
110
|
-
};
|
111
|
-
var _default = StickyActionsColumn;
|
112
|
-
exports.default = _default;
|
1
|
+
// import React, { useState, useEffect } from 'react';
|
2
|
+
// import { Datagrid, useActionsColumn, useDatagrid, useStickyColumn } from '..';
|
3
|
+
// import { defaultHeader, makeData, Wrapper } from './common';
|
4
|
+
// StickyActionsColumn.story = {
|
5
|
+
// parameters: {
|
6
|
+
// notes: `
|
7
|
+
// Sticky column and actions column can be used at the same time like the demo above. Following is the doc for each of them.
|
8
|
+
// # Sticky column
|
9
|
+
// This will make the column mark with \`sticky: "right"\` to be sticky on the right.
|
10
|
+
// ## Incompatible with following plugins:
|
11
|
+
// - \`useInfiniteScroll\`
|
12
|
+
// ## Sample usage:
|
13
|
+
// 1. include the \`useStickyColumn\` hook
|
14
|
+
// 2. add \`sticky="right"\` to the column object
|
15
|
+
// \`\`\`js
|
16
|
+
// const columns = [
|
17
|
+
// ... // other columns
|
18
|
+
// {
|
19
|
+
// Header: "",
|
20
|
+
// accessor: "actions",
|
21
|
+
// sticky: "right",
|
22
|
+
// width: 60,
|
23
|
+
// },
|
24
|
+
// ]
|
25
|
+
// const datagridState = useDatagrid(
|
26
|
+
// {
|
27
|
+
// columns,
|
28
|
+
// data,
|
29
|
+
// },
|
30
|
+
// useStickyColumn
|
31
|
+
// );
|
32
|
+
// \`\`\`
|
33
|
+
// \`\`\`html
|
34
|
+
// <Datagrid {...datagridState} />
|
35
|
+
// \`\`\`
|
36
|
+
// # Actions column
|
37
|
+
// This will add OverflowMenu component to the cells on the column mark with \`isAction: true\`. Each action button callback will include the actionId and row object
|
38
|
+
// ## Sample usage:
|
39
|
+
// 1. include \`useActionsColumn\` hook
|
40
|
+
// 2. add \`isAction = true\` to the column object in which you which to add the overflow menu actions
|
41
|
+
// 3. add \`rowActions = []\` array to the props
|
42
|
+
// - \`rowActions[].id\` for callback to identify the action is called
|
43
|
+
// - \`rowActions[].onClick(actionId: string, row: Row, event: ClickEvent)\` callback on menuitem clicked. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)
|
44
|
+
// - \`rowActions[].shouldHideMenuItem(row: Row)\` callback to hide this menuitem. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)
|
45
|
+
// - \`rowActions[].shouldDisableMenuItem(row: Row)\` callback to disable this menuitem. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)
|
46
|
+
// - This will override \`rowActions[].disabled\` (from Carbon) because \`shouldDisableMenuItem\` is more specific to the row.
|
47
|
+
// - each action object can take all the props from \`OverflowMenuItem\` props, see [carbon docs](https://react.carbondesignsystem.com/?path=/docs/components-overflowmenu--default#overflowmenu)
|
48
|
+
// \`\`\`js
|
49
|
+
// const columns = [
|
50
|
+
// ... // other columns
|
51
|
+
// {
|
52
|
+
// Header: "",
|
53
|
+
// accessor: "actions",
|
54
|
+
// isAction: true,
|
55
|
+
// },
|
56
|
+
// ]
|
57
|
+
// const onActionClick = (actionId, row, event) => {};
|
58
|
+
// const datagridState = useDatagrid(
|
59
|
+
// {
|
60
|
+
// columns,
|
61
|
+
// data,
|
62
|
+
// rowActions: [
|
63
|
+
// {
|
64
|
+
// id: 'edit',
|
65
|
+
// itemText: 'Edit',
|
66
|
+
// onClick: onActionClick
|
67
|
+
// },
|
68
|
+
// {
|
69
|
+
// id: 'hidden',
|
70
|
+
// itemText: 'Hidden item',
|
71
|
+
// onClick: onActionClick,
|
72
|
+
// shouldHideMenuItem: () => true,
|
73
|
+
// },
|
74
|
+
// {
|
75
|
+
// id: 'delete',
|
76
|
+
// itemText: 'Delete',
|
77
|
+
// hasDivider: true,
|
78
|
+
// isDelete: true,
|
79
|
+
// onClick: onActionClick
|
80
|
+
// },
|
81
|
+
// ]
|
82
|
+
// },
|
83
|
+
// useActionsColumn,
|
84
|
+
// );
|
85
|
+
// \`\`\`
|
86
|
+
// \`\`\`html
|
87
|
+
// <Datagrid {...datagridState} />
|
88
|
+
// \`\`\`
|
89
|
+
// `,
|
90
|
+
// },
|
91
|
+
// };
|
92
|
+
// export default StickyActionsColumn;
|
93
|
+
"use strict";
|
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "useActionsColumn", {
|
|
17
17
|
return _useActionsColumn.default;
|
18
18
|
}
|
19
19
|
});
|
20
|
+
Object.defineProperty(exports, "useColumnCenterAlign", {
|
21
|
+
enumerable: true,
|
22
|
+
get: function get() {
|
23
|
+
return _useColumnCenterAlign.default;
|
24
|
+
}
|
25
|
+
});
|
20
26
|
Object.defineProperty(exports, "useColumnRightAlign", {
|
21
27
|
enumerable: true,
|
22
28
|
get: function get() {
|
@@ -124,4 +130,6 @@ var _useActionsColumn = _interopRequireDefault(require("./useActionsColumn"));
|
|
124
130
|
|
125
131
|
var _useCustomizeColumns = _interopRequireDefault(require("./useCustomizeColumns"));
|
126
132
|
|
127
|
-
var _useSelectAllToggle = _interopRequireDefault(require("./useSelectAllToggle"));
|
133
|
+
var _useSelectAllToggle = _interopRequireDefault(require("./useSelectAllToggle"));
|
134
|
+
|
135
|
+
var _useColumnCenterAlign = _interopRequireDefault(require("./useColumnCenterAlign"));
|
@@ -0,0 +1,59 @@
|
|
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 _react = _interopRequireDefault(require("react"));
|
15
|
+
|
16
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
17
|
+
|
18
|
+
var _settings = require("../../settings");
|
19
|
+
|
20
|
+
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
|
+
|
22
|
+
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
|
+
|
24
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
25
|
+
|
26
|
+
var useColumnCenterAlign = function useColumnCenterAlign(hooks) {
|
27
|
+
var centerAlignRenderer = function centerAlignRenderer(tableProps, column) {
|
28
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
29
|
+
className: (0, _classnames.default)("".concat(blockClass, "__center-align-cell-renderer"), {
|
30
|
+
sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
|
31
|
+
})
|
32
|
+
}, column.Cell(tableProps));
|
33
|
+
};
|
34
|
+
|
35
|
+
var centerAlignHeader = function centerAlignHeader(headerProp, column) {
|
36
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
37
|
+
className: "".concat(blockClass, "__center-align-header")
|
38
|
+
}, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
|
39
|
+
};
|
40
|
+
|
41
|
+
var centerAlignedColumns = function centerAlignedColumns(columns) {
|
42
|
+
var columnsWithDefaultCells = columns.map(function (column) {
|
43
|
+
return _objectSpread(_objectSpread({}, column), {}, {
|
44
|
+
Cell: column.centerAlignedColumn ? function (tableProp) {
|
45
|
+
return centerAlignRenderer(tableProp, column);
|
46
|
+
} : column.Cell,
|
47
|
+
Header: column.centerAlignedColumn ? function (headerProp) {
|
48
|
+
return centerAlignHeader(headerProp, column);
|
49
|
+
} : column.Header
|
50
|
+
});
|
51
|
+
});
|
52
|
+
return (0, _toConsumableArray2.default)(columnsWithDefaultCells);
|
53
|
+
};
|
54
|
+
|
55
|
+
hooks.visibleColumns.push(centerAlignedColumns);
|
56
|
+
};
|
57
|
+
|
58
|
+
var _default = useColumnCenterAlign;
|
59
|
+
exports.default = _default;
|
@@ -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, {
|
@@ -0,0 +1,167 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.range = exports.newPersonWithTwoLines = exports.makeData = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
13
|
+
|
14
|
+
var _namor = _interopRequireDefault(require("namor"));
|
15
|
+
|
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; }
|
17
|
+
|
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; }
|
19
|
+
|
20
|
+
var makeData = function makeData() {
|
21
|
+
for (var _len = arguments.length, lens = new Array(_len), _key = 0; _key < _len; _key++) {
|
22
|
+
lens[_key] = arguments[_key];
|
23
|
+
}
|
24
|
+
|
25
|
+
var makeDataLevel = function makeDataLevel() {
|
26
|
+
var depth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
27
|
+
var len = lens[depth];
|
28
|
+
return range(len).map(function () {
|
29
|
+
return _objectSpread(_objectSpread({}, newPerson()), {}, {
|
30
|
+
subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined
|
31
|
+
});
|
32
|
+
});
|
33
|
+
};
|
34
|
+
|
35
|
+
return makeDataLevel();
|
36
|
+
};
|
37
|
+
|
38
|
+
exports.makeData = makeData;
|
39
|
+
|
40
|
+
var range = function range(len) {
|
41
|
+
var arr = [];
|
42
|
+
|
43
|
+
for (var i = 0; i < len; i++) {
|
44
|
+
arr.push(i);
|
45
|
+
}
|
46
|
+
|
47
|
+
return arr;
|
48
|
+
};
|
49
|
+
|
50
|
+
exports.range = range;
|
51
|
+
|
52
|
+
var newPerson = function newPerson() {
|
53
|
+
var statusChance = Math.random();
|
54
|
+
return {
|
55
|
+
firstName: _namor.default.generate({
|
56
|
+
words: 1,
|
57
|
+
numbers: 0
|
58
|
+
}),
|
59
|
+
lastName: _namor.default.generate({
|
60
|
+
words: 1,
|
61
|
+
numbers: 0
|
62
|
+
}),
|
63
|
+
age: Math.floor(Math.random() * 30),
|
64
|
+
visits: Math.floor(Math.random() * 100),
|
65
|
+
progress: Math.floor(Math.random() * 100),
|
66
|
+
someone1: _namor.default.generate({
|
67
|
+
words: 1,
|
68
|
+
numbers: 0
|
69
|
+
}),
|
70
|
+
someone2: _namor.default.generate({
|
71
|
+
words: 1,
|
72
|
+
numbers: 0
|
73
|
+
}),
|
74
|
+
someone3: _namor.default.generate({
|
75
|
+
words: 1,
|
76
|
+
numbers: 0
|
77
|
+
}),
|
78
|
+
someone4: _namor.default.generate({
|
79
|
+
words: 1,
|
80
|
+
numbers: 0
|
81
|
+
}),
|
82
|
+
someone5: _namor.default.generate({
|
83
|
+
words: 1,
|
84
|
+
numbers: 0
|
85
|
+
}),
|
86
|
+
someone6: _namor.default.generate({
|
87
|
+
words: 1,
|
88
|
+
numbers: 0
|
89
|
+
}),
|
90
|
+
someone7: _namor.default.generate({
|
91
|
+
words: 1,
|
92
|
+
numbers: 0
|
93
|
+
}),
|
94
|
+
someone8: _namor.default.generate({
|
95
|
+
words: 1,
|
96
|
+
numbers: 0
|
97
|
+
}),
|
98
|
+
someone9: _namor.default.generate({
|
99
|
+
words: 1,
|
100
|
+
numbers: 0
|
101
|
+
}),
|
102
|
+
someone10: _namor.default.generate({
|
103
|
+
words: 1,
|
104
|
+
numbers: 0
|
105
|
+
}),
|
106
|
+
someone11: _namor.default.generate({
|
107
|
+
words: 1,
|
108
|
+
numbers: 0
|
109
|
+
}),
|
110
|
+
someone12: _namor.default.generate({
|
111
|
+
words: 1,
|
112
|
+
numbers: 0
|
113
|
+
}),
|
114
|
+
someone13: _namor.default.generate({
|
115
|
+
words: 1,
|
116
|
+
numbers: 0
|
117
|
+
}),
|
118
|
+
someone14: _namor.default.generate({
|
119
|
+
words: 1,
|
120
|
+
numbers: 0
|
121
|
+
}),
|
122
|
+
someone15: _namor.default.generate({
|
123
|
+
words: 1,
|
124
|
+
numbers: 0
|
125
|
+
}),
|
126
|
+
someone16: _namor.default.generate({
|
127
|
+
words: 1,
|
128
|
+
numbers: 0
|
129
|
+
}),
|
130
|
+
someone17: _namor.default.generate({
|
131
|
+
words: 1,
|
132
|
+
numbers: 0
|
133
|
+
}),
|
134
|
+
someone18: _namor.default.generate({
|
135
|
+
words: 1,
|
136
|
+
numbers: 0
|
137
|
+
}),
|
138
|
+
someone19: _namor.default.generate({
|
139
|
+
words: 1,
|
140
|
+
numbers: 0
|
141
|
+
}),
|
142
|
+
someone20: _namor.default.generate({
|
143
|
+
words: 1,
|
144
|
+
numbers: 0
|
145
|
+
}),
|
146
|
+
status: statusChance > 0.66 ? 'relationship' : statusChance > 0.33 ? 'complicated' : 'single'
|
147
|
+
};
|
148
|
+
};
|
149
|
+
|
150
|
+
var newPersonWithTwoLines = function newPersonWithTwoLines() {
|
151
|
+
return {
|
152
|
+
firstName: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", null, _namor.default.generate({
|
153
|
+
words: 1,
|
154
|
+
numbers: 0
|
155
|
+
})), /*#__PURE__*/_react.default.createElement("div", null, _namor.default.generate({
|
156
|
+
words: 1,
|
157
|
+
numbers: 0
|
158
|
+
}))),
|
159
|
+
lastName: _namor.default.generate({
|
160
|
+
words: 1,
|
161
|
+
numbers: 0
|
162
|
+
}),
|
163
|
+
age: Math.floor(Math.random() * 30)
|
164
|
+
};
|
165
|
+
};
|
166
|
+
|
167
|
+
exports.newPersonWithTwoLines = newPersonWithTwoLines;
|
@@ -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
|
|
@@ -39,7 +39,7 @@ var _propsHelper = require("../../global/js/utils/props-helper");
|
|
39
39
|
|
40
40
|
var _settings = require("../../settings");
|
41
41
|
|
42
|
-
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
|
42
|
+
var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
|
43
43
|
_excluded2 = ["label", "id"],
|
44
44
|
_excluded3 = ["label"];
|
45
45
|
|
@@ -68,6 +68,7 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
68
68
|
allTagsModalTargetIn = _ref.allTagsModalTarget,
|
69
69
|
className = _ref.className,
|
70
70
|
maxVisible = _ref.maxVisible,
|
71
|
+
multiline = _ref.multiline,
|
71
72
|
_ref$overflowAlign = _ref.overflowAlign,
|
72
73
|
overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
|
73
74
|
overflowClassName = _ref.overflowClassName,
|
@@ -184,7 +185,11 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
184
185
|
setDisplayedTags(newDisplayedTags);
|
185
186
|
}, [displayCount, overflowAlign, overflowClassName, overflowDirection, showAllTagsLabel, tags]);
|
186
187
|
var checkFullyVisibleTags = (0, _react.useCallback)(function () {
|
187
|
-
|
188
|
+
if (multiline) {
|
189
|
+
return setDisplayCount(maxVisible);
|
190
|
+
} // how many will fit?
|
191
|
+
|
192
|
+
|
188
193
|
var willFit = 0;
|
189
194
|
|
190
195
|
if (sizingTags.length > 0) {
|
@@ -216,10 +221,10 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
216
221
|
} else {
|
217
222
|
setDisplayCount(maxVisible ? Math.min(willFit, maxVisible) : willFit);
|
218
223
|
}
|
219
|
-
}, [maxVisible, sizingTags, tagSetRef]);
|
224
|
+
}, [maxVisible, multiline, sizingTags, tagSetRef]);
|
220
225
|
(0, _react.useEffect)(function () {
|
221
226
|
checkFullyVisibleTags();
|
222
|
-
}, [checkFullyVisibleTags, maxVisible, sizingTags]);
|
227
|
+
}, [checkFullyVisibleTags, maxVisible, multiline, sizingTags]);
|
223
228
|
/* don't know how to test resize */
|
224
229
|
|
225
230
|
/* istanbul ignore next */
|
@@ -262,7 +267,7 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
262
267
|
"aria-hidden": true,
|
263
268
|
ref: sizingContainerRef
|
264
269
|
}, hiddenSizingTags), /*#__PURE__*/_react.default.createElement("div", {
|
265
|
-
className: "".concat(blockClass, "__tag-container"),
|
270
|
+
className: (0, _classnames.default)(["".concat(blockClass, "__tag-container"), multiline && "".concat(blockClass, "__tag-container--multiline")]),
|
266
271
|
ref: displayedArea
|
267
272
|
}, displayedTags)), (allTagsModalTarget ? _reactDom.createPortal : function (children) {
|
268
273
|
return children;
|
@@ -342,6 +347,11 @@ TagSet.propTypes = {
|
|
342
347
|
*/
|
343
348
|
maxVisible: _propTypes.default.number,
|
344
349
|
|
350
|
+
/**
|
351
|
+
* display tags in multiple lines
|
352
|
+
*/
|
353
|
+
multiline: _propTypes.default.bool,
|
354
|
+
|
345
355
|
/**
|
346
356
|
* overflowAlign from the standard tooltip. Default center.
|
347
357
|
*/
|