qbs-react-grid 2.0.3 → 2.0.4
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/es/qbsTable/QbsTable.js +22 -3
- package/es/qbsTable/commontypes.d.ts +1 -0
- package/es/qbsTable/utilities/ColumShowHide.d.ts +2 -0
- package/es/qbsTable/utilities/ColumShowHide.js +24 -2
- package/lib/qbsTable/QbsTable.js +22 -3
- package/lib/qbsTable/commontypes.d.ts +1 -0
- package/lib/qbsTable/utilities/ColumShowHide.d.ts +2 -0
- package/lib/qbsTable/utilities/ColumShowHide.js +24 -2
- package/package.json +1 -1
- package/src/qbsTable/QbsTable.tsx +18 -5
- package/src/qbsTable/commontypes.ts +2 -0
- package/src/qbsTable/utilities/ColumShowHide.tsx +26 -1
package/es/qbsTable/QbsTable.js
CHANGED
|
@@ -53,7 +53,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
53
53
|
_ref$height = _ref.height,
|
|
54
54
|
height = _ref$height === void 0 ? 630 : _ref$height,
|
|
55
55
|
onExpandChange = _ref.onExpandChange,
|
|
56
|
-
|
|
56
|
+
propsWordWrap = _ref.wordWrap,
|
|
57
57
|
_ref$dataRowKey = _ref.dataRowKey,
|
|
58
58
|
dataRowKey = _ref$dataRowKey === void 0 ? 'id' : _ref$dataRowKey,
|
|
59
59
|
defaultExpandAllRows = _ref.defaultExpandAllRows,
|
|
@@ -112,7 +112,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
112
112
|
loadMoreData = _ref.loadMoreData,
|
|
113
113
|
infiniteLoading = _ref.infiniteLoading,
|
|
114
114
|
_ref$infiniteScroll = _ref.infiniteScroll,
|
|
115
|
-
infiniteScroll = _ref$infiniteScroll === void 0 ? false : _ref$infiniteScroll
|
|
115
|
+
infiniteScroll = _ref$infiniteScroll === void 0 ? false : _ref$infiniteScroll,
|
|
116
|
+
propsViewMode = _ref.viewMode;
|
|
116
117
|
var _useState = useState(false),
|
|
117
118
|
loading = _useState[0],
|
|
118
119
|
setLoading = _useState[1];
|
|
@@ -136,6 +137,12 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
136
137
|
var isMobile = useResponsiveStore();
|
|
137
138
|
var tableBodyRef = useRef(null);
|
|
138
139
|
var wheelWrapperRef = useRef(null);
|
|
140
|
+
var _useState6 = useState(propsViewMode != null ? propsViewMode : 'expanded'),
|
|
141
|
+
viewMode = _useState6[0],
|
|
142
|
+
setViewMode = _useState6[1];
|
|
143
|
+
var _useState7 = useState(propsWordWrap != null ? propsWordWrap : false),
|
|
144
|
+
wordWrap = _useState7[0],
|
|
145
|
+
setWordWrap = _useState7[1];
|
|
139
146
|
var handleSortColumn = useCallback(function (sortColumn, sortType) {
|
|
140
147
|
setLoading(true);
|
|
141
148
|
setTimeout(function () {
|
|
@@ -225,13 +232,21 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
225
232
|
});
|
|
226
233
|
}
|
|
227
234
|
}, [wordWrap]);
|
|
235
|
+
useEffect(function () {
|
|
236
|
+
if (viewMode === 'expanded') {
|
|
237
|
+
setWordWrap('break-word');
|
|
238
|
+
} else {
|
|
239
|
+
setWordWrap(false);
|
|
240
|
+
}
|
|
241
|
+
REFRESH_KEY = REFRESH_KEY + 1;
|
|
242
|
+
}, [viewMode]);
|
|
228
243
|
var onReorder = useCallback(function (columns) {
|
|
229
244
|
setColumns(columns);
|
|
230
245
|
}, []);
|
|
231
246
|
|
|
232
247
|
// useEffect(() => {
|
|
233
248
|
// }, [columns]);
|
|
234
|
-
|
|
249
|
+
console.log(viewMode);
|
|
235
250
|
var handleClear = function handleClear(_ref2) {
|
|
236
251
|
setCheckedKeys([]);
|
|
237
252
|
handleChecked([]);
|
|
@@ -697,6 +712,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
697
712
|
onReorder: onReorder,
|
|
698
713
|
isOpen: isOpen,
|
|
699
714
|
tableHeight: height,
|
|
715
|
+
viewMode: viewMode,
|
|
716
|
+
setViewMode: setViewMode,
|
|
700
717
|
setIsOpen: setIsOpen,
|
|
701
718
|
handleResetColumns: handleResetColumns,
|
|
702
719
|
handleColumnToggle: handleColumnToggle
|
|
@@ -713,6 +730,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
713
730
|
onToggle: handleToggle,
|
|
714
731
|
tableHeight: height,
|
|
715
732
|
onReorder: onReorder,
|
|
733
|
+
viewMode: viewMode,
|
|
734
|
+
setViewMode: setViewMode,
|
|
716
735
|
isOpen: isOpen,
|
|
717
736
|
setIsOpen: setIsOpen,
|
|
718
737
|
handleResetColumns: handleResetColumns,
|
|
@@ -9,6 +9,8 @@ interface ColumnToggleProps {
|
|
|
9
9
|
handleColumnToggle?: (columns: QbsColumnProps[]) => void;
|
|
10
10
|
handleResetColumns?: () => void;
|
|
11
11
|
tableHeight?: number;
|
|
12
|
+
viewMode?: string;
|
|
13
|
+
setViewMode?: (value: string) => void;
|
|
12
14
|
}
|
|
13
15
|
declare const ColumnToggle: React.FC<ColumnToggleProps>;
|
|
14
16
|
export default ColumnToggle;
|
|
@@ -9,7 +9,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
9
9
|
handleResetColumns = _ref.handleResetColumns,
|
|
10
10
|
handleColumnToggle = _ref.handleColumnToggle,
|
|
11
11
|
_ref$tableHeight = _ref.tableHeight,
|
|
12
|
-
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight
|
|
12
|
+
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight,
|
|
13
|
+
viewMode = _ref.viewMode,
|
|
14
|
+
setViewMode = _ref.setViewMode;
|
|
13
15
|
var _useState = useState(null),
|
|
14
16
|
draggedItem = _useState[0],
|
|
15
17
|
setDraggedItem = _useState[1];
|
|
@@ -215,6 +217,26 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
215
217
|
onClick: function onClick() {
|
|
216
218
|
return handleColToggle();
|
|
217
219
|
}
|
|
218
|
-
}, "Save")))
|
|
220
|
+
}, "Save"))), /*#__PURE__*/React.createElement("div", {
|
|
221
|
+
className: "qbs-table-popup-item"
|
|
222
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
223
|
+
className: "flex items-center gap-2"
|
|
224
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
225
|
+
type: "radio",
|
|
226
|
+
value: "compact",
|
|
227
|
+
checked: viewMode === 'compact',
|
|
228
|
+
onChange: function onChange() {
|
|
229
|
+
return setViewMode === null || setViewMode === void 0 ? void 0 : setViewMode('compact');
|
|
230
|
+
}
|
|
231
|
+
}), "Compact View"), /*#__PURE__*/React.createElement("label", {
|
|
232
|
+
className: "flex items-center gap-2"
|
|
233
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
234
|
+
type: "radio",
|
|
235
|
+
value: "expanded",
|
|
236
|
+
checked: viewMode === 'expanded',
|
|
237
|
+
onChange: function onChange() {
|
|
238
|
+
return setViewMode === null || setViewMode === void 0 ? void 0 : setViewMode('expanded');
|
|
239
|
+
}
|
|
240
|
+
}), "Default View")))));
|
|
219
241
|
};
|
|
220
242
|
export default ColumnToggle;
|
package/lib/qbsTable/QbsTable.js
CHANGED
|
@@ -59,7 +59,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
59
59
|
_ref$height = _ref.height,
|
|
60
60
|
height = _ref$height === void 0 ? 630 : _ref$height,
|
|
61
61
|
onExpandChange = _ref.onExpandChange,
|
|
62
|
-
|
|
62
|
+
propsWordWrap = _ref.wordWrap,
|
|
63
63
|
_ref$dataRowKey = _ref.dataRowKey,
|
|
64
64
|
dataRowKey = _ref$dataRowKey === void 0 ? 'id' : _ref$dataRowKey,
|
|
65
65
|
defaultExpandAllRows = _ref.defaultExpandAllRows,
|
|
@@ -118,7 +118,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
118
118
|
loadMoreData = _ref.loadMoreData,
|
|
119
119
|
infiniteLoading = _ref.infiniteLoading,
|
|
120
120
|
_ref$infiniteScroll = _ref.infiniteScroll,
|
|
121
|
-
infiniteScroll = _ref$infiniteScroll === void 0 ? false : _ref$infiniteScroll
|
|
121
|
+
infiniteScroll = _ref$infiniteScroll === void 0 ? false : _ref$infiniteScroll,
|
|
122
|
+
propsViewMode = _ref.viewMode;
|
|
122
123
|
var _useState = (0, _react.useState)(false),
|
|
123
124
|
loading = _useState[0],
|
|
124
125
|
setLoading = _useState[1];
|
|
@@ -142,6 +143,12 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
142
143
|
var isMobile = (0, _useResponsiveStore["default"])();
|
|
143
144
|
var tableBodyRef = (0, _react.useRef)(null);
|
|
144
145
|
var wheelWrapperRef = (0, _react.useRef)(null);
|
|
146
|
+
var _useState6 = (0, _react.useState)(propsViewMode != null ? propsViewMode : 'expanded'),
|
|
147
|
+
viewMode = _useState6[0],
|
|
148
|
+
setViewMode = _useState6[1];
|
|
149
|
+
var _useState7 = (0, _react.useState)(propsWordWrap != null ? propsWordWrap : false),
|
|
150
|
+
wordWrap = _useState7[0],
|
|
151
|
+
setWordWrap = _useState7[1];
|
|
145
152
|
var handleSortColumn = (0, _react.useCallback)(function (sortColumn, sortType) {
|
|
146
153
|
setLoading(true);
|
|
147
154
|
setTimeout(function () {
|
|
@@ -231,13 +238,21 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
231
238
|
});
|
|
232
239
|
}
|
|
233
240
|
}, [wordWrap]);
|
|
241
|
+
(0, _react.useEffect)(function () {
|
|
242
|
+
if (viewMode === 'expanded') {
|
|
243
|
+
setWordWrap('break-word');
|
|
244
|
+
} else {
|
|
245
|
+
setWordWrap(false);
|
|
246
|
+
}
|
|
247
|
+
REFRESH_KEY = REFRESH_KEY + 1;
|
|
248
|
+
}, [viewMode]);
|
|
234
249
|
var onReorder = (0, _react.useCallback)(function (columns) {
|
|
235
250
|
setColumns(columns);
|
|
236
251
|
}, []);
|
|
237
252
|
|
|
238
253
|
// useEffect(() => {
|
|
239
254
|
// }, [columns]);
|
|
240
|
-
|
|
255
|
+
console.log(viewMode);
|
|
241
256
|
var handleClear = function handleClear(_ref2) {
|
|
242
257
|
setCheckedKeys([]);
|
|
243
258
|
handleChecked([]);
|
|
@@ -703,6 +718,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
703
718
|
onReorder: onReorder,
|
|
704
719
|
isOpen: isOpen,
|
|
705
720
|
tableHeight: height,
|
|
721
|
+
viewMode: viewMode,
|
|
722
|
+
setViewMode: setViewMode,
|
|
706
723
|
setIsOpen: setIsOpen,
|
|
707
724
|
handleResetColumns: handleResetColumns,
|
|
708
725
|
handleColumnToggle: handleColumnToggle
|
|
@@ -719,6 +736,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
719
736
|
onToggle: handleToggle,
|
|
720
737
|
tableHeight: height,
|
|
721
738
|
onReorder: onReorder,
|
|
739
|
+
viewMode: viewMode,
|
|
740
|
+
setViewMode: setViewMode,
|
|
722
741
|
isOpen: isOpen,
|
|
723
742
|
setIsOpen: setIsOpen,
|
|
724
743
|
handleResetColumns: handleResetColumns,
|
|
@@ -9,6 +9,8 @@ interface ColumnToggleProps {
|
|
|
9
9
|
handleColumnToggle?: (columns: QbsColumnProps[]) => void;
|
|
10
10
|
handleResetColumns?: () => void;
|
|
11
11
|
tableHeight?: number;
|
|
12
|
+
viewMode?: string;
|
|
13
|
+
setViewMode?: (value: string) => void;
|
|
12
14
|
}
|
|
13
15
|
declare const ColumnToggle: React.FC<ColumnToggleProps>;
|
|
14
16
|
export default ColumnToggle;
|
|
@@ -15,7 +15,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
15
15
|
handleResetColumns = _ref.handleResetColumns,
|
|
16
16
|
handleColumnToggle = _ref.handleColumnToggle,
|
|
17
17
|
_ref$tableHeight = _ref.tableHeight,
|
|
18
|
-
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight
|
|
18
|
+
tableHeight = _ref$tableHeight === void 0 ? 450 : _ref$tableHeight,
|
|
19
|
+
viewMode = _ref.viewMode,
|
|
20
|
+
setViewMode = _ref.setViewMode;
|
|
19
21
|
var _useState = (0, _react.useState)(null),
|
|
20
22
|
draggedItem = _useState[0],
|
|
21
23
|
setDraggedItem = _useState[1];
|
|
@@ -221,7 +223,27 @@ var ColumnToggle = function ColumnToggle(_ref) {
|
|
|
221
223
|
onClick: function onClick() {
|
|
222
224
|
return handleColToggle();
|
|
223
225
|
}
|
|
224
|
-
}, "Save")))
|
|
226
|
+
}, "Save"))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
227
|
+
className: "qbs-table-popup-item"
|
|
228
|
+
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
229
|
+
className: "flex items-center gap-2"
|
|
230
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
231
|
+
type: "radio",
|
|
232
|
+
value: "compact",
|
|
233
|
+
checked: viewMode === 'compact',
|
|
234
|
+
onChange: function onChange() {
|
|
235
|
+
return setViewMode === null || setViewMode === void 0 ? void 0 : setViewMode('compact');
|
|
236
|
+
}
|
|
237
|
+
}), "Compact View"), /*#__PURE__*/_react["default"].createElement("label", {
|
|
238
|
+
className: "flex items-center gap-2"
|
|
239
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
240
|
+
type: "radio",
|
|
241
|
+
value: "expanded",
|
|
242
|
+
checked: viewMode === 'expanded',
|
|
243
|
+
onChange: function onChange() {
|
|
244
|
+
return setViewMode === null || setViewMode === void 0 ? void 0 : setViewMode('expanded');
|
|
245
|
+
}
|
|
246
|
+
}), "Default View")))));
|
|
225
247
|
};
|
|
226
248
|
var _default = ColumnToggle;
|
|
227
249
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -52,7 +52,7 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
52
52
|
minHeight,
|
|
53
53
|
height = 630,
|
|
54
54
|
onExpandChange,
|
|
55
|
-
wordWrap,
|
|
55
|
+
wordWrap: propsWordWrap,
|
|
56
56
|
dataRowKey = 'id',
|
|
57
57
|
defaultExpandAllRows,
|
|
58
58
|
handleRowExpanded,
|
|
@@ -96,7 +96,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
96
96
|
hasMoreData,
|
|
97
97
|
loadMoreData,
|
|
98
98
|
infiniteLoading,
|
|
99
|
-
infiniteScroll = false
|
|
99
|
+
infiniteScroll = false,
|
|
100
|
+
viewMode: propsViewMode
|
|
100
101
|
}) => {
|
|
101
102
|
const [loading, setLoading] = useState(false);
|
|
102
103
|
const [columns, setColumns] = useState(propColumn);
|
|
@@ -108,7 +109,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
108
109
|
const isMobile = useResponsiveStore();
|
|
109
110
|
const tableBodyRef = useRef<HTMLDivElement>(null);
|
|
110
111
|
const wheelWrapperRef = useRef<HTMLDivElement>(null);
|
|
111
|
-
|
|
112
|
+
const [viewMode, setViewMode] = useState(propsViewMode ?? 'expanded');
|
|
113
|
+
const [wordWrap, setWordWrap] = useState(propsWordWrap ?? false);
|
|
112
114
|
const handleSortColumn = useCallback(
|
|
113
115
|
(sortColumn: any, sortType: any) => {
|
|
114
116
|
setLoading(true);
|
|
@@ -212,14 +214,21 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
212
214
|
);
|
|
213
215
|
}
|
|
214
216
|
}, [wordWrap]);
|
|
215
|
-
|
|
217
|
+
useEffect(() => {
|
|
218
|
+
if (viewMode === 'expanded') {
|
|
219
|
+
setWordWrap('break-word');
|
|
220
|
+
} else {
|
|
221
|
+
setWordWrap(false);
|
|
222
|
+
}
|
|
223
|
+
REFRESH_KEY = REFRESH_KEY + 1;
|
|
224
|
+
}, [viewMode]);
|
|
216
225
|
const onReorder = useCallback((columns: QbsColumnProps[]) => {
|
|
217
226
|
setColumns(columns);
|
|
218
227
|
}, []);
|
|
219
228
|
|
|
220
229
|
// useEffect(() => {
|
|
221
230
|
// }, [columns]);
|
|
222
|
-
|
|
231
|
+
console.log(viewMode);
|
|
223
232
|
const handleClear = ([]) => {
|
|
224
233
|
setCheckedKeys([]);
|
|
225
234
|
handleChecked([]);
|
|
@@ -733,6 +742,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
733
742
|
onReorder={onReorder}
|
|
734
743
|
isOpen={isOpen}
|
|
735
744
|
tableHeight={height}
|
|
745
|
+
viewMode={viewMode}
|
|
746
|
+
setViewMode={setViewMode}
|
|
736
747
|
setIsOpen={setIsOpen}
|
|
737
748
|
handleResetColumns={handleResetColumns}
|
|
738
749
|
handleColumnToggle={handleColumnToggle}
|
|
@@ -757,6 +768,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
|
|
|
757
768
|
onToggle={handleToggle}
|
|
758
769
|
tableHeight={height}
|
|
759
770
|
onReorder={onReorder}
|
|
771
|
+
viewMode={viewMode}
|
|
772
|
+
setViewMode={setViewMode}
|
|
760
773
|
isOpen={isOpen}
|
|
761
774
|
setIsOpen={setIsOpen}
|
|
762
775
|
handleResetColumns={handleResetColumns}
|
|
@@ -12,6 +12,8 @@ interface ColumnToggleProps {
|
|
|
12
12
|
handleColumnToggle?: (columns: QbsColumnProps[]) => void;
|
|
13
13
|
handleResetColumns?: () => void;
|
|
14
14
|
tableHeight?: number;
|
|
15
|
+
viewMode?: string;
|
|
16
|
+
setViewMode?: (value: string) => void;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
@@ -22,7 +24,9 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
22
24
|
setIsOpen,
|
|
23
25
|
handleResetColumns,
|
|
24
26
|
handleColumnToggle,
|
|
25
|
-
tableHeight = 450
|
|
27
|
+
tableHeight = 450,
|
|
28
|
+
viewMode,
|
|
29
|
+
setViewMode
|
|
26
30
|
}) => {
|
|
27
31
|
const [draggedItem, setDraggedItem] = useState<number | null>(null);
|
|
28
32
|
const popupRef = useRef<HTMLDivElement | null>(null);
|
|
@@ -239,6 +243,27 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
239
243
|
</div>
|
|
240
244
|
</>
|
|
241
245
|
)}
|
|
246
|
+
<div className="qbs-table-popup-item">
|
|
247
|
+
<label className="flex items-center gap-2">
|
|
248
|
+
<input
|
|
249
|
+
type="radio"
|
|
250
|
+
value="compact"
|
|
251
|
+
checked={viewMode === 'compact'}
|
|
252
|
+
onChange={() => setViewMode?.('compact')}
|
|
253
|
+
/>
|
|
254
|
+
Compact View
|
|
255
|
+
</label>
|
|
256
|
+
|
|
257
|
+
<label className="flex items-center gap-2">
|
|
258
|
+
<input
|
|
259
|
+
type="radio"
|
|
260
|
+
value="expanded"
|
|
261
|
+
checked={viewMode === 'expanded'}
|
|
262
|
+
onChange={() => setViewMode?.('expanded')}
|
|
263
|
+
/>
|
|
264
|
+
Default View
|
|
265
|
+
</label>
|
|
266
|
+
</div>
|
|
242
267
|
</div>
|
|
243
268
|
</div>
|
|
244
269
|
)}
|