qbs-react-grid 2.2.6 → 2.2.11
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/dist/css/qbs-react-grid.css +1 -1
- package/dist/css/qbs-react-grid.min.css +1 -1
- package/dist/css/qbs-react-grid.min.css.map +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/es/less/qbs-table.less +89 -6
- package/es/qbsTable/CustomTableCell.js +4 -2
- package/es/qbsTable/QbsTable.js +52 -6
- package/es/qbsTable/TableCardList.js +39 -5
- package/es/qbsTable/Toolbar.js +96 -21
- package/es/qbsTable/commontypes.d.ts +18 -0
- package/es/qbsTable/labels.d.ts +25 -0
- package/es/qbsTable/labels.js +32 -0
- package/es/qbsTable/utilities/ColumShowHide.d.ts +3 -0
- package/es/qbsTable/utilities/ColumShowHide.js +63 -35
- package/es/qbsTable/utilities/ToolTip.js +2 -1
- package/es/qbsTable/utilities/VerticalDropDownMenu.js +28 -7
- package/es/qbsTable/utilities/columnToggleCoordinator.d.ts +5 -0
- package/es/qbsTable/utilities/columnToggleCoordinator.js +9 -0
- package/es/qbsTable/utilities/icons.d.ts +3 -0
- package/es/qbsTable/utilities/icons.js +67 -3
- package/es/qbsTable/utilities/verticalMenuCoordinator.d.ts +5 -0
- package/es/qbsTable/utilities/verticalMenuCoordinator.js +9 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -2
- package/lib/less/qbs-table.less +89 -6
- package/lib/qbsTable/CustomTableCell.js +4 -2
- package/lib/qbsTable/QbsTable.js +52 -6
- package/lib/qbsTable/TableCardList.js +39 -5
- package/lib/qbsTable/Toolbar.js +94 -19
- package/lib/qbsTable/commontypes.d.ts +18 -0
- package/lib/qbsTable/labels.d.ts +25 -0
- package/lib/qbsTable/labels.js +40 -0
- package/lib/qbsTable/utilities/ColumShowHide.d.ts +3 -0
- package/lib/qbsTable/utilities/ColumShowHide.js +62 -34
- package/lib/qbsTable/utilities/ToolTip.js +2 -1
- package/lib/qbsTable/utilities/VerticalDropDownMenu.js +27 -6
- package/lib/qbsTable/utilities/columnToggleCoordinator.d.ts +5 -0
- package/lib/qbsTable/utilities/columnToggleCoordinator.js +15 -0
- package/lib/qbsTable/utilities/icons.d.ts +3 -0
- package/lib/qbsTable/utilities/icons.js +72 -5
- package/lib/qbsTable/utilities/verticalMenuCoordinator.d.ts +5 -0
- package/lib/qbsTable/utilities/verticalMenuCoordinator.js +15 -0
- package/package.json +1 -1
- package/src/index.ts +6 -0
- package/src/less/qbs-table.less +89 -6
- package/src/qbsTable/CustomTableCell.tsx +4 -2
- package/src/qbsTable/QbsTable.tsx +41 -4
- package/src/qbsTable/TableCardList.tsx +30 -3
- package/src/qbsTable/Toolbar.tsx +105 -26
- package/src/qbsTable/commontypes.ts +19 -0
- package/src/qbsTable/labels.ts +55 -0
- package/src/qbsTable/utilities/ColumShowHide.tsx +114 -77
- package/src/qbsTable/utilities/ToolTip.tsx +1 -1
- package/src/qbsTable/utilities/VerticalDropDownMenu.tsx +36 -5
- package/src/qbsTable/utilities/columnToggleCoordinator.ts +14 -0
- package/src/qbsTable/utilities/icons.tsx +76 -3
- package/src/qbsTable/utilities/verticalMenuCoordinator.ts +14 -0
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports["default"] = void 0;
|
|
5
5
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _labels = require("../labels");
|
|
7
|
+
var _columnToggleCoordinator = require("./columnToggleCoordinator");
|
|
6
8
|
var _icons = require("./icons");
|
|
7
9
|
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); }
|
|
8
10
|
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; }
|
|
@@ -15,7 +17,12 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
15
17
|
handleResetColumns = _ref.handleResetColumns,
|
|
16
18
|
handleColumnToggle = _ref.handleColumnToggle,
|
|
17
19
|
_ref$tableHeight = _ref.tableHeight,
|
|
18
|
-
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight
|
|
20
|
+
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight,
|
|
21
|
+
labelsProp = _ref.labels,
|
|
22
|
+
_ref$rtl = _ref.rtl,
|
|
23
|
+
rtl = _ref$rtl === void 0 ? false : _ref$rtl;
|
|
24
|
+
var labels = (0, _labels.mergeQbsTableLabels)(labelsProp);
|
|
25
|
+
var toggleId = (0, _react.useId)();
|
|
19
26
|
var _useState = (0, _react.useState)(null),
|
|
20
27
|
draggedItem = _useState[0],
|
|
21
28
|
setDraggedItem = _useState[1];
|
|
@@ -23,6 +30,18 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
23
30
|
var _useState2 = (0, _react.useState)(),
|
|
24
31
|
dragOverPosition = _useState2[0],
|
|
25
32
|
setDragOverPosition = _useState2[1];
|
|
33
|
+
(0, _react.useEffect)(function () {
|
|
34
|
+
var handleCloseOthers = function handleCloseOthers(event) {
|
|
35
|
+
var detail = event.detail;
|
|
36
|
+
if ((detail === null || detail === void 0 ? void 0 : detail.exceptId) !== toggleId) {
|
|
37
|
+
setIsOpen(false);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
document.addEventListener(_columnToggleCoordinator.COLUMN_TOGGLE_CLOSE_OTHERS, handleCloseOthers);
|
|
41
|
+
return function () {
|
|
42
|
+
return document.removeEventListener(_columnToggleCoordinator.COLUMN_TOGGLE_CLOSE_OTHERS, handleCloseOthers);
|
|
43
|
+
};
|
|
44
|
+
}, [setIsOpen, toggleId]);
|
|
26
45
|
var handleToggle = (0, _react.useCallback)(function (columnName) {
|
|
27
46
|
onToggle(columnName);
|
|
28
47
|
}, [onToggle]);
|
|
@@ -45,18 +64,22 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
45
64
|
setDragOverPosition(null);
|
|
46
65
|
}
|
|
47
66
|
setDraggedItem(null);
|
|
48
|
-
}, [columns, draggedItem]);
|
|
67
|
+
}, [columns, draggedItem, onReorder]);
|
|
49
68
|
var handleClickOutside = (0, _react.useCallback)(function (event) {
|
|
50
|
-
|
|
51
|
-
|
|
69
|
+
var _popupRef$current;
|
|
70
|
+
var target = event.target;
|
|
71
|
+
if ((_popupRef$current = popupRef.current) !== null && _popupRef$current !== void 0 && _popupRef$current.contains(target)) {
|
|
72
|
+
return;
|
|
52
73
|
}
|
|
74
|
+
setIsOpen(false);
|
|
53
75
|
}, [setIsOpen]);
|
|
54
76
|
(0, _react.useEffect)(function () {
|
|
77
|
+
if (!isOpen) return;
|
|
55
78
|
document.addEventListener('mousedown', handleClickOutside);
|
|
56
79
|
return function () {
|
|
57
|
-
document.removeEventListener('mousedown', handleClickOutside);
|
|
80
|
+
return document.removeEventListener('mousedown', handleClickOutside);
|
|
58
81
|
};
|
|
59
|
-
}, [handleClickOutside]);
|
|
82
|
+
}, [handleClickOutside, isOpen]);
|
|
60
83
|
var renderFixedColumn = function renderFixedColumn(column, index) {
|
|
61
84
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
62
85
|
key: column.title,
|
|
@@ -73,9 +96,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
73
96
|
return handleToggle(column.title);
|
|
74
97
|
},
|
|
75
98
|
className: "qbs-table-checkbox-input",
|
|
76
|
-
id: column.title
|
|
99
|
+
id: toggleId + "-" + column.title
|
|
77
100
|
}), /*#__PURE__*/_react["default"].createElement("label", {
|
|
78
|
-
htmlFor: column.title
|
|
101
|
+
htmlFor: toggleId + "-" + column.title
|
|
79
102
|
}, /*#__PURE__*/_react["default"].createElement("svg", {
|
|
80
103
|
width: "8",
|
|
81
104
|
height: "6",
|
|
@@ -115,9 +138,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
115
138
|
return handleToggle(column.title);
|
|
116
139
|
},
|
|
117
140
|
className: "qbs-table-checkbox-input",
|
|
118
|
-
id: column.title
|
|
141
|
+
id: toggleId + "-" + column.title
|
|
119
142
|
}), /*#__PURE__*/_react["default"].createElement("label", {
|
|
120
|
-
htmlFor: column.title
|
|
143
|
+
htmlFor: toggleId + "-" + column.title
|
|
121
144
|
}, /*#__PURE__*/_react["default"].createElement("svg", {
|
|
122
145
|
width: "8",
|
|
123
146
|
height: "6",
|
|
@@ -148,80 +171,85 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
148
171
|
var _columns$filter;
|
|
149
172
|
return ((_columns$filter = columns.filter(function (item) {
|
|
150
173
|
return !item.isVisible;
|
|
151
|
-
})) === null || _columns$filter === void 0 ? void 0 : _columns$filter.length) > 0
|
|
174
|
+
})) === null || _columns$filter === void 0 ? void 0 : _columns$filter.length) > 0;
|
|
152
175
|
};
|
|
153
176
|
var handleColToggle = function handleColToggle() {
|
|
154
177
|
setIsOpen(false);
|
|
155
178
|
handleColumnToggle === null || handleColumnToggle === void 0 ? void 0 : handleColumnToggle(columns);
|
|
156
179
|
};
|
|
157
|
-
return /*#__PURE__*/_react["default"].createElement("div",
|
|
158
|
-
|
|
159
|
-
|
|
180
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
|
+
className: "qbs-table-settings-wrapper"
|
|
182
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
183
|
+
type: "button",
|
|
184
|
+
onClick: function onClick(event) {
|
|
185
|
+
event.stopPropagation();
|
|
186
|
+
if (isOpen) {
|
|
187
|
+
setIsOpen(false);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
(0, _columnToggleCoordinator.closeOtherColumnToggles)(toggleId);
|
|
191
|
+
setIsOpen(true);
|
|
160
192
|
}
|
|
161
|
-
}, /*#__PURE__*/_react["default"].createElement(_icons.SettingsIcon, null)), isOpen && /*#__PURE__*/_react["default"].createElement("div",
|
|
162
|
-
className: "qbs-table-column-popup",
|
|
193
|
+
}, /*#__PURE__*/_react["default"].createElement(_icons.SettingsIcon, null)), isOpen && /*#__PURE__*/_react["default"].createElement("div", {
|
|
194
|
+
className: "qbs-table-column-popup" + (rtl ? ' qbs-table-column-popup--rtl' : ''),
|
|
163
195
|
style: {
|
|
164
196
|
maxHeight: tableHeight - 40
|
|
165
197
|
},
|
|
166
|
-
ref: popupRef
|
|
198
|
+
ref: popupRef,
|
|
199
|
+
dir: rtl ? 'rtl' : 'ltr'
|
|
167
200
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
168
201
|
className: "qbs-table-popup-container"
|
|
169
202
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
170
203
|
className: "qbs-table-popup-item"
|
|
171
204
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
172
205
|
className: "qbs-table-popup-label"
|
|
173
|
-
},
|
|
206
|
+
}, labels.fixedColumns), /*#__PURE__*/_react["default"].createElement("div", {
|
|
174
207
|
className: "qbs-table-columns-container"
|
|
175
208
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
176
209
|
className: "qbs-table-column"
|
|
177
210
|
}, columns.map(function (column, index) {
|
|
178
|
-
return column.fixed ? renderFixedColumn(column, index) :
|
|
211
|
+
return column.fixed ? renderFixedColumn(column, index) : null;
|
|
179
212
|
})))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
180
213
|
className: "qbs-table-divider"
|
|
181
214
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
182
215
|
className: "qbs-table-popup-item"
|
|
183
216
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
184
217
|
className: "qbs-table-popup-label"
|
|
185
|
-
},
|
|
218
|
+
}, labels.visibleColumns), /*#__PURE__*/_react["default"].createElement("div", {
|
|
186
219
|
className: "qbs-table-columns-container"
|
|
187
220
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
188
221
|
className: "qbs-table-column"
|
|
189
222
|
}, columns.map(function (column, index) {
|
|
190
|
-
return column.isVisible && !column.fixed ? renderColumn(column, index) :
|
|
223
|
+
return column.isVisible && !column.fixed ? renderColumn(column, index) : null;
|
|
191
224
|
})))), handleAvailableColumns() && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
192
225
|
className: "qbs-table-divider"
|
|
193
226
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
194
227
|
className: "qbs-table-popup-item"
|
|
195
228
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
229
|
className: "qbs-table-popup-label"
|
|
197
|
-
},
|
|
230
|
+
}, labels.availableColumns), /*#__PURE__*/_react["default"].createElement("div", {
|
|
198
231
|
className: "qbs-table-columns-container"
|
|
199
232
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
200
233
|
className: "qbs-table-column"
|
|
201
234
|
}, columns.map(function (column, index) {
|
|
202
|
-
return !column.isVisible && !column.fixed ? renderFixedColumn(column, index) :
|
|
235
|
+
return !column.isVisible && !column.fixed ? renderFixedColumn(column, index) : null;
|
|
203
236
|
})))))), handleResetColumns && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
204
237
|
className: "qbs-table-divider"
|
|
205
238
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
206
|
-
className: "qbs-table-popup-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
flexDirection: 'row',
|
|
210
|
-
justifyContent: 'space-between'
|
|
211
|
-
}
|
|
212
|
-
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
239
|
+
className: "qbs-table-popup-footer"
|
|
240
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
241
|
+
type: "button",
|
|
213
242
|
className: "qbs-table-reset-link",
|
|
214
|
-
href: "#",
|
|
215
243
|
onClick: function onClick() {
|
|
216
244
|
return handleResetColumns === null || handleResetColumns === void 0 ? void 0 : handleResetColumns();
|
|
217
245
|
}
|
|
218
|
-
},
|
|
246
|
+
}, labels.resetToDefault), /*#__PURE__*/_react["default"].createElement("button", {
|
|
247
|
+
type: "button",
|
|
219
248
|
className: "qbs-table-reset-link",
|
|
220
|
-
href: "#",
|
|
221
249
|
onClick: function onClick() {
|
|
222
250
|
return handleColToggle();
|
|
223
251
|
}
|
|
224
|
-
},
|
|
252
|
+
}, labels.save)))));
|
|
225
253
|
};
|
|
226
254
|
var _default = ColumnToggle;
|
|
227
255
|
exports["default"] = _default;
|
|
@@ -41,7 +41,8 @@ var TooltipComponent = function TooltipComponent(_ref) {
|
|
|
41
41
|
}
|
|
42
42
|
}, children), /*#__PURE__*/_react["default"].createElement("span", {
|
|
43
43
|
ref: dropRef,
|
|
44
|
-
className:
|
|
44
|
+
className: "tooltiptext",
|
|
45
|
+
dir: "auto"
|
|
45
46
|
}, title));
|
|
46
47
|
};
|
|
47
48
|
var _default = TooltipComponent;
|
|
@@ -7,6 +7,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
7
7
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
8
8
|
var _icons = require("./icons");
|
|
9
9
|
var _ToolTip = _interopRequireDefault(require("./ToolTip"));
|
|
10
|
+
var _verticalMenuCoordinator = require("./verticalMenuCoordinator");
|
|
10
11
|
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); }
|
|
11
12
|
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; }
|
|
12
13
|
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -28,8 +29,21 @@ var VerticalMenuDropdown = function VerticalMenuDropdown(_ref) {
|
|
|
28
29
|
}),
|
|
29
30
|
position = _useState2[0],
|
|
30
31
|
setPosition = _useState2[1];
|
|
32
|
+
var menuId = (0, _react.useId)();
|
|
31
33
|
var menuButtonRef = (0, _react.useRef)(null);
|
|
32
34
|
var menuRef = (0, _react.useRef)(null);
|
|
35
|
+
(0, _react.useEffect)(function () {
|
|
36
|
+
var handleCloseOthers = function handleCloseOthers(event) {
|
|
37
|
+
var detail = event.detail;
|
|
38
|
+
if ((detail === null || detail === void 0 ? void 0 : detail.exceptId) !== menuId) {
|
|
39
|
+
setOpenMenu(false);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
document.addEventListener(_verticalMenuCoordinator.VERTICAL_MENU_CLOSE_OTHERS, handleCloseOthers);
|
|
43
|
+
return function () {
|
|
44
|
+
return document.removeEventListener(_verticalMenuCoordinator.VERTICAL_MENU_CLOSE_OTHERS, handleCloseOthers);
|
|
45
|
+
};
|
|
46
|
+
}, [menuId]);
|
|
33
47
|
var updateMenuPosition = function updateMenuPosition() {
|
|
34
48
|
var _actionDropDown$filte;
|
|
35
49
|
if (!menuButtonRef.current) return;
|
|
@@ -44,7 +58,11 @@ var VerticalMenuDropdown = function VerticalMenuDropdown(_ref) {
|
|
|
44
58
|
var menuHeight = visibleItems.length * 40;
|
|
45
59
|
var spaceBelow = window.innerHeight - rect.bottom;
|
|
46
60
|
var openBelow = spaceBelow >= menuHeight + menuGap;
|
|
47
|
-
var
|
|
61
|
+
var isRtl = (document.documentElement.getAttribute('dir') || document.body.getAttribute('dir') || getComputedStyle(document.documentElement).direction) === 'rtl';
|
|
62
|
+
var left = isRtl ? rect.left : rect.left - menuWidth;
|
|
63
|
+
if (!isRtl && left < viewportPadding) {
|
|
64
|
+
left = rect.left;
|
|
65
|
+
}
|
|
48
66
|
if (left + menuWidth > window.innerWidth - viewportPadding) {
|
|
49
67
|
left = Math.max(viewportPadding, rect.right - menuWidth);
|
|
50
68
|
}
|
|
@@ -158,13 +176,16 @@ var VerticalMenuDropdown = function VerticalMenuDropdown(_ref) {
|
|
|
158
176
|
className: "inline-block vertical-menu-dropdown-wrapper"
|
|
159
177
|
}, visibleCount > 0 && /*#__PURE__*/_react["default"].createElement("button", {
|
|
160
178
|
type: "button",
|
|
161
|
-
className: "vertical-menu-trigger-button
|
|
179
|
+
className: "vertical-menu-trigger-button",
|
|
162
180
|
onClick: function onClick(event) {
|
|
163
181
|
event.stopPropagation();
|
|
164
|
-
if (
|
|
165
|
-
|
|
166
|
-
return
|
|
167
|
-
}
|
|
182
|
+
if (openMenu) {
|
|
183
|
+
setOpenMenu(false);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
(0, _verticalMenuCoordinator.closeOtherVerticalMenus)(menuId);
|
|
187
|
+
updateMenuPosition();
|
|
188
|
+
setOpenMenu(true);
|
|
168
189
|
},
|
|
169
190
|
ref: menuButtonRef
|
|
170
191
|
}, /*#__PURE__*/_react["default"].createElement(_icons.ThreeDotIcon, null))), openMenu && portalTarget && /*#__PURE__*/_reactDom["default"].createPortal(dropdownContent, portalTarget));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.closeOtherColumnToggles = exports.COLUMN_TOGGLE_CLOSE_OTHERS = void 0;
|
|
5
|
+
var COLUMN_TOGGLE_CLOSE_OTHERS = 'qbs-column-toggle-close-others';
|
|
6
|
+
exports.COLUMN_TOGGLE_CLOSE_OTHERS = COLUMN_TOGGLE_CLOSE_OTHERS;
|
|
7
|
+
var closeOtherColumnToggles = function closeOtherColumnToggles(exceptId) {
|
|
8
|
+
if (typeof document === 'undefined') return;
|
|
9
|
+
document.dispatchEvent(new CustomEvent(COLUMN_TOGGLE_CLOSE_OTHERS, {
|
|
10
|
+
detail: {
|
|
11
|
+
exceptId: exceptId
|
|
12
|
+
}
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
exports.closeOtherColumnToggles = closeOtherColumnToggles;
|
|
@@ -6,3 +6,6 @@ export declare const TableIcon: React.FC<any>;
|
|
|
6
6
|
export declare const CardIcon: React.FC<any>;
|
|
7
7
|
export declare const CardView: React.FC<any>;
|
|
8
8
|
export declare const TableView: React.FC<any>;
|
|
9
|
+
export declare const ExpandIcon: React.FC<any>;
|
|
10
|
+
export declare const ContentView: React.FC<any>;
|
|
11
|
+
export declare const DefaultView: React.FC<any>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.ThreeDotIcon = exports.TableView = exports.TableIcon = exports.SettingsIcon = exports.CardView = exports.CardIcon = exports.ArrowUpIcon = void 0;
|
|
5
|
+
exports.ThreeDotIcon = exports.TableView = exports.TableIcon = exports.SettingsIcon = exports.ExpandIcon = exports.DefaultView = exports.ContentView = exports.CardView = exports.CardIcon = exports.ArrowUpIcon = void 0;
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var ThreeDotIcon = function ThreeDotIcon() {
|
|
8
8
|
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
@@ -13,7 +13,7 @@ var ThreeDotIcon = function ThreeDotIcon() {
|
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg"
|
|
14
14
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
15
15
|
d: "M2 2.16665L2 2.17498M2 7.99998L2 8.00831M2 13.8333L2 13.8416M2 2.99998C1.53976 2.99998 1.16667 2.62688 1.16667 2.16665C1.16667 1.70641 1.53976 1.33331 2 1.33331C2.46024 1.33331 2.83333 1.70641 2.83333 2.16665C2.83333 2.62688 2.46024 2.99998 2 2.99998ZM2 8.83331C1.53976 8.83331 1.16667 8.46022 1.16667 7.99998C1.16667 7.53974 1.53976 7.16665 2 7.16665C2.46024 7.16665 2.83333 7.53974 2.83333 7.99998C2.83333 8.46022 2.46024 8.83331 2 8.83331ZM2 14.6666C1.53976 14.6666 1.16666 14.2935 1.16666 13.8333C1.16666 13.3731 1.53976 13 2 13C2.46024 13 2.83333 13.3731 2.83333 13.8333C2.83333 14.2935 2.46024 14.6666 2 14.6666Z",
|
|
16
|
-
stroke: "
|
|
16
|
+
stroke: "currentColor",
|
|
17
17
|
strokeWidth: "1.5",
|
|
18
18
|
strokeLinecap: "round",
|
|
19
19
|
strokeLinejoin: "round"
|
|
@@ -31,13 +31,13 @@ var SettingsIcon = function SettingsIcon() {
|
|
|
31
31
|
fillRule: "evenodd",
|
|
32
32
|
clipRule: "evenodd",
|
|
33
33
|
d: "M10 12.5C8.61929 12.5 7.5 11.3807 7.5 10C7.5 8.61929 8.61929 7.5 10 7.5C11.3807 7.5 12.5 8.61929 12.5 10C12.5 11.3807 11.3807 12.5 10 12.5Z",
|
|
34
|
-
stroke: "
|
|
34
|
+
stroke: "currentColor",
|
|
35
35
|
strokeWidth: "1.5",
|
|
36
36
|
strokeLinecap: "round",
|
|
37
37
|
strokeLinejoin: "round"
|
|
38
38
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
39
39
|
d: "M1.66797 9.26718C1.66797 8.40052 2.3763 7.68385 3.2513 7.68385C4.75964 7.68385 5.3763 6.61718 4.61797 5.30885C4.18464 4.55885 4.44297 3.58385 5.2013 3.15052L6.64297 2.32552C7.3013 1.93385 8.1513 2.16718 8.54297 2.82552L8.63463 2.98385C9.38463 4.29218 10.618 4.29218 11.3763 2.98385L11.468 2.82552C11.8596 2.16718 12.7096 1.93385 13.368 2.32552L14.8096 3.15052C15.568 3.58385 15.8263 4.55885 15.393 5.30885C14.6346 6.61718 15.2513 7.68385 16.7596 7.68385C17.6263 7.68385 18.343 8.39218 18.343 9.26718V10.7338C18.343 11.6005 17.6346 12.3172 16.7596 12.3172C15.2513 12.3172 14.6346 13.3838 15.393 14.6922C15.8263 15.4505 15.568 16.4172 14.8096 16.8505L13.368 17.6755C12.7096 18.0672 11.8596 17.8339 11.468 17.1755L11.3763 17.0172C10.6263 15.7089 9.39297 15.7089 8.63463 17.0172L8.54297 17.1755C8.1513 17.8339 7.3013 18.0672 6.64297 17.6755L5.2013 16.8505C4.44297 16.4172 4.18464 15.4422 4.61797 14.6922C5.3763 13.3838 4.75964 12.3172 3.2513 12.3172C2.3763 12.3172 1.66797 11.6005 1.66797 10.7338V9.26718Z",
|
|
40
|
-
stroke: "
|
|
40
|
+
stroke: "currentColor",
|
|
41
41
|
strokeWidth: "1.5",
|
|
42
42
|
strokeLinecap: "round",
|
|
43
43
|
strokeLinejoin: "round"
|
|
@@ -137,4 +137,71 @@ var TableView = function TableView(_ref5) {
|
|
|
137
137
|
strokeWidth: "1.5"
|
|
138
138
|
}));
|
|
139
139
|
};
|
|
140
|
-
exports.TableView = TableView;
|
|
140
|
+
exports.TableView = TableView;
|
|
141
|
+
var ExpandIcon = function ExpandIcon(_ref6) {
|
|
142
|
+
var className = _ref6.className;
|
|
143
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
144
|
+
width: "16",
|
|
145
|
+
height: "16",
|
|
146
|
+
className: className,
|
|
147
|
+
viewBox: "0 0 16 16",
|
|
148
|
+
fill: "none",
|
|
149
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
151
|
+
d: "M2.66797 5.33073V2.66406M2.66797 2.66406H5.33464M2.66797 2.66406L6.0013 5.9974M13.3346 5.33073V2.66406M13.3346 2.66406H10.668M13.3346 2.66406L10.0013 5.9974M2.66797 10.6641V13.3307M2.66797 13.3307H5.33464M2.66797 13.3307L6.0013 9.9974M13.3346 13.3307L10.0013 9.9974M13.3346 13.3307V10.6641M13.3346 13.3307H10.668",
|
|
152
|
+
stroke: "currentColor",
|
|
153
|
+
strokeWidth: "1.5",
|
|
154
|
+
strokeLinecap: "round",
|
|
155
|
+
strokeLinejoin: "round"
|
|
156
|
+
}));
|
|
157
|
+
};
|
|
158
|
+
exports.ExpandIcon = ExpandIcon;
|
|
159
|
+
var ContentView = function ContentView(_ref7) {
|
|
160
|
+
var className = _ref7.className;
|
|
161
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
162
|
+
width: "16",
|
|
163
|
+
height: "17",
|
|
164
|
+
className: className,
|
|
165
|
+
viewBox: "0 0 16 17",
|
|
166
|
+
fill: "none",
|
|
167
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
168
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
169
|
+
d: "M4.00344 9.48438C3.24485 9.48438 2.94141 9.80804 2.94141 10.6122V12.6553C2.94141 13.4594 3.24485 13.7831 4.00344 13.7831H11.994C12.7526 13.7831 13.056 13.4594 13.056 12.6553V10.6122C13.056 9.80804 12.7526 9.48438 11.994 9.48438H4.00344Z",
|
|
170
|
+
stroke: "currentColor",
|
|
171
|
+
strokeLinecap: "round",
|
|
172
|
+
strokeLinejoin: "round"
|
|
173
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
174
|
+
d: "M4.00344 3.66406C3.24485 3.66406 2.94141 3.98773 2.94141 4.79184V6.835C2.94141 7.63911 3.24485 7.96278 4.00344 7.96278H11.994C12.7526 7.96278 13.056 7.63911 13.056 6.835V4.79184C13.056 3.98773 12.7526 3.66406 11.994 3.66406H4.00344Z",
|
|
175
|
+
stroke: "currentColor",
|
|
176
|
+
strokeLinecap: "round",
|
|
177
|
+
strokeLinejoin: "round"
|
|
178
|
+
}));
|
|
179
|
+
};
|
|
180
|
+
exports.ContentView = ContentView;
|
|
181
|
+
var DefaultView = function DefaultView(_ref8) {
|
|
182
|
+
var className = _ref8.className;
|
|
183
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
184
|
+
width: "16",
|
|
185
|
+
height: "17",
|
|
186
|
+
className: className,
|
|
187
|
+
viewBox: "0 0 16 17",
|
|
188
|
+
fill: "none",
|
|
189
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
190
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
191
|
+
fillRule: "evenodd",
|
|
192
|
+
clipRule: "evenodd",
|
|
193
|
+
d: "M2.39844 4.72969C2.39844 4.28786 2.75661 3.92969 3.19844 3.92969H12.7984C13.2403 3.92969 13.5984 4.28786 13.5984 4.72969C13.5984 5.17152 13.2403 5.52969 12.7984 5.52969H3.19844C2.75661 5.52969 2.39844 5.17152 2.39844 4.72969Z",
|
|
194
|
+
fill: "currentColor"
|
|
195
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
196
|
+
fillRule: "evenodd",
|
|
197
|
+
clipRule: "evenodd",
|
|
198
|
+
d: "M2.39844 8.72969C2.39844 8.28786 2.75661 7.92969 3.19844 7.92969H12.7984C13.2403 7.92969 13.5984 8.28786 13.5984 8.72969C13.5984 9.17152 13.2403 9.52969 12.7984 9.52969H3.19844C2.75661 9.52969 2.39844 9.17152 2.39844 8.72969Z",
|
|
199
|
+
fill: "currentColor"
|
|
200
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
201
|
+
fillRule: "evenodd",
|
|
202
|
+
clipRule: "evenodd",
|
|
203
|
+
d: "M2.39844 12.7297C2.39844 12.2879 2.75661 11.9297 3.19844 11.9297H12.7984C13.2403 11.9297 13.5984 12.2879 13.5984 12.7297C13.5984 13.1715 13.2403 13.5297 12.7984 13.5297H3.19844C2.75661 13.5297 2.39844 13.1715 2.39844 12.7297Z",
|
|
204
|
+
fill: "currentColor"
|
|
205
|
+
}));
|
|
206
|
+
};
|
|
207
|
+
exports.DefaultView = DefaultView;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.closeOtherVerticalMenus = exports.VERTICAL_MENU_CLOSE_OTHERS = void 0;
|
|
5
|
+
var VERTICAL_MENU_CLOSE_OTHERS = 'qbs-vertical-menu-close-others';
|
|
6
|
+
exports.VERTICAL_MENU_CLOSE_OTHERS = VERTICAL_MENU_CLOSE_OTHERS;
|
|
7
|
+
var closeOtherVerticalMenus = function closeOtherVerticalMenus(exceptId) {
|
|
8
|
+
if (typeof document === 'undefined') return;
|
|
9
|
+
document.dispatchEvent(new CustomEvent(VERTICAL_MENU_CLOSE_OTHERS, {
|
|
10
|
+
detail: {
|
|
11
|
+
exceptId: exceptId
|
|
12
|
+
}
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
exports.closeOtherVerticalMenus = closeOtherVerticalMenus;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,6 +12,12 @@ export type { CellProps } from './Cell';
|
|
|
12
12
|
export type { HeaderCellProps } from './HeaderCell';
|
|
13
13
|
export type { ColumnGroupProps } from './ColumnGroup';
|
|
14
14
|
export type { QbsTableProps } from './qbsTable/commontypes';
|
|
15
|
+
export type { QbsTableLabels } from './qbsTable/labels';
|
|
16
|
+
export {
|
|
17
|
+
mergeQbsTableLabels,
|
|
18
|
+
defaultQbsTableLabels,
|
|
19
|
+
formatSelectedItems,
|
|
20
|
+
} from './qbsTable/labels';
|
|
15
21
|
export type {
|
|
16
22
|
StandardProps,
|
|
17
23
|
SortType,
|
package/src/less/qbs-table.less
CHANGED
|
@@ -376,20 +376,54 @@
|
|
|
376
376
|
gap: 10px;
|
|
377
377
|
align-items: center;
|
|
378
378
|
}
|
|
379
|
+
.qbs-table-settings-wrapper {
|
|
380
|
+
position: relative;
|
|
381
|
+
display: inline-flex;
|
|
382
|
+
align-items: center;
|
|
383
|
+
justify-content: center;
|
|
384
|
+
width: 100%;
|
|
385
|
+
|
|
386
|
+
> button {
|
|
387
|
+
display: inline-flex;
|
|
388
|
+
align-items: center;
|
|
389
|
+
justify-content: center;
|
|
390
|
+
padding: 0;
|
|
391
|
+
margin: 0;
|
|
392
|
+
border: none;
|
|
393
|
+
background: transparent;
|
|
394
|
+
cursor: pointer;
|
|
395
|
+
color: #585858;
|
|
396
|
+
|
|
397
|
+
svg {
|
|
398
|
+
width: 20px;
|
|
399
|
+
height: 20px;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
&:hover,
|
|
403
|
+
&:focus {
|
|
404
|
+
background: transparent;
|
|
405
|
+
outline: none;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
|
|
379
410
|
.qbs-table-column-popup {
|
|
380
|
-
position:
|
|
411
|
+
position: absolute;
|
|
412
|
+
top: calc(100% + 4px);
|
|
413
|
+
inset-inline-end: 0;
|
|
414
|
+
inset-inline-start: auto;
|
|
381
415
|
padding: 8px;
|
|
382
|
-
z-index:
|
|
383
|
-
right: 10px;
|
|
416
|
+
z-index: 10060;
|
|
384
417
|
border-radius: 8px;
|
|
385
418
|
background: #fff;
|
|
386
419
|
box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
|
|
387
|
-
min-width:
|
|
420
|
+
min-width: 300px;
|
|
421
|
+
width: max-content;
|
|
422
|
+
max-width: min(400px, calc(100vw - 16px));
|
|
388
423
|
gap: 4px;
|
|
389
424
|
display: flex;
|
|
390
425
|
flex-direction: column;
|
|
391
426
|
max-height: 500px;
|
|
392
|
-
// overflow-y: auto;
|
|
393
427
|
}
|
|
394
428
|
.qbs-table-popup-container {
|
|
395
429
|
max-width: 400px;
|
|
@@ -411,6 +445,34 @@
|
|
|
411
445
|
flex-direction: row-reverse;
|
|
412
446
|
}
|
|
413
447
|
|
|
448
|
+
.qbs-table-popup-footer {
|
|
449
|
+
display: flex;
|
|
450
|
+
flex-direction: row;
|
|
451
|
+
justify-content: space-between;
|
|
452
|
+
align-items: center;
|
|
453
|
+
gap: 8px;
|
|
454
|
+
padding: 4px 0 0;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.qbs-table-column-popup--rtl {
|
|
458
|
+
text-align: right;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.qbs-table-column-popup--rtl .qbs-table-popup-footer {
|
|
462
|
+
flex-direction: row-reverse;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.qbs-table-reset-link {
|
|
466
|
+
background: none;
|
|
467
|
+
border: none;
|
|
468
|
+
padding: 0;
|
|
469
|
+
cursor: pointer;
|
|
470
|
+
font-size: 13px;
|
|
471
|
+
font-weight: 500;
|
|
472
|
+
color: inherit;
|
|
473
|
+
text-decoration: none;
|
|
474
|
+
}
|
|
475
|
+
|
|
414
476
|
.qbs-table-columns-label {
|
|
415
477
|
display: flex;
|
|
416
478
|
gap: 10px;
|
|
@@ -746,11 +808,32 @@
|
|
|
746
808
|
|
|
747
809
|
.qbs-table-top-icons {
|
|
748
810
|
color: #999696;
|
|
811
|
+
display: inline-flex;
|
|
812
|
+
align-items: center;
|
|
813
|
+
gap: 8px;
|
|
749
814
|
|
|
750
|
-
.active{
|
|
815
|
+
.active {
|
|
751
816
|
color: #EC6A17;
|
|
752
817
|
}
|
|
753
818
|
}
|
|
819
|
+
|
|
820
|
+
.qbs-row-switch-container {
|
|
821
|
+
display: inline-flex;
|
|
822
|
+
align-items: center;
|
|
823
|
+
gap: 8px;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
.qbs-table-view-btn {
|
|
827
|
+
display: inline-flex;
|
|
828
|
+
align-items: center;
|
|
829
|
+
justify-content: center;
|
|
830
|
+
padding: 0;
|
|
831
|
+
margin: 0;
|
|
832
|
+
border: none;
|
|
833
|
+
background: transparent;
|
|
834
|
+
cursor: pointer;
|
|
835
|
+
color: inherit;
|
|
836
|
+
}
|
|
754
837
|
.qbs-card-empty-wrapper {
|
|
755
838
|
display: flex;
|
|
756
839
|
justify-content: center;
|
|
@@ -74,6 +74,8 @@ export const ExpandCell: React.FC<any> = React.memo(
|
|
|
74
74
|
({ rowData, dataKey, expandedRowKeys, onChange, ...props }) => (
|
|
75
75
|
<Cell {...props}>
|
|
76
76
|
<button
|
|
77
|
+
type="button"
|
|
78
|
+
className="qbs-table-expand-btn"
|
|
77
79
|
onClick={() => {
|
|
78
80
|
onChange(rowData);
|
|
79
81
|
}}
|
|
@@ -90,7 +92,7 @@ export const ExpandCell: React.FC<any> = React.memo(
|
|
|
90
92
|
fillRule="evenodd"
|
|
91
93
|
clipRule="evenodd"
|
|
92
94
|
d="M0.792893 0.292893C1.18342 -0.097631 1.81658 -0.097631 2.20711 0.292893L5.5 3.58579L8.79289 0.292893C9.18342 -0.0976311 9.81658 -0.0976311 10.2071 0.292893C10.5976 0.683417 10.5976 1.31658 10.2071 1.70711L6.20711 5.70711C5.81658 6.09763 5.18342 6.09763 4.79289 5.70711L0.792893 1.70711C0.402369 1.31658 0.402369 0.683417 0.792893 0.292893Z"
|
|
93
|
-
fill="
|
|
95
|
+
fill="currentColor"
|
|
94
96
|
/>
|
|
95
97
|
</svg>
|
|
96
98
|
) : (
|
|
@@ -105,7 +107,7 @@ export const ExpandCell: React.FC<any> = React.memo(
|
|
|
105
107
|
fillRule="evenodd"
|
|
106
108
|
clipRule="evenodd"
|
|
107
109
|
d="M0.792894 9.70711C0.402369 9.31658 0.402369 8.68342 0.792894 8.29289L4.08579 5L0.792893 1.70711C0.402369 1.31658 0.402369 0.683418 0.792893 0.292894C1.18342 -0.0976312 1.81658 -0.0976312 2.20711 0.292894L6.20711 4.29289C6.59763 4.68342 6.59763 5.31658 6.20711 5.70711L2.20711 9.70711C1.81658 10.0976 1.18342 10.0976 0.792894 9.70711Z"
|
|
108
|
-
fill="
|
|
110
|
+
fill="currentColor"
|
|
109
111
|
/>
|
|
110
112
|
</svg>
|
|
111
113
|
)}
|