qbs-react-grid 2.2.17 → 2.2.19
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/Cell.js +2 -1
- package/es/Pagination.d.ts +3 -0
- package/es/Pagination.js +8 -3
- package/es/Table.d.ts +3 -0
- package/es/Table.js +18 -12
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/less/pagination.less +9 -9
- package/es/qbsTable/QbsTable.js +110 -73
- package/es/qbsTable/TableCardList.js +2 -0
- package/es/qbsTable/Toolbar.js +6 -3
- package/es/qbsTable/commontypes.d.ts +21 -12
- package/es/qbsTable/labels.d.ts +6 -2
- package/es/qbsTable/labels.js +10 -1
- package/es/qbsTable/utilities/CardComponent.d.ts +2 -0
- package/es/qbsTable/utilities/CardComponent.js +7 -3
- package/es/qbsTable/utilities/CardMenuDropdown.d.ts +2 -0
- package/es/qbsTable/utilities/CardMenuDropdown.js +7 -7
- package/es/qbsTable/utilities/SearchInput.d.ts +1 -0
- package/es/qbsTable/utilities/SearchInput.js +3 -1
- package/es/qbsTable/utilities/VerticalDropDownMenu.js +36 -23
- package/es/qbsTable/utilities/empty.js +1 -1
- package/es/qbsTable/utilities/tablecalc.d.ts +1 -1
- package/es/qbsTable/utilities/tablecalc.js +7 -2
- package/es/utils/useCellDescriptor.js +0 -1
- package/es/utils/useScrollListener.d.ts +1 -0
- package/es/utils/useScrollListener.js +5 -3
- package/lib/Cell.js +2 -1
- package/lib/Pagination.d.ts +3 -0
- package/lib/Pagination.js +8 -3
- package/lib/Table.d.ts +3 -0
- package/lib/Table.js +18 -12
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -1
- package/lib/less/pagination.less +9 -9
- package/lib/qbsTable/QbsTable.js +110 -73
- package/lib/qbsTable/TableCardList.js +2 -0
- package/lib/qbsTable/Toolbar.js +6 -3
- package/lib/qbsTable/commontypes.d.ts +21 -12
- package/lib/qbsTable/labels.d.ts +6 -2
- package/lib/qbsTable/labels.js +13 -2
- package/lib/qbsTable/utilities/CardComponent.d.ts +2 -0
- package/lib/qbsTable/utilities/CardComponent.js +7 -3
- package/lib/qbsTable/utilities/CardMenuDropdown.d.ts +2 -0
- package/lib/qbsTable/utilities/CardMenuDropdown.js +6 -5
- package/lib/qbsTable/utilities/SearchInput.d.ts +1 -0
- package/lib/qbsTable/utilities/SearchInput.js +3 -1
- package/lib/qbsTable/utilities/VerticalDropDownMenu.js +36 -23
- package/lib/qbsTable/utilities/empty.js +1 -1
- package/lib/qbsTable/utilities/tablecalc.d.ts +1 -1
- package/lib/qbsTable/utilities/tablecalc.js +7 -2
- package/lib/utils/useCellDescriptor.js +0 -1
- package/lib/utils/useScrollListener.d.ts +1 -0
- package/lib/utils/useScrollListener.js +5 -3
- package/package.json +2 -2
- package/src/Cell.tsx +3 -1
- package/src/HeaderCell.tsx +0 -1
- package/src/Pagination.tsx +10 -3
- package/src/Table.tsx +23 -10
- package/src/customSelect.tsx +88 -88
- package/src/index.ts +2 -0
- package/src/less/pagination.less +9 -9
- package/src/qbsTable/QbsTable.tsx +84 -39
- package/src/qbsTable/TableCardList.tsx +2 -0
- package/src/qbsTable/Toolbar.tsx +4 -2
- package/src/qbsTable/commontypes.ts +21 -12
- package/src/qbsTable/labels.ts +9 -2
- package/src/qbsTable/utilities/CardComponent.tsx +7 -2
- package/src/qbsTable/utilities/CardMenuDropdown.tsx +11 -6
- package/src/qbsTable/utilities/SearchInput.tsx +3 -1
- package/src/qbsTable/utilities/VerticalDropDownMenu.tsx +42 -30
- package/src/qbsTable/utilities/empty.tsx +2 -2
- package/src/qbsTable/utilities/tablecalc.ts +8 -2
- package/src/utils/useCellDescriptor.ts +0 -1
- package/src/utils/useScrollListener.ts +13 -3
- package/src/utils/useTableRows.ts +1 -1
package/lib/Table.js
CHANGED
|
@@ -20,7 +20,7 @@ var _Row = _interopRequireDefault(require("./Row"));
|
|
|
20
20
|
var _Scrollbar = _interopRequireDefault(require("./Scrollbar"));
|
|
21
21
|
var _TableContext = _interopRequireDefault(require("./TableContext"));
|
|
22
22
|
var _utils = require("./utils");
|
|
23
|
-
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "
|
|
23
|
+
var _excluded = ["affixHeader", "children", "classPrefix", "className", "data", "defaultSortType", "width", "expandedRowKeys", "defaultExpandAllRows", "defaultExpandedRowKeys", "style", "id", "isTree", "hover", "bordered", "cellBordered", "wordWrap", "loading", "locale", "showHeader", "sortColumn", "rowHeight", "sortType", "headerHeight", "minHeight", "height", "autoHeight", "fillHeight", "rtl", "translate3d", "rowKey", "virtualized", "rowClassName", "rowExpandedHeight", "disabledScroll", "affixHorizontalScrollbar", "loadAnimation", "shouldUpdateScroll", "renderRow", "renderRowExpanded", "renderLoading", "renderEmpty", "onSortColumn", "onScroll", "renderTreeToggle", "onRowClick", "onRowContextMenu", "onExpandChange", "onTouchStart", "onTouchMove", "onTouchEnd", "tableBodyHeight", "columns", "tableBodyRef", "tableKey", "handleInfiniteScroll", "infiniteLoading", "wheelWrapperRef"],
|
|
24
24
|
_excluded2 = ["depth", "rowIndex"],
|
|
25
25
|
_excluded3 = ["cellHeight"];
|
|
26
26
|
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); }
|
|
@@ -77,10 +77,6 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
77
77
|
} : _props$locale,
|
|
78
78
|
_props$showHeader = props.showHeader,
|
|
79
79
|
showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
|
|
80
|
-
_props$pagination = props.pagination,
|
|
81
|
-
pagination = _props$pagination === void 0 ? true : _props$pagination,
|
|
82
|
-
_props$paginationProp = props.paginationProps,
|
|
83
|
-
paginationProps = _props$paginationProp === void 0 ? {} : _props$paginationProp,
|
|
84
80
|
sortColumn = props.sortColumn,
|
|
85
81
|
_props$rowHeight = props.rowHeight,
|
|
86
82
|
rowHeight = _props$rowHeight === void 0 ? _constants.ROW_HEIGHT : _props$rowHeight,
|
|
@@ -118,18 +114,19 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
118
114
|
onTouchStart = props.onTouchStart,
|
|
119
115
|
onTouchMove = props.onTouchMove,
|
|
120
116
|
onTouchEnd = props.onTouchEnd,
|
|
121
|
-
dataTheme = props.dataTheme,
|
|
122
117
|
tableBodyHeight = props.tableBodyHeight,
|
|
123
118
|
columns = props.columns,
|
|
124
119
|
tableBodyRef = props.tableBodyRef,
|
|
125
120
|
tableKey = props.tableKey,
|
|
121
|
+
handleInfiniteScroll = props.handleInfiniteScroll,
|
|
122
|
+
infiniteLoading = props.infiniteLoading,
|
|
123
|
+
wheelWrapperRef = props.wheelWrapperRef,
|
|
126
124
|
rest = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
|
|
127
125
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix, typeof classPrefix !== 'undefined'),
|
|
128
126
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
129
127
|
mergeCls = _useClassNames.merge,
|
|
130
128
|
prefix = _useClassNames.prefix;
|
|
131
129
|
var childTableRef = (0, _react.useRef)(null);
|
|
132
|
-
|
|
133
130
|
// Use `forceUpdate` to force the component to re-render after manipulating the DOM.
|
|
134
131
|
var _useReducer = (0, _react.useReducer)(function (x) {
|
|
135
132
|
return x + 1;
|
|
@@ -188,7 +185,6 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
188
185
|
var affixHeaderWrapperRef = (0, _react.useRef)(null);
|
|
189
186
|
var headerWrapperRef = (0, _react.useRef)(null);
|
|
190
187
|
// const tableBodyRef = useRef<HTMLDivElement>(null);
|
|
191
|
-
var wheelWrapperRef = (0, _react.useRef)(null);
|
|
192
188
|
var scrollbarXRef = (0, _react.useRef)(null);
|
|
193
189
|
var scrollbarYRef = (0, _react.useRef)(null);
|
|
194
190
|
var handleTableResizeChange = function handleTableResizeChange(_prevSize, event) {
|
|
@@ -300,7 +296,8 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
300
296
|
onScroll: onScroll,
|
|
301
297
|
onTouchStart: onTouchStart,
|
|
302
298
|
onTouchMove: onTouchMove,
|
|
303
|
-
onTouchEnd: onTouchEnd
|
|
299
|
+
onTouchEnd: onTouchEnd,
|
|
300
|
+
handleInfiniteScroll: handleInfiniteScroll
|
|
304
301
|
}),
|
|
305
302
|
isScrolling = _useScrollListener.isScrolling,
|
|
306
303
|
isChildFocused = _useScrollListener.isChildFocused,
|
|
@@ -624,7 +621,9 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
624
621
|
width: tableWidth.current
|
|
625
622
|
},
|
|
626
623
|
length: tableWidth.current,
|
|
627
|
-
onScroll:
|
|
624
|
+
onScroll: function onScroll(delta) {
|
|
625
|
+
onScrollHorizontal(delta);
|
|
626
|
+
},
|
|
628
627
|
scrollLength: contentWidth.current,
|
|
629
628
|
ref: scrollbarXRef
|
|
630
629
|
}));
|
|
@@ -788,7 +787,9 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
788
787
|
role: "rowgroup",
|
|
789
788
|
className: prefix('body-row-wrapper'),
|
|
790
789
|
style: bodyStyles,
|
|
791
|
-
onScroll:
|
|
790
|
+
onScroll: function onScroll(e) {
|
|
791
|
+
onScrollBody === null || onScrollBody === void 0 ? void 0 : onScrollBody(e); // existing handler
|
|
792
|
+
}
|
|
792
793
|
}, !loading && /*#__PURE__*/_react["default"].createElement("div", {
|
|
793
794
|
style: wheelStyles,
|
|
794
795
|
className: prefix('body-wheel-area'),
|
|
@@ -799,7 +800,12 @@ var Table = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
|
799
800
|
}) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/_react["default"].createElement(_Row["default"], {
|
|
800
801
|
style: bottomRowStyles,
|
|
801
802
|
className: "virtualized"
|
|
802
|
-
}) : null
|
|
803
|
+
}) : null, infiniteLoading && /*#__PURE__*/_react["default"].createElement("div", {
|
|
804
|
+
style: {
|
|
805
|
+
padding: 12,
|
|
806
|
+
textAlign: 'center'
|
|
807
|
+
}
|
|
808
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, "Loading more rows\u2026"))), /*#__PURE__*/_react["default"].createElement(_EmptyMessage["default"], {
|
|
803
809
|
locale: locale,
|
|
804
810
|
renderEmpty: renderEmpty,
|
|
805
811
|
addPrefix: prefix,
|
package/lib/index.d.ts
CHANGED
|
@@ -13,5 +13,5 @@ export type { HeaderCellProps } from './HeaderCell';
|
|
|
13
13
|
export type { ColumnGroupProps } from './ColumnGroup';
|
|
14
14
|
export type { QbsTableProps } from './qbsTable/commontypes';
|
|
15
15
|
export type { QbsTableLabels } from './qbsTable/labels';
|
|
16
|
-
export { mergeQbsTableLabels, defaultQbsTableLabels, formatSelectedItems, } from './qbsTable/labels';
|
|
16
|
+
export { mergeQbsTableLabels, mergeLabels, defaultQbsTableLabels, DEFAULT_QBS_TABLE_LABELS, formatSelectedItems, } from './qbsTable/labels';
|
|
17
17
|
export type { StandardProps, SortType, RowDataType, RowKeyType, TableSizeChangeEventName } from './@types/common';
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.mergeQbsTableLabels = exports.formatSelectedItems = exports.defaultQbsTableLabels = exports.Table = exports.QbsTable = exports.Pagination = exports.HeaderCell = exports.ColumnGroup = exports.Column = exports.Cell = void 0;
|
|
5
|
+
exports.mergeQbsTableLabels = exports.mergeLabels = exports.formatSelectedItems = exports.defaultQbsTableLabels = exports.Table = exports.QbsTable = exports.Pagination = exports.HeaderCell = exports.DEFAULT_QBS_TABLE_LABELS = exports.ColumnGroup = exports.Column = exports.Cell = void 0;
|
|
6
6
|
var _Table = _interopRequireDefault(require("./Table"));
|
|
7
7
|
exports.Table = _Table["default"];
|
|
8
8
|
var _Column = _interopRequireDefault(require("./Column"));
|
|
@@ -19,5 +19,7 @@ var _Pagination = _interopRequireDefault(require("./Pagination"));
|
|
|
19
19
|
exports.Pagination = _Pagination["default"];
|
|
20
20
|
var _labels = require("./qbsTable/labels");
|
|
21
21
|
exports.mergeQbsTableLabels = _labels.mergeQbsTableLabels;
|
|
22
|
+
exports.mergeLabels = _labels.mergeLabels;
|
|
22
23
|
exports.defaultQbsTableLabels = _labels.defaultQbsTableLabels;
|
|
24
|
+
exports.DEFAULT_QBS_TABLE_LABELS = _labels.DEFAULT_QBS_TABLE_LABELS;
|
|
23
25
|
exports.formatSelectedItems = _labels.formatSelectedItems;
|
package/lib/less/pagination.less
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
min-height: 40px;
|
|
6
6
|
align-items: center;
|
|
7
7
|
border-radius: 0 0 4px 4px;
|
|
8
|
-
border-top: 1px solid #d6d8dc;
|
|
9
|
-
background: #fff;
|
|
8
|
+
border-top: 1px solid var(--base-gray-border, #d6d8dc);
|
|
9
|
+
background: var(--table-bg, #fff);
|
|
10
10
|
&-header {
|
|
11
11
|
border-bottom: 1px solid #eee;
|
|
12
12
|
position: absolute;
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
font-weight: 500;
|
|
28
28
|
line-height: 20px;
|
|
29
29
|
border-radius: 6px;
|
|
30
|
-
border: 1px solid #d6d8dc;
|
|
31
|
-
background: #fff;
|
|
30
|
+
border: 1px solid var(--base-gray-border, #d6d8dc);
|
|
31
|
+
background: var(--gray-light-1, #fff);
|
|
32
32
|
}
|
|
33
33
|
.qbs-table-icon-container {
|
|
34
34
|
padding: 0;
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
font-style: normal;
|
|
110
110
|
font-weight: 500;
|
|
111
111
|
line-height: 20px;
|
|
112
|
-
color: #313131;
|
|
112
|
+
color: var(--gray-dark-3, #313131);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
.custom-select-trigger {
|
|
126
126
|
padding: 2px 8px;
|
|
127
127
|
cursor: pointer;
|
|
128
|
-
border: 1px solid #d6d8dc;
|
|
128
|
+
border: 1px solid var(--base-gray-border, #d6d8dc);
|
|
129
129
|
border-radius: 4px;
|
|
130
130
|
min-width: 65px;
|
|
131
131
|
position: relative;
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
list-style: none;
|
|
141
141
|
margin: 2px 0 0;
|
|
142
142
|
padding: 0;
|
|
143
|
-
background: #fff;
|
|
143
|
+
background: var(--gray-light-1, #fff);
|
|
144
144
|
border-radius: 8px;
|
|
145
145
|
box-shadow: 0 8px 20px 0 #00000026;
|
|
146
146
|
}
|
|
@@ -158,7 +158,7 @@ ul.custom-select-options.top {
|
|
|
158
158
|
|
|
159
159
|
.custom-select-option:hover,
|
|
160
160
|
.custom-select-option.selected {
|
|
161
|
-
background-color: #f0f0f0;
|
|
161
|
+
background-color: var(--table-row-hover-bg, #f0f0f0);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
.custom-select-trigger:before {
|
|
@@ -167,7 +167,7 @@ ul.custom-select-options.top {
|
|
|
167
167
|
right: 10px;
|
|
168
168
|
top: 6px;
|
|
169
169
|
font-weight: bold;
|
|
170
|
-
border: solid black;
|
|
170
|
+
border: solid var(--gray-dark-3, black);
|
|
171
171
|
border-width: 0 1px 1px 0;
|
|
172
172
|
display: inline-block;
|
|
173
173
|
padding: 3px;
|
package/lib/qbsTable/QbsTable.js
CHANGED
|
@@ -11,6 +11,7 @@ var _ColumnGroup = _interopRequireDefault(require("../ColumnGroup"));
|
|
|
11
11
|
var _HeaderCell = _interopRequireDefault(require("../HeaderCell"));
|
|
12
12
|
var _Pagination = _interopRequireDefault(require("../Pagination"));
|
|
13
13
|
var _Table = _interopRequireDefault(require("../Table"));
|
|
14
|
+
var _isRTL = _interopRequireDefault(require("../utils/isRTL"));
|
|
14
15
|
var _useResponsiveStore = _interopRequireDefault(require("../utils/useResponsiveStore"));
|
|
15
16
|
var _labels = require("./labels");
|
|
16
17
|
var _CustomTableCell = require("./CustomTableCell");
|
|
@@ -29,6 +30,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
29
30
|
|
|
30
31
|
var CHECKBOX_LINE_HEIGHT = '36px';
|
|
31
32
|
var COLUMN_WIDTH = 250;
|
|
33
|
+
var REFRESH_KEY = 0;
|
|
32
34
|
var QbsTable = function QbsTable(_ref) {
|
|
33
35
|
var _Object$keys;
|
|
34
36
|
var handleColumnSort = _ref.handleColumnSort,
|
|
@@ -59,7 +61,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
59
61
|
_ref$height = _ref.height,
|
|
60
62
|
height = _ref$height === void 0 ? 630 : _ref$height,
|
|
61
63
|
onExpandChange = _ref.onExpandChange,
|
|
62
|
-
|
|
64
|
+
propsWordWrap = _ref.wordWrap,
|
|
63
65
|
_ref$dataRowKey = _ref.dataRowKey,
|
|
64
66
|
dataRowKey = _ref$dataRowKey === void 0 ? 'id' : _ref$dataRowKey,
|
|
65
67
|
defaultExpandAllRows = _ref.defaultExpandAllRows,
|
|
@@ -71,6 +73,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
71
73
|
_ref$actionProps = _ref.actionProps,
|
|
72
74
|
actionProps = _ref$actionProps === void 0 ? [] : _ref$actionProps,
|
|
73
75
|
theme = _ref.theme,
|
|
76
|
+
rtlProp = _ref.rtl,
|
|
74
77
|
handleMenuActions = _ref.handleMenuActions,
|
|
75
78
|
onRowClick = _ref.onRowClick,
|
|
76
79
|
expandedRowKeys = _ref.expandedRowKeys,
|
|
@@ -114,10 +117,11 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
114
117
|
isCustomTableCardView = _ref$isCustomTableCar === void 0 ? false : _ref$isCustomTableCar,
|
|
115
118
|
handleTableCardView = _ref.handleTableCardView,
|
|
116
119
|
handleCustomCardLoader = _ref.handleCustomCardLoader,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
hasMoreData = _ref.hasMoreData,
|
|
121
|
+
loadMoreData = _ref.loadMoreData,
|
|
122
|
+
infiniteLoading = _ref.infiniteLoading,
|
|
123
|
+
_ref$infiniteScroll = _ref.infiniteScroll,
|
|
124
|
+
infiniteScroll = _ref$infiniteScroll === void 0 ? false : _ref$infiniteScroll,
|
|
121
125
|
_ref$rowViewToggle = _ref.rowViewToggle,
|
|
122
126
|
rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
|
|
123
127
|
_ref$defaultRowView = _ref.defaultRowView,
|
|
@@ -126,43 +130,50 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
126
130
|
fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
|
|
127
131
|
setTableFullView = _ref.setTableFullView,
|
|
128
132
|
setRowViewToggle = _ref.setRowViewToggle,
|
|
129
|
-
_ref$
|
|
130
|
-
|
|
133
|
+
_ref$dropType = _ref.dropType,
|
|
134
|
+
dropType = _ref$dropType === void 0 ? 'horizondal' : _ref$dropType,
|
|
131
135
|
rowHeight = _ref.rowHeight,
|
|
136
|
+
isFullScreen = _ref.isFullScreen,
|
|
132
137
|
_ref$showHeader = _ref.showHeader,
|
|
133
|
-
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader
|
|
138
|
+
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
139
|
+
labelsProp = _ref.labels;
|
|
134
140
|
var labels = (0, _react.useMemo)(function () {
|
|
135
141
|
return (0, _labels.mergeQbsTableLabels)(labelsProp);
|
|
136
142
|
}, [labelsProp]);
|
|
137
|
-
var
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
setCheckedKeys = _useState3[1];
|
|
143
|
+
var _useState = (0, _react.useState)(0),
|
|
144
|
+
rowViewRefreshKey = _useState[0],
|
|
145
|
+
setRowViewRefreshKey = _useState[1];
|
|
146
|
+
var _useState2 = (0, _react.useState)(false),
|
|
147
|
+
loading = _useState2[0],
|
|
148
|
+
setLoading = _useState2[1];
|
|
149
|
+
var _useState3 = (0, _react.useState)(propColumn),
|
|
150
|
+
columns = _useState3[0],
|
|
151
|
+
setColumns = _useState3[1];
|
|
152
|
+
var _useState4 = (0, _react.useState)([]),
|
|
153
|
+
checkedKeys = _useState4[0],
|
|
154
|
+
setCheckedKeys = _useState4[1];
|
|
150
155
|
var dataTheme = (0, _react.useMemo)(function () {
|
|
151
|
-
var
|
|
152
|
-
return (
|
|
156
|
+
var _ref2;
|
|
157
|
+
return (_ref2 = theme != null ? theme : typeof localStorage !== 'undefined' ? localStorage.getItem('theme') : null) != null ? _ref2 : 'light';
|
|
153
158
|
}, [theme]);
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
|
|
159
|
+
var rtl = rtlProp != null ? rtlProp : (0, _isRTL["default"])();
|
|
160
|
+
var _useState5 = (0, _react.useState)(false),
|
|
161
|
+
isOpen = _useState5[0],
|
|
162
|
+
setIsOpen = _useState5[1];
|
|
157
163
|
var prevColumns = (0, _react.useRef)(null);
|
|
158
|
-
var
|
|
159
|
-
tableViewToggle =
|
|
160
|
-
setTableViewToggle =
|
|
164
|
+
var _useState6 = (0, _react.useState)(tableView),
|
|
165
|
+
tableViewToggle = _useState6[0],
|
|
166
|
+
setTableViewToggle = _useState6[1];
|
|
161
167
|
var isMobile = (0, _useResponsiveStore["default"])();
|
|
162
168
|
var tableBodyRef = (0, _react.useRef)(null);
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
-
|
|
169
|
+
var wheelWrapperRef = (0, _react.useRef)(null);
|
|
170
|
+
var _useState7 = (0, _react.useState)(propsWordWrap != null ? propsWordWrap : false),
|
|
171
|
+
wordWrap = _useState7[0],
|
|
172
|
+
setWordWrap = _useState7[1];
|
|
173
|
+
var effectiveWordWrap = (0, _react.useMemo)(function () {
|
|
174
|
+
if (!rowViewToggle) return wordWrap;
|
|
175
|
+
return defaultRowView ? false : 'break-word';
|
|
176
|
+
}, [rowViewToggle, defaultRowView, wordWrap]);
|
|
166
177
|
(0, _react.useEffect)(function () {
|
|
167
178
|
if (rowViewToggle) {
|
|
168
179
|
setRowViewRefreshKey(function (key) {
|
|
@@ -209,12 +220,6 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
209
220
|
handleChecked(updatedKeys);
|
|
210
221
|
}
|
|
211
222
|
}, [checkedKeys]);
|
|
212
|
-
var rowKeyField = dataRowKey != null ? dataRowKey : 'id';
|
|
213
|
-
var getRowClassName = (0, _react.useCallback)(function (rowData) {
|
|
214
|
-
if (!selection) return '';
|
|
215
|
-
var key = rowData === null || rowData === void 0 ? void 0 : rowData[rowKeyField];
|
|
216
|
-
return key !== undefined && checkedKeys !== null && checkedKeys !== void 0 && checkedKeys.includes(key) ? 'qbs-table-row-checked' : '';
|
|
217
|
-
}, [selection, checkedKeys, rowKeyField]);
|
|
218
223
|
var handleToggle = (0, _react.useCallback)(function (columnName) {
|
|
219
224
|
var lastVisibleColumn = null;
|
|
220
225
|
var visibleCount = 0;
|
|
@@ -245,6 +250,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
245
250
|
}, [columns]);
|
|
246
251
|
var handleColumnWidth = (0, _react.useCallback)(function (newWidth, dataKey) {
|
|
247
252
|
if (newWidth === undefined || dataKey === undefined) return;
|
|
253
|
+
REFRESH_KEY = REFRESH_KEY + 1;
|
|
248
254
|
setColumns(function (prevColumns) {
|
|
249
255
|
return prevColumns.map(function (column) {
|
|
250
256
|
return column.field === dataKey ? (0, _extends2["default"])({}, column, {
|
|
@@ -264,14 +270,21 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
264
270
|
});
|
|
265
271
|
}
|
|
266
272
|
}, [wordWrap]);
|
|
273
|
+
(0, _react.useEffect)(function () {
|
|
274
|
+
if (!defaultRowView) {
|
|
275
|
+
setWordWrap('break-word');
|
|
276
|
+
} else {
|
|
277
|
+
setWordWrap(false);
|
|
278
|
+
}
|
|
279
|
+
REFRESH_KEY = REFRESH_KEY + 1;
|
|
280
|
+
}, [defaultRowView]);
|
|
267
281
|
var onReorder = (0, _react.useCallback)(function (columns) {
|
|
268
282
|
setColumns(columns);
|
|
269
283
|
}, []);
|
|
270
284
|
|
|
271
285
|
// useEffect(() => {
|
|
272
286
|
// }, [columns]);
|
|
273
|
-
|
|
274
|
-
var handleClear = function handleClear(_ref2) {
|
|
287
|
+
var handleClear = function handleClear(_ref3) {
|
|
275
288
|
setCheckedKeys([]);
|
|
276
289
|
handleChecked([]);
|
|
277
290
|
};
|
|
@@ -310,10 +323,16 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
310
323
|
labels: labels,
|
|
311
324
|
rtl: rtl
|
|
312
325
|
};
|
|
326
|
+
(0, _react.useEffect)(function () {
|
|
327
|
+
if (!dataTheme || typeof document === 'undefined') return;
|
|
328
|
+
document.body.setAttribute('data-theme', dataTheme === 'dark' ? 'dark' : 'light');
|
|
329
|
+
document.documentElement.dataset.theme = dataTheme;
|
|
330
|
+
}, [dataTheme]);
|
|
313
331
|
var themeToggle = (0, _react.useMemo)(function () {
|
|
314
|
-
return document.getElementById('themeToggle');
|
|
332
|
+
return typeof document !== 'undefined' ? document.getElementById('themeToggle') : null;
|
|
315
333
|
}, []);
|
|
316
334
|
(0, _react.useEffect)(function () {
|
|
335
|
+
if (theme || typeof document === 'undefined') return;
|
|
317
336
|
var handleThemeToggle = function handleThemeToggle() {
|
|
318
337
|
if (themeToggle !== null && themeToggle !== void 0 && themeToggle.checked) {
|
|
319
338
|
document.body.setAttribute('data-theme', 'dark');
|
|
@@ -335,9 +354,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
335
354
|
themeToggle === null || themeToggle === void 0 ? void 0 : themeToggle.removeEventListener('change', handleThemeToggle);
|
|
336
355
|
document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
|
|
337
356
|
};
|
|
338
|
-
}, [themeToggle]);
|
|
357
|
+
}, [theme, themeToggle]);
|
|
339
358
|
var handleExpanded = (0, _react.useCallback)(function (rowData) {
|
|
340
|
-
console.log(rowData);
|
|
341
359
|
var keyValue = dataRowKey;
|
|
342
360
|
var key = rowData[keyValue];
|
|
343
361
|
var nextExpandedRowKeys = new Set(expandedRowKeys);
|
|
@@ -512,26 +530,26 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
512
530
|
// [columns, dataTheme]
|
|
513
531
|
// );
|
|
514
532
|
var columnsRendered = (0, _react.useMemo)(function () {
|
|
515
|
-
return (columns != null ? columns : []).map(function (
|
|
516
|
-
var title =
|
|
517
|
-
field =
|
|
518
|
-
resizable =
|
|
519
|
-
sortable =
|
|
520
|
-
colWidth =
|
|
521
|
-
align =
|
|
522
|
-
grouped =
|
|
523
|
-
groupHeader =
|
|
524
|
-
fixed =
|
|
525
|
-
children =
|
|
526
|
-
customCell =
|
|
527
|
-
renderCell =
|
|
528
|
-
isVisible =
|
|
529
|
-
link =
|
|
530
|
-
getPath =
|
|
531
|
-
rowClick =
|
|
532
|
-
sortKey =
|
|
533
|
-
type =
|
|
534
|
-
hideLink =
|
|
533
|
+
return (columns != null ? columns : []).map(function (_ref4) {
|
|
534
|
+
var title = _ref4.title,
|
|
535
|
+
field = _ref4.field,
|
|
536
|
+
resizable = _ref4.resizable,
|
|
537
|
+
sortable = _ref4.sortable,
|
|
538
|
+
colWidth = _ref4.colWidth,
|
|
539
|
+
align = _ref4.align,
|
|
540
|
+
grouped = _ref4.grouped,
|
|
541
|
+
groupHeader = _ref4.groupHeader,
|
|
542
|
+
fixed = _ref4.fixed,
|
|
543
|
+
children = _ref4.children,
|
|
544
|
+
customCell = _ref4.customCell,
|
|
545
|
+
renderCell = _ref4.renderCell,
|
|
546
|
+
isVisible = _ref4.isVisible,
|
|
547
|
+
link = _ref4.link,
|
|
548
|
+
getPath = _ref4.getPath,
|
|
549
|
+
rowClick = _ref4.rowClick,
|
|
550
|
+
sortKey = _ref4.sortKey,
|
|
551
|
+
type = _ref4.type,
|
|
552
|
+
hideLink = _ref4.hideLink;
|
|
535
553
|
return isVisible ? grouped ? /*#__PURE__*/_react["default"].createElement(_ColumnGroup["default"], {
|
|
536
554
|
header: groupHeader,
|
|
537
555
|
fixed: fixed,
|
|
@@ -599,41 +617,57 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
599
617
|
},
|
|
600
618
|
// ✅ Fix: Type assertion to ReactElement[]
|
|
601
619
|
[columns, dataTheme]);
|
|
620
|
+
var handleInfiniteScroll = function handleInfiniteScroll(scroll) {
|
|
621
|
+
if (!infiniteScroll) return;
|
|
622
|
+
var wrapper = wheelWrapperRef.current;
|
|
623
|
+
if (!wrapper || !hasMoreData || infiniteLoading) return;
|
|
624
|
+
var scrollTop = wrapper.scrollTop,
|
|
625
|
+
clientHeight = wrapper.clientHeight;
|
|
626
|
+
var scrollHeight = Math.abs(scroll) + (height - headerHeight);
|
|
627
|
+
// Trigger fetch when user scrolls within 100px of bottom
|
|
628
|
+
if (scrollTop + clientHeight >= scrollHeight - 70) {
|
|
629
|
+
loadMoreData === null || loadMoreData === void 0 ? void 0 : loadMoreData(); // fetch next page here
|
|
630
|
+
}
|
|
631
|
+
};
|
|
602
632
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
603
633
|
className: "qbs-table " + classes.tableContainerClass,
|
|
604
|
-
"data-theme": dataTheme
|
|
634
|
+
"data-theme": dataTheme,
|
|
635
|
+
dir: rtl ? 'rtl' : 'ltr'
|
|
605
636
|
}, toolbar && /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], toolbarProps), /*#__PURE__*/_react["default"].createElement("div", {
|
|
606
637
|
className: "qbs-table-border-wrap"
|
|
607
638
|
}, tableViewToggle ? /*#__PURE__*/_react["default"].createElement(_Table["default"], {
|
|
608
639
|
height: autoHeight ? undefined : height,
|
|
609
640
|
key: tableKey + "-" + rowViewRefreshKey,
|
|
610
641
|
tableKey: tableKey,
|
|
611
|
-
rtl: rtl,
|
|
612
642
|
data: data,
|
|
643
|
+
rtl: rtl,
|
|
613
644
|
tableBodyRef: tableBodyRef,
|
|
614
645
|
dataTheme: dataTheme,
|
|
615
646
|
wordWrap: effectiveWordWrap,
|
|
647
|
+
wheelWrapperRef: wheelWrapperRef,
|
|
648
|
+
rowHeight: rowHeight,
|
|
616
649
|
autoHeight: autoHeight,
|
|
650
|
+
handleInfiniteScroll: handleInfiniteScroll,
|
|
617
651
|
sortColumn: sortColumn,
|
|
618
652
|
style: {
|
|
619
653
|
position: 'relative'
|
|
620
654
|
},
|
|
621
655
|
sortType: sortType,
|
|
622
656
|
onSortColumn: handleSortColumn,
|
|
657
|
+
infiniteLoading: infiniteLoading,
|
|
623
658
|
onRowClick: onRowClick,
|
|
624
659
|
tableBodyHeight: tableBodyHeight,
|
|
625
660
|
cellBordered: cellBordered,
|
|
626
661
|
bordered: bordered,
|
|
627
662
|
renderEmpty: function renderEmpty(info) {
|
|
628
663
|
return _renderEmpty ? _renderEmpty(info) : /*#__PURE__*/_react["default"].createElement(_empty["default"], {
|
|
629
|
-
title: emptyTitle != null ? emptyTitle :
|
|
664
|
+
title: emptyTitle != null ? emptyTitle : labels.noDataFound,
|
|
630
665
|
subtitle: emptySubTitle
|
|
631
666
|
});
|
|
632
667
|
},
|
|
633
668
|
columns: columns,
|
|
634
669
|
minHeight: minHeight,
|
|
635
670
|
headerHeight: headerHeight,
|
|
636
|
-
rowHeight: rowHeight,
|
|
637
671
|
rowExpandedHeight: rowExpandedHeight,
|
|
638
672
|
loading: isLoading != null ? isLoading : loading,
|
|
639
673
|
showHeader: showHeader,
|
|
@@ -641,7 +675,6 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
641
675
|
expandedRowKeys: expandedRowKeys,
|
|
642
676
|
onExpandChange: onExpandChange,
|
|
643
677
|
rowKey: dataRowKey != null ? dataRowKey : 'id',
|
|
644
|
-
rowClassName: selection ? getRowClassName : undefined,
|
|
645
678
|
defaultExpandAllRows: defaultExpandAllRows,
|
|
646
679
|
shouldUpdateScroll: shouldUpdateScroll,
|
|
647
680
|
renderRowExpanded: function renderRowExpanded(rowData) {
|
|
@@ -756,11 +789,12 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
756
789
|
rtl: rtl
|
|
757
790
|
})), /*#__PURE__*/_react["default"].createElement(_CustomTableCell.ActionCell, {
|
|
758
791
|
tableBodyRef: tableBodyRef,
|
|
792
|
+
dropType: dropType,
|
|
793
|
+
wheelWrapperRef: wheelWrapperRef,
|
|
759
794
|
actionProps: actionProps,
|
|
760
795
|
className: classes.cellClass + " " + classes.actionCellClass,
|
|
761
796
|
handleMenuActions: handleMenuActions,
|
|
762
|
-
dataTheme: dataTheme
|
|
763
|
-
dropType: dropType
|
|
797
|
+
dataTheme: dataTheme
|
|
764
798
|
}))) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
765
799
|
className: isCustomTableCardView && ((data === null || data === void 0 ? void 0 : data.length) === 0 || !data) && !isLoading ? 'qbs-card-empty-wrapper' : isCustomTableCardView ? 'qbs-card-wrapper' : ' p-2',
|
|
766
800
|
style: {
|
|
@@ -771,7 +805,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
771
805
|
}, ((data === null || data === void 0 ? void 0 : data.length) === 0 || !data) && !isLoading && /*#__PURE__*/_react["default"].createElement("div", {
|
|
772
806
|
className: "flex flex-col gap-2 p-2 mt-6 card-empty-container"
|
|
773
807
|
}, /*#__PURE__*/_react["default"].createElement(_empty["default"], {
|
|
774
|
-
title: emptyTitle != null ? emptyTitle :
|
|
808
|
+
title: emptyTitle != null ? emptyTitle : labels.noDataFound,
|
|
775
809
|
subtitle: emptySubTitle
|
|
776
810
|
})), isLoading ? handleCustomCardLoader ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, handleCustomCardLoader()) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
777
811
|
className: "flex flex-col gap-2 p-2"
|
|
@@ -786,10 +820,13 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
786
820
|
childDetailHeading: childDetailHeading,
|
|
787
821
|
columns: columns,
|
|
788
822
|
tableBodyRef: tableBodyRef,
|
|
789
|
-
actionProps: actionProps
|
|
823
|
+
actionProps: actionProps,
|
|
824
|
+
labels: labels
|
|
790
825
|
}));
|
|
791
826
|
})), /*#__PURE__*/_react["default"].createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Pagination["default"], {
|
|
792
|
-
paginationProps: paginationProps
|
|
827
|
+
paginationProps: paginationProps,
|
|
828
|
+
labels: labels,
|
|
829
|
+
dataTheme: dataTheme
|
|
793
830
|
}))));
|
|
794
831
|
};
|
|
795
832
|
var _default = QbsTable;
|
|
@@ -140,6 +140,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
140
140
|
setIsOpen = _useState4[1];
|
|
141
141
|
var prevColumns = (0, _react.useRef)(null);
|
|
142
142
|
var tableBodyRef = (0, _react.useRef)(null);
|
|
143
|
+
var wheelWrapperRef = (0, _react.useRef)(null);
|
|
143
144
|
var handleSortColumn = (0, _react.useCallback)(function (sortColumn, sortType) {
|
|
144
145
|
setLoading(true);
|
|
145
146
|
setTimeout(function () {
|
|
@@ -459,6 +460,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
459
460
|
rtl: rtl,
|
|
460
461
|
data: data,
|
|
461
462
|
tableBodyRef: tableBodyRef,
|
|
463
|
+
wheelWrapperRef: wheelWrapperRef,
|
|
462
464
|
dataTheme: dataTheme,
|
|
463
465
|
wordWrap: effectiveWordWrap,
|
|
464
466
|
autoHeight: autoHeight,
|
package/lib/qbsTable/Toolbar.js
CHANGED
|
@@ -218,19 +218,22 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
218
218
|
return onSelect === null || onSelect === void 0 ? void 0 : onSelect([]);
|
|
219
219
|
}
|
|
220
220
|
}, labels.clear), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
|
|
221
|
+
var _actions$buttonClassN;
|
|
221
222
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
|
|
222
223
|
key: index.toString()
|
|
223
224
|
}, handleHide(actions) && /*#__PURE__*/_react["default"].createElement("button", {
|
|
224
225
|
type: "button",
|
|
225
|
-
className: "btn",
|
|
226
|
+
className: "btn " + ((_actions$buttonClassN = actions === null || actions === void 0 ? void 0 : actions.buttonClassName) != null ? _actions$buttonClassN : ''),
|
|
226
227
|
disabled: actions.disabled,
|
|
227
228
|
onClick: function onClick() {
|
|
228
229
|
return actions === null || actions === void 0 ? void 0 : actions.action(checkedKeys);
|
|
229
230
|
}
|
|
230
|
-
}, actions.
|
|
231
|
+
}, (actions === null || actions === void 0 ? void 0 : actions.icon) && /*#__PURE__*/_react["default"].createElement("span", {
|
|
232
|
+
className: "mr-2"
|
|
233
|
+
}, actions.icon), /*#__PURE__*/_react["default"].createElement("span", null, actions.actionTitle)));
|
|
231
234
|
}))) : /*#__PURE__*/_react["default"].createElement("div", null, pagination && paginationProps && dataLength > 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
232
235
|
className: "rows-count"
|
|
233
|
-
}, (0, _tablecalc.getRowDisplayRange)((_paginationProps$tota = paginationProps.total) != null ? _paginationProps$tota : 0, (_paginationProps$rows = paginationProps.rowsPerPage) != null ? _paginationProps$rows : 0, (_paginationProps$curr = paginationProps.currentPage) != null ? _paginationProps$curr : 0)))));
|
|
236
|
+
}, (0, _tablecalc.getRowDisplayRange)((_paginationProps$tota = paginationProps.total) != null ? _paginationProps$tota : 0, (_paginationProps$rows = paginationProps.rowsPerPage) != null ? _paginationProps$rows : 0, (_paginationProps$curr = paginationProps.currentPage) != null ? _paginationProps$curr : 0, labels.showingRange)))));
|
|
234
237
|
};
|
|
235
238
|
var _default = ToolBar;
|
|
236
239
|
exports["default"] = _default;
|