qbs-react-grid 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/Pagination.d.ts +3 -0
- package/es/Pagination.js +8 -3
- package/es/index.d.ts +1 -1
- package/es/less/qbs-table.less +95 -4
- package/es/qbsTable/QbsTable.js +50 -33
- package/es/qbsTable/TableCardList.js +47 -31
- package/es/qbsTable/Toolbar.js +15 -11
- package/es/qbsTable/commontypes.d.ts +4 -1
- package/es/qbsTable/labels.d.ts +48 -0
- package/es/qbsTable/labels.js +34 -0
- 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 +5 -2
- package/es/qbsTable/utilities/ColumShowHide.d.ts +2 -0
- package/es/qbsTable/utilities/ColumShowHide.js +9 -6
- package/es/qbsTable/utilities/SearchInput.d.ts +1 -0
- package/es/qbsTable/utilities/SearchInput.js +3 -1
- package/es/qbsTable/utilities/tablecalc.d.ts +1 -1
- package/es/qbsTable/utilities/tablecalc.js +7 -2
- package/lib/Pagination.d.ts +3 -0
- package/lib/Pagination.js +8 -3
- package/lib/index.d.ts +1 -1
- package/lib/less/qbs-table.less +95 -4
- package/lib/qbsTable/QbsTable.js +50 -33
- package/lib/qbsTable/TableCardList.js +47 -31
- package/lib/qbsTable/Toolbar.js +15 -11
- package/lib/qbsTable/commontypes.d.ts +4 -1
- package/lib/qbsTable/labels.d.ts +48 -0
- package/lib/qbsTable/labels.js +42 -0
- 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 +5 -2
- package/lib/qbsTable/utilities/ColumShowHide.d.ts +2 -0
- package/lib/qbsTable/utilities/ColumShowHide.js +9 -6
- package/lib/qbsTable/utilities/SearchInput.d.ts +1 -0
- package/lib/qbsTable/utilities/SearchInput.js +3 -1
- package/lib/qbsTable/utilities/tablecalc.d.ts +1 -1
- package/lib/qbsTable/utilities/tablecalc.js +7 -2
- package/package.json +1 -1
- package/src/Pagination.tsx +10 -3
- package/src/index.ts +1 -1
- package/src/less/qbs-table.less +95 -4
- package/src/qbsTable/QbsTable.tsx +33 -8
- package/src/qbsTable/TableCardList.tsx +31 -7
- package/src/qbsTable/Toolbar.tsx +17 -10
- package/src/qbsTable/commontypes.ts +6 -0
- package/src/qbsTable/labels.ts +58 -0
- package/src/qbsTable/utilities/CardComponent.tsx +7 -2
- package/src/qbsTable/utilities/CardMenuDropdown.tsx +10 -2
- package/src/qbsTable/utilities/ColumShowHide.tsx +10 -6
- package/src/qbsTable/utilities/SearchInput.tsx +3 -1
- package/src/qbsTable/utilities/tablecalc.ts +8 -2
package/es/less/qbs-table.less
CHANGED
|
@@ -104,12 +104,103 @@
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
.qbs-table[data-theme='dark'] {
|
|
107
|
-
background-color: #
|
|
108
|
-
color: #
|
|
107
|
+
background-color: #1f1f1f;
|
|
108
|
+
color: #f5f5f5;
|
|
109
|
+
|
|
110
|
+
.qbs-table-border-wrap {
|
|
111
|
+
border-color: #3d3d3d;
|
|
112
|
+
background: #262626;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.qbs-table-toolbar-container,
|
|
116
|
+
.qbs-table-toolbar,
|
|
117
|
+
.qbs-table-toolbar-sub-container,
|
|
118
|
+
.sub-qbs-table-toolbar {
|
|
119
|
+
color: #f5f5f5;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.qbs-table-search-container {
|
|
123
|
+
.input {
|
|
124
|
+
border-color: #4a4a4a;
|
|
125
|
+
background: #2d2d2d;
|
|
126
|
+
color: #f5f5f5;
|
|
127
|
+
|
|
128
|
+
&:hover,
|
|
129
|
+
&:focus {
|
|
130
|
+
border-color: #6b6b6b;
|
|
131
|
+
background: #2d2d2d;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.search-button,
|
|
136
|
+
.close-button {
|
|
137
|
+
color: #d1d1d1;
|
|
138
|
+
background-color: transparent;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.qbs-table-column-popup,
|
|
143
|
+
.qbs-table-popup-container {
|
|
144
|
+
background: #2d2d2d;
|
|
145
|
+
color: #f5f5f5;
|
|
146
|
+
border-color: #4a4a4a;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.qbs-table-popup-label,
|
|
150
|
+
.qbs-table-popup-value,
|
|
151
|
+
.qbs-table-reset-link {
|
|
152
|
+
color: #f5f5f5;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.qbs-table-custom-pagination,
|
|
156
|
+
.qbs-table-pagination-text,
|
|
157
|
+
.rows-count {
|
|
158
|
+
color: #f5f5f5;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.qbs-table-icon-container svg path {
|
|
162
|
+
stroke: #e5e5e5;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.custom-select-trigger,
|
|
166
|
+
.custom-select-options {
|
|
167
|
+
background: #2d2d2d;
|
|
168
|
+
color: #f5f5f5;
|
|
169
|
+
border-color: #4a4a4a;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.qbs-card-container {
|
|
173
|
+
border-color: #4a4a4a;
|
|
174
|
+
background: #262626;
|
|
175
|
+
color: #f5f5f5;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.nodata-title {
|
|
179
|
+
color: #f5f5f5;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.tooltiptext {
|
|
183
|
+
background-color: #3d3d3d;
|
|
184
|
+
color: #fff;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.qbs-table-custom-pagination[data-theme='dark'] {
|
|
189
|
+
color: #f5f5f5;
|
|
190
|
+
|
|
191
|
+
.rows-count,
|
|
192
|
+
.qbs-table-pagination-text {
|
|
193
|
+
color: #f5f5f5;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.qbs-table-icon-container svg path {
|
|
197
|
+
stroke: #e5e5e5;
|
|
198
|
+
}
|
|
109
199
|
}
|
|
200
|
+
|
|
110
201
|
.rs-table-cell-content[data-theme='dark'] {
|
|
111
|
-
background-color: #
|
|
112
|
-
color: #
|
|
202
|
+
background-color: #262626;
|
|
203
|
+
color: #f5f5f5;
|
|
113
204
|
}
|
|
114
205
|
/* Dropdown container */
|
|
115
206
|
.qbs-table-menu-dropdown {
|
package/es/qbsTable/QbsTable.js
CHANGED
|
@@ -7,6 +7,7 @@ import HeaderCell from '../HeaderCell';
|
|
|
7
7
|
import Pagination from '../Pagination';
|
|
8
8
|
import Table from '../Table';
|
|
9
9
|
import useResponsiveStore from '../utils/useResponsiveStore';
|
|
10
|
+
import { mergeLabels } from './labels';
|
|
10
11
|
import { ActionCell, CheckCell, CustomRowStatus, CustomTableCell, ExpandCell } from './CustomTableCell';
|
|
11
12
|
import ToolBar from './Toolbar';
|
|
12
13
|
import CardComponent from './utilities/CardComponent';
|
|
@@ -127,7 +128,11 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
127
128
|
rowHeight = _ref.rowHeight,
|
|
128
129
|
isFullScreen = _ref.isFullScreen,
|
|
129
130
|
_ref$showHeader = _ref.showHeader,
|
|
130
|
-
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader
|
|
131
|
+
showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
|
|
132
|
+
labelsProp = _ref.labels;
|
|
133
|
+
var labels = useMemo(function () {
|
|
134
|
+
return mergeLabels(labelsProp);
|
|
135
|
+
}, [labelsProp]);
|
|
131
136
|
var _useState = useState(false),
|
|
132
137
|
loading = _useState[0],
|
|
133
138
|
setLoading = _useState[1];
|
|
@@ -138,8 +143,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
138
143
|
checkedKeys = _useState3[0],
|
|
139
144
|
setCheckedKeys = _useState3[1];
|
|
140
145
|
var dataTheme = useMemo(function () {
|
|
141
|
-
var
|
|
142
|
-
return (
|
|
146
|
+
var _ref2;
|
|
147
|
+
return (_ref2 = theme != null ? theme : typeof localStorage !== 'undefined' ? localStorage.getItem('theme') : null) != null ? _ref2 : 'light';
|
|
143
148
|
}, [theme]);
|
|
144
149
|
var _useState4 = useState(false),
|
|
145
150
|
isOpen = _useState4[0],
|
|
@@ -260,7 +265,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
260
265
|
|
|
261
266
|
// useEffect(() => {
|
|
262
267
|
// }, [columns]);
|
|
263
|
-
var handleClear = function handleClear(
|
|
268
|
+
var handleClear = function handleClear(_ref3) {
|
|
264
269
|
setCheckedKeys([]);
|
|
265
270
|
handleChecked([]);
|
|
266
271
|
};
|
|
@@ -295,12 +300,19 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
295
300
|
fullWidthView: fullWidthView,
|
|
296
301
|
setTableFullView: setTableFullView,
|
|
297
302
|
setRowViewToggle: setRowViewToggle,
|
|
298
|
-
isFullScreen: isFullScreen
|
|
303
|
+
isFullScreen: isFullScreen,
|
|
304
|
+
labels: labels
|
|
299
305
|
};
|
|
306
|
+
useEffect(function () {
|
|
307
|
+
if (!dataTheme || typeof document === 'undefined') return;
|
|
308
|
+
document.body.setAttribute('data-theme', dataTheme === 'dark' ? 'dark' : 'light');
|
|
309
|
+
document.documentElement.dataset.theme = dataTheme;
|
|
310
|
+
}, [dataTheme]);
|
|
300
311
|
var themeToggle = useMemo(function () {
|
|
301
|
-
return document.getElementById('themeToggle');
|
|
312
|
+
return typeof document !== 'undefined' ? document.getElementById('themeToggle') : null;
|
|
302
313
|
}, []);
|
|
303
314
|
useEffect(function () {
|
|
315
|
+
if (theme || typeof document === 'undefined') return;
|
|
304
316
|
var handleThemeToggle = function handleThemeToggle() {
|
|
305
317
|
if (themeToggle !== null && themeToggle !== void 0 && themeToggle.checked) {
|
|
306
318
|
document.body.setAttribute('data-theme', 'dark');
|
|
@@ -322,7 +334,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
322
334
|
themeToggle === null || themeToggle === void 0 ? void 0 : themeToggle.removeEventListener('change', handleThemeToggle);
|
|
323
335
|
document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
|
|
324
336
|
};
|
|
325
|
-
}, [themeToggle]);
|
|
337
|
+
}, [theme, themeToggle]);
|
|
326
338
|
var handleExpanded = useCallback(function (rowData) {
|
|
327
339
|
var keyValue = dataRowKey;
|
|
328
340
|
var key = rowData[keyValue];
|
|
@@ -498,26 +510,26 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
498
510
|
// [columns, dataTheme]
|
|
499
511
|
// );
|
|
500
512
|
var columnsRendered = useMemo(function () {
|
|
501
|
-
return (columns != null ? columns : []).map(function (
|
|
502
|
-
var title =
|
|
503
|
-
field =
|
|
504
|
-
resizable =
|
|
505
|
-
sortable =
|
|
506
|
-
colWidth =
|
|
507
|
-
align =
|
|
508
|
-
grouped =
|
|
509
|
-
groupHeader =
|
|
510
|
-
fixed =
|
|
511
|
-
children =
|
|
512
|
-
customCell =
|
|
513
|
-
renderCell =
|
|
514
|
-
isVisible =
|
|
515
|
-
link =
|
|
516
|
-
getPath =
|
|
517
|
-
rowClick =
|
|
518
|
-
sortKey =
|
|
519
|
-
type =
|
|
520
|
-
hideLink =
|
|
513
|
+
return (columns != null ? columns : []).map(function (_ref4) {
|
|
514
|
+
var title = _ref4.title,
|
|
515
|
+
field = _ref4.field,
|
|
516
|
+
resizable = _ref4.resizable,
|
|
517
|
+
sortable = _ref4.sortable,
|
|
518
|
+
colWidth = _ref4.colWidth,
|
|
519
|
+
align = _ref4.align,
|
|
520
|
+
grouped = _ref4.grouped,
|
|
521
|
+
groupHeader = _ref4.groupHeader,
|
|
522
|
+
fixed = _ref4.fixed,
|
|
523
|
+
children = _ref4.children,
|
|
524
|
+
customCell = _ref4.customCell,
|
|
525
|
+
renderCell = _ref4.renderCell,
|
|
526
|
+
isVisible = _ref4.isVisible,
|
|
527
|
+
link = _ref4.link,
|
|
528
|
+
getPath = _ref4.getPath,
|
|
529
|
+
rowClick = _ref4.rowClick,
|
|
530
|
+
sortKey = _ref4.sortKey,
|
|
531
|
+
type = _ref4.type,
|
|
532
|
+
hideLink = _ref4.hideLink;
|
|
521
533
|
return isVisible ? grouped ? /*#__PURE__*/React.createElement(ColumnGroup, {
|
|
522
534
|
header: groupHeader,
|
|
523
535
|
fixed: fixed,
|
|
@@ -627,7 +639,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
627
639
|
bordered: bordered,
|
|
628
640
|
renderEmpty: function renderEmpty(info) {
|
|
629
641
|
return _renderEmpty ? _renderEmpty(info) : /*#__PURE__*/React.createElement(NoData, {
|
|
630
|
-
title: emptyTitle != null ? emptyTitle :
|
|
642
|
+
title: emptyTitle != null ? emptyTitle : labels.noDataFound,
|
|
631
643
|
subtitle: emptySubTitle
|
|
632
644
|
});
|
|
633
645
|
},
|
|
@@ -733,7 +745,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
733
745
|
setViewMode: setViewMode,
|
|
734
746
|
setIsOpen: setIsOpen,
|
|
735
747
|
handleResetColumns: handleResetColumns,
|
|
736
|
-
handleColumnToggle: handleColumnToggle
|
|
748
|
+
handleColumnToggle: handleColumnToggle,
|
|
749
|
+
labels: labels
|
|
737
750
|
})), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
|
|
738
751
|
width: 40,
|
|
739
752
|
fixed: "right"
|
|
@@ -752,7 +765,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
752
765
|
isOpen: isOpen,
|
|
753
766
|
setIsOpen: setIsOpen,
|
|
754
767
|
handleResetColumns: handleResetColumns,
|
|
755
|
-
handleColumnToggle: handleColumnToggle
|
|
768
|
+
handleColumnToggle: handleColumnToggle,
|
|
769
|
+
labels: labels
|
|
756
770
|
})), /*#__PURE__*/React.createElement(ActionCell, {
|
|
757
771
|
tableBodyRef: tableBodyRef,
|
|
758
772
|
dropType: dropType,
|
|
@@ -771,7 +785,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
771
785
|
}, ((data === null || data === void 0 ? void 0 : data.length) === 0 || !data) && !isLoading && /*#__PURE__*/React.createElement("div", {
|
|
772
786
|
className: "flex flex-col gap-2 p-2 mt-6 card-empty-container"
|
|
773
787
|
}, /*#__PURE__*/React.createElement(NoData, {
|
|
774
|
-
title: emptyTitle != null ? emptyTitle :
|
|
788
|
+
title: emptyTitle != null ? emptyTitle : labels.noDataFound,
|
|
775
789
|
subtitle: emptySubTitle
|
|
776
790
|
})), isLoading ? handleCustomCardLoader ? /*#__PURE__*/React.createElement(React.Fragment, null, handleCustomCardLoader()) : /*#__PURE__*/React.createElement("div", {
|
|
777
791
|
className: "flex flex-col gap-2 p-2"
|
|
@@ -786,10 +800,13 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
786
800
|
childDetailHeading: childDetailHeading,
|
|
787
801
|
columns: columns,
|
|
788
802
|
tableBodyRef: tableBodyRef,
|
|
789
|
-
actionProps: actionProps
|
|
803
|
+
actionProps: actionProps,
|
|
804
|
+
labels: labels
|
|
790
805
|
}));
|
|
791
806
|
})), /*#__PURE__*/React.createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/React.createElement(Pagination, {
|
|
792
|
-
paginationProps: paginationProps
|
|
807
|
+
paginationProps: paginationProps,
|
|
808
|
+
labels: labels,
|
|
809
|
+
dataTheme: dataTheme
|
|
793
810
|
}))));
|
|
794
811
|
};
|
|
795
812
|
export default QbsTable;
|
|
@@ -6,6 +6,7 @@ import ColumnGroup from '../ColumnGroup';
|
|
|
6
6
|
import HeaderCell from '../HeaderCell';
|
|
7
7
|
import Pagination from '../Pagination';
|
|
8
8
|
import Table from '../Table';
|
|
9
|
+
import { mergeLabels } from './labels';
|
|
9
10
|
import { ActionCell, CheckCell, CustomRowStatus, CustomTableCell, ExpandCell } from './CustomTableCell';
|
|
10
11
|
import ToolBar from './Toolbar';
|
|
11
12
|
import ColumToggle from './utilities/ColumShowHide';
|
|
@@ -93,7 +94,11 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
93
94
|
emptySubTitle = _ref.emptySubTitle,
|
|
94
95
|
emptyTitle = _ref.emptyTitle,
|
|
95
96
|
_ref$dropType = _ref.dropType,
|
|
96
|
-
dropType = _ref$dropType === void 0 ? 'horizontal' : _ref$dropType
|
|
97
|
+
dropType = _ref$dropType === void 0 ? 'horizontal' : _ref$dropType,
|
|
98
|
+
labelsProp = _ref.labels;
|
|
99
|
+
var labels = useMemo(function () {
|
|
100
|
+
return mergeLabels(labelsProp);
|
|
101
|
+
}, [labelsProp]);
|
|
97
102
|
var _useState = useState(false),
|
|
98
103
|
loading = _useState[0],
|
|
99
104
|
setLoading = _useState[1];
|
|
@@ -104,8 +109,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
104
109
|
checkedKeys = _useState3[0],
|
|
105
110
|
setCheckedKeys = _useState3[1];
|
|
106
111
|
var dataTheme = useMemo(function () {
|
|
107
|
-
var
|
|
108
|
-
return (
|
|
112
|
+
var _ref2;
|
|
113
|
+
return (_ref2 = theme != null ? theme : typeof localStorage !== 'undefined' ? localStorage.getItem('theme') : null) != null ? _ref2 : 'light';
|
|
109
114
|
}, [theme]);
|
|
110
115
|
var _useState4 = useState(false),
|
|
111
116
|
isOpen = _useState4[0],
|
|
@@ -208,7 +213,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
208
213
|
// useEffect(() => {
|
|
209
214
|
// }, [columns]);
|
|
210
215
|
|
|
211
|
-
var handleClear = function handleClear(
|
|
216
|
+
var handleClear = function handleClear(_ref3) {
|
|
212
217
|
setCheckedKeys([]);
|
|
213
218
|
handleChecked([]);
|
|
214
219
|
};
|
|
@@ -234,12 +239,19 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
234
239
|
onSelect: handleClear,
|
|
235
240
|
handleColumnToggle: handleColumnToggle,
|
|
236
241
|
dataLength: data === null || data === void 0 ? void 0 : data.length,
|
|
237
|
-
searchPlaceholder: searchPlaceholder
|
|
242
|
+
searchPlaceholder: searchPlaceholder,
|
|
243
|
+
labels: labels
|
|
238
244
|
};
|
|
245
|
+
useEffect(function () {
|
|
246
|
+
if (!dataTheme || typeof document === 'undefined') return;
|
|
247
|
+
document.body.setAttribute('data-theme', dataTheme === 'dark' ? 'dark' : 'light');
|
|
248
|
+
document.documentElement.dataset.theme = dataTheme;
|
|
249
|
+
}, [dataTheme]);
|
|
239
250
|
var themeToggle = useMemo(function () {
|
|
240
|
-
return document.getElementById('themeToggle');
|
|
251
|
+
return typeof document !== 'undefined' ? document.getElementById('themeToggle') : null;
|
|
241
252
|
}, []);
|
|
242
253
|
useEffect(function () {
|
|
254
|
+
if (theme || typeof document === 'undefined') return;
|
|
243
255
|
var handleThemeToggle = function handleThemeToggle() {
|
|
244
256
|
if (themeToggle !== null && themeToggle !== void 0 && themeToggle.checked) {
|
|
245
257
|
document.body.setAttribute('data-theme', 'dark');
|
|
@@ -261,7 +273,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
261
273
|
themeToggle === null || themeToggle === void 0 ? void 0 : themeToggle.removeEventListener('change', handleThemeToggle);
|
|
262
274
|
document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
|
|
263
275
|
};
|
|
264
|
-
}, [themeToggle]);
|
|
276
|
+
}, [theme, themeToggle]);
|
|
265
277
|
var handleExpanded = useCallback(function (rowData) {
|
|
266
278
|
var keyValue = dataRowKey;
|
|
267
279
|
var key = rowData[keyValue];
|
|
@@ -321,26 +333,26 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
321
333
|
}) ? true : false;
|
|
322
334
|
};
|
|
323
335
|
var columnsRendered = useMemo(function () {
|
|
324
|
-
return (columns != null ? columns : []).map(function (
|
|
325
|
-
var title =
|
|
326
|
-
field =
|
|
327
|
-
resizable =
|
|
328
|
-
sortable =
|
|
329
|
-
colWidth =
|
|
330
|
-
align =
|
|
331
|
-
grouped =
|
|
332
|
-
groupHeader =
|
|
333
|
-
fixed =
|
|
334
|
-
children =
|
|
335
|
-
customCell =
|
|
336
|
-
renderCell =
|
|
337
|
-
isVisible =
|
|
338
|
-
link =
|
|
339
|
-
getPath =
|
|
340
|
-
rowClick =
|
|
341
|
-
sortKey =
|
|
342
|
-
type =
|
|
343
|
-
hideLink =
|
|
336
|
+
return (columns != null ? columns : []).map(function (_ref4) {
|
|
337
|
+
var title = _ref4.title,
|
|
338
|
+
field = _ref4.field,
|
|
339
|
+
resizable = _ref4.resizable,
|
|
340
|
+
sortable = _ref4.sortable,
|
|
341
|
+
colWidth = _ref4.colWidth,
|
|
342
|
+
align = _ref4.align,
|
|
343
|
+
grouped = _ref4.grouped,
|
|
344
|
+
groupHeader = _ref4.groupHeader,
|
|
345
|
+
fixed = _ref4.fixed,
|
|
346
|
+
children = _ref4.children,
|
|
347
|
+
customCell = _ref4.customCell,
|
|
348
|
+
renderCell = _ref4.renderCell,
|
|
349
|
+
isVisible = _ref4.isVisible,
|
|
350
|
+
link = _ref4.link,
|
|
351
|
+
getPath = _ref4.getPath,
|
|
352
|
+
rowClick = _ref4.rowClick,
|
|
353
|
+
sortKey = _ref4.sortKey,
|
|
354
|
+
type = _ref4.type,
|
|
355
|
+
hideLink = _ref4.hideLink;
|
|
344
356
|
return /*#__PURE__*/React.createElement(React.Fragment, null, isVisible && /*#__PURE__*/React.createElement(React.Fragment, null, grouped ? /*#__PURE__*/React.createElement(ColumnGroup, {
|
|
345
357
|
header: groupHeader,
|
|
346
358
|
fixed: fixed,
|
|
@@ -432,7 +444,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
432
444
|
bordered: bordered,
|
|
433
445
|
renderEmpty: function renderEmpty(info) {
|
|
434
446
|
return _renderEmpty ? _renderEmpty(info) : /*#__PURE__*/React.createElement(NoData, {
|
|
435
|
-
title: emptyTitle != null ? emptyTitle :
|
|
447
|
+
title: emptyTitle != null ? emptyTitle : labels.noDataFound,
|
|
436
448
|
subtitle: emptySubTitle
|
|
437
449
|
});
|
|
438
450
|
},
|
|
@@ -536,7 +548,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
536
548
|
tableHeight: height,
|
|
537
549
|
setIsOpen: setIsOpen,
|
|
538
550
|
handleResetColumns: handleResetColumns,
|
|
539
|
-
handleColumnToggle: handleColumnToggle
|
|
551
|
+
handleColumnToggle: handleColumnToggle,
|
|
552
|
+
labels: labels
|
|
540
553
|
})), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
|
|
541
554
|
width: 40,
|
|
542
555
|
fixed: "right"
|
|
@@ -553,7 +566,8 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
553
566
|
isOpen: isOpen,
|
|
554
567
|
setIsOpen: setIsOpen,
|
|
555
568
|
handleResetColumns: handleResetColumns,
|
|
556
|
-
handleColumnToggle: handleColumnToggle
|
|
569
|
+
handleColumnToggle: handleColumnToggle,
|
|
570
|
+
labels: labels
|
|
557
571
|
})), /*#__PURE__*/React.createElement(ActionCell, {
|
|
558
572
|
tableBodyRef: tableBodyRef,
|
|
559
573
|
actionProps: actionProps,
|
|
@@ -562,7 +576,9 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
562
576
|
handleMenuActions: handleMenuActions,
|
|
563
577
|
dataTheme: dataTheme
|
|
564
578
|
}))), /*#__PURE__*/React.createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/React.createElement(Pagination, {
|
|
565
|
-
paginationProps: paginationProps
|
|
579
|
+
paginationProps: paginationProps,
|
|
580
|
+
labels: labels,
|
|
581
|
+
dataTheme: dataTheme
|
|
566
582
|
}))));
|
|
567
583
|
};
|
|
568
584
|
export default QbsTable;
|
package/es/qbsTable/Toolbar.js
CHANGED
|
@@ -3,10 +3,11 @@ import useResponsiveStore from '../utils/useResponsiveStore';
|
|
|
3
3
|
import debounce from './utilities/debounce';
|
|
4
4
|
import { CardView, ContentView, DefaultView, ExpandIcon, TableView } from './utilities/icons';
|
|
5
5
|
import SearchInput from './utilities/SearchInput';
|
|
6
|
+
import { formatSelectedItems, mergeLabels } from './labels';
|
|
6
7
|
import { getRowDisplayRange } from './utilities/tablecalc';
|
|
7
8
|
import TooltipComponent from './utilities/ToolTip';
|
|
8
9
|
var ToolBar = function ToolBar(_ref) {
|
|
9
|
-
var _paginationProps$tota, _paginationProps$rows, _paginationProps$curr;
|
|
10
|
+
var _checkedKeys$length, _paginationProps$tota, _paginationProps$rows, _paginationProps$curr;
|
|
10
11
|
var pagination = _ref.pagination,
|
|
11
12
|
_ref$paginationProps = _ref.paginationProps,
|
|
12
13
|
paginationProps = _ref$paginationProps === void 0 ? {} : _ref$paginationProps,
|
|
@@ -37,7 +38,9 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
37
38
|
setTableFullView = _ref.setTableFullView,
|
|
38
39
|
setRowViewToggle = _ref.setRowViewToggle,
|
|
39
40
|
_ref$isFullScreen = _ref.isFullScreen,
|
|
40
|
-
isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen
|
|
41
|
+
isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
|
|
42
|
+
labelsProp = _ref.labels;
|
|
43
|
+
var labels = mergeLabels(labelsProp);
|
|
41
44
|
var debouncedOnSearch = useCallback(debounce(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
|
|
42
45
|
var _useState = useState(searchValue),
|
|
43
46
|
searchParam = _useState[0],
|
|
@@ -86,7 +89,8 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
86
89
|
}, /*#__PURE__*/React.createElement("div", {
|
|
87
90
|
className: "qbs-table-primary-filter"
|
|
88
91
|
}, search && /*#__PURE__*/React.createElement(SearchInput, {
|
|
89
|
-
placeholder: searchPlaceholder != null ? searchPlaceholder :
|
|
92
|
+
placeholder: searchPlaceholder != null ? searchPlaceholder : labels.search,
|
|
93
|
+
searchAriaLabel: labels.searchAriaLabel,
|
|
90
94
|
handleChange: handleChange,
|
|
91
95
|
handleSearch: handleSearch,
|
|
92
96
|
searchValue: searchParam
|
|
@@ -114,7 +118,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
114
118
|
className: "flex gap-2 table_cell_style"
|
|
115
119
|
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
116
120
|
tableBodyRef: toolbarRef,
|
|
117
|
-
title:
|
|
121
|
+
title: labels.switchToDefaultView
|
|
118
122
|
}, /*#__PURE__*/React.createElement("div", {
|
|
119
123
|
onClick: function onClick() {
|
|
120
124
|
return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
|
|
@@ -123,7 +127,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
123
127
|
className: "" + (defaultRowView ? 'active' : '')
|
|
124
128
|
}))), /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
125
129
|
tableBodyRef: toolbarRef,
|
|
126
|
-
title:
|
|
130
|
+
title: labels.switchToRelaxedView
|
|
127
131
|
}, /*#__PURE__*/React.createElement("div", {
|
|
128
132
|
onClick: function onClick() {
|
|
129
133
|
return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
|
|
@@ -134,7 +138,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
134
138
|
className: " table_full_width"
|
|
135
139
|
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
136
140
|
tableBodyRef: toolbarRef,
|
|
137
|
-
title:
|
|
141
|
+
title: labels.switchToFullScreen
|
|
138
142
|
}, /*#__PURE__*/React.createElement("div", {
|
|
139
143
|
onClick: function onClick() {
|
|
140
144
|
return setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
|
|
@@ -145,7 +149,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
145
149
|
className: "qbs-table-top-icons flex gap-2"
|
|
146
150
|
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
147
151
|
tableBodyRef: toolbarRef,
|
|
148
|
-
title:
|
|
152
|
+
title: labels.switchToTableView
|
|
149
153
|
}, /*#__PURE__*/React.createElement("div", {
|
|
150
154
|
onClick: function onClick() {
|
|
151
155
|
return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(true);
|
|
@@ -160,7 +164,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
160
164
|
}
|
|
161
165
|
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
162
166
|
tableBodyRef: toolbarRef,
|
|
163
|
-
title:
|
|
167
|
+
title: labels.switchToCardView
|
|
164
168
|
}, /*#__PURE__*/React.createElement(CardView, {
|
|
165
169
|
className: "" + (!tableViewToggle ? 'active' : '')
|
|
166
170
|
}))))))), isMobile && isOpen && /*#__PURE__*/React.createElement("div", {
|
|
@@ -173,14 +177,14 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
173
177
|
className: "qbs-table-toolbar-sub-container-start"
|
|
174
178
|
}, /*#__PURE__*/React.createElement("div", {
|
|
175
179
|
className: "selected-row"
|
|
176
|
-
},
|
|
180
|
+
}, formatSelectedItems(labels.selectedItems, (_checkedKeys$length = checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) != null ? _checkedKeys$length : 0)), /*#__PURE__*/React.createElement("div", {
|
|
177
181
|
className: "selected-row-action"
|
|
178
182
|
}, /*#__PURE__*/React.createElement("button", {
|
|
179
183
|
className: "btn",
|
|
180
184
|
onClick: function onClick() {
|
|
181
185
|
return onSelect === null || onSelect === void 0 ? void 0 : onSelect([]);
|
|
182
186
|
}
|
|
183
|
-
},
|
|
187
|
+
}, labels.clear), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
|
|
184
188
|
return /*#__PURE__*/React.createElement(React.Fragment, null, handleHide(actions) && /*#__PURE__*/React.createElement("button", {
|
|
185
189
|
key: index.toString(),
|
|
186
190
|
className: "btn " + (actions === null || actions === void 0 ? void 0 : actions.buttonClassName),
|
|
@@ -193,6 +197,6 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
193
197
|
}, actions === null || actions === void 0 ? void 0 : actions.icon), /*#__PURE__*/React.createElement("span", null, actions.actionTitle)));
|
|
194
198
|
}))) : /*#__PURE__*/React.createElement("div", null, pagination && paginationProps && dataLength > 0 && /*#__PURE__*/React.createElement("div", {
|
|
195
199
|
className: "rows-count"
|
|
196
|
-
}, 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)))));
|
|
200
|
+
}, 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)))));
|
|
197
201
|
};
|
|
198
202
|
export default ToolBar;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React, { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { QbsTableLabels } from './labels';
|
|
3
|
+
export type { QbsTableLabels };
|
|
2
4
|
interface Content {
|
|
3
5
|
cell: ReactNode | string;
|
|
4
6
|
toolTip?: string;
|
|
@@ -89,6 +91,7 @@ export interface QbsTableProps {
|
|
|
89
91
|
advancefilter?: ReactElement | ReactNode;
|
|
90
92
|
tableHeaderActions?: ReactElement | ReactNode;
|
|
91
93
|
searchPlaceholder?: string;
|
|
94
|
+
labels?: QbsTableLabels;
|
|
92
95
|
selectedRowActions?: {
|
|
93
96
|
actionTitle?: string;
|
|
94
97
|
action: (checked: (number | string)[]) => void;
|
|
@@ -167,6 +170,7 @@ export interface QbsTableToolbarProps {
|
|
|
167
170
|
dataLength: number;
|
|
168
171
|
headerHeight?: number;
|
|
169
172
|
searchPlaceholder?: string;
|
|
173
|
+
labels?: QbsTableLabels;
|
|
170
174
|
tableView?: boolean;
|
|
171
175
|
enableTableToggle?: boolean;
|
|
172
176
|
tableViewToggle?: boolean;
|
|
@@ -187,4 +191,3 @@ export interface QbsTableToolbarProps {
|
|
|
187
191
|
setRowViewToggle?: (value: boolean) => void;
|
|
188
192
|
isFullScreen?: boolean;
|
|
189
193
|
}
|
|
190
|
-
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface QbsTableLabels {
|
|
2
|
+
search?: string;
|
|
3
|
+
searchAriaLabel?: string;
|
|
4
|
+
clear?: string;
|
|
5
|
+
selectedItems?: string;
|
|
6
|
+
switchToDefaultView?: string;
|
|
7
|
+
switchToRelaxedView?: string;
|
|
8
|
+
switchToFullScreen?: string;
|
|
9
|
+
switchToTableView?: string;
|
|
10
|
+
switchToCardView?: string;
|
|
11
|
+
noDataFound?: string;
|
|
12
|
+
showingRange?: (start: number, end: number, total: number) => string;
|
|
13
|
+
itemsPerPage?: string;
|
|
14
|
+
fixedColumns?: string;
|
|
15
|
+
visibleColumns?: string;
|
|
16
|
+
availableColumns?: string;
|
|
17
|
+
resetToDefault?: string;
|
|
18
|
+
save?: string;
|
|
19
|
+
viewMore?: string;
|
|
20
|
+
viewLess?: string;
|
|
21
|
+
actions?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const DEFAULT_QBS_TABLE_LABELS: Required<Omit<QbsTableLabels, 'showingRange'>> & {
|
|
24
|
+
showingRange: (start: number, end: number, total: number) => string;
|
|
25
|
+
};
|
|
26
|
+
export declare const mergeLabels: (labels?: QbsTableLabels) => {
|
|
27
|
+
showingRange: (start: number, end: number, total: number) => string;
|
|
28
|
+
search: string;
|
|
29
|
+
searchAriaLabel: string;
|
|
30
|
+
clear: string;
|
|
31
|
+
selectedItems: string;
|
|
32
|
+
switchToDefaultView: string;
|
|
33
|
+
switchToRelaxedView: string;
|
|
34
|
+
switchToFullScreen: string;
|
|
35
|
+
switchToTableView: string;
|
|
36
|
+
switchToCardView: string;
|
|
37
|
+
noDataFound: string;
|
|
38
|
+
itemsPerPage: string;
|
|
39
|
+
fixedColumns: string;
|
|
40
|
+
visibleColumns: string;
|
|
41
|
+
availableColumns: string;
|
|
42
|
+
resetToDefault: string;
|
|
43
|
+
save: string;
|
|
44
|
+
viewMore: string;
|
|
45
|
+
viewLess: string;
|
|
46
|
+
actions: string;
|
|
47
|
+
};
|
|
48
|
+
export declare const formatSelectedItems: (selectedItemsLabel: string, count: number) => string;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
export var DEFAULT_QBS_TABLE_LABELS = {
|
|
3
|
+
search: 'Search',
|
|
4
|
+
searchAriaLabel: 'Search',
|
|
5
|
+
clear: 'Clear',
|
|
6
|
+
selectedItems: 'Selected Items',
|
|
7
|
+
switchToDefaultView: 'Switch to Default View',
|
|
8
|
+
switchToRelaxedView: 'Switch to Relaxed View',
|
|
9
|
+
switchToFullScreen: 'Switch to Full Screen',
|
|
10
|
+
switchToTableView: 'Switch to Table View',
|
|
11
|
+
switchToCardView: 'Switch to Card View',
|
|
12
|
+
noDataFound: 'No Data Found',
|
|
13
|
+
showingRange: function showingRange(start, end, total) {
|
|
14
|
+
return "Showing " + start + " to " + end + " of " + total;
|
|
15
|
+
},
|
|
16
|
+
itemsPerPage: 'Items per page',
|
|
17
|
+
fixedColumns: 'FIXED COLUMNS',
|
|
18
|
+
visibleColumns: 'VISIBLE COLUMNS',
|
|
19
|
+
availableColumns: 'AVAILABLE COLUMNS',
|
|
20
|
+
resetToDefault: 'Reset to default',
|
|
21
|
+
save: 'Save',
|
|
22
|
+
viewMore: 'View More',
|
|
23
|
+
viewLess: 'View Less',
|
|
24
|
+
actions: 'Actions'
|
|
25
|
+
};
|
|
26
|
+
export var mergeLabels = function mergeLabels(labels) {
|
|
27
|
+
var _labels$showingRange;
|
|
28
|
+
return _extends({}, DEFAULT_QBS_TABLE_LABELS, labels, {
|
|
29
|
+
showingRange: (_labels$showingRange = labels === null || labels === void 0 ? void 0 : labels.showingRange) != null ? _labels$showingRange : DEFAULT_QBS_TABLE_LABELS.showingRange
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export var formatSelectedItems = function formatSelectedItems(selectedItemsLabel, count) {
|
|
33
|
+
return selectedItemsLabel + "(" + count + ") ";
|
|
34
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { QbsColumnProps } from '../commontypes';
|
|
3
|
+
import { type QbsTableLabels } from '../labels';
|
|
3
4
|
type Props = {
|
|
4
5
|
columns: QbsColumnProps[];
|
|
5
6
|
data: any;
|
|
@@ -9,6 +10,7 @@ type Props = {
|
|
|
9
10
|
handleMenuActions?: () => void;
|
|
10
11
|
cardColumLimit?: number;
|
|
11
12
|
childDetailHeading?: string;
|
|
13
|
+
labels?: QbsTableLabels;
|
|
12
14
|
};
|
|
13
15
|
declare const CardComponent: React.FC<Props>;
|
|
14
16
|
export default CardComponent;
|