qbs-react-grid 2.2.6 → 2.2.9
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 +58 -4
- package/es/qbsTable/CustomTableCell.js +4 -2
- package/es/qbsTable/QbsTable.js +39 -6
- package/es/qbsTable/TableCardList.js +37 -6
- package/es/qbsTable/Toolbar.js +87 -23
- 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 +112 -33
- package/es/qbsTable/utilities/VerticalDropDownMenu.js +22 -5
- 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 +58 -4
- package/lib/qbsTable/CustomTableCell.js +4 -2
- package/lib/qbsTable/QbsTable.js +39 -6
- package/lib/qbsTable/TableCardList.js +37 -6
- package/lib/qbsTable/Toolbar.js +85 -21
- 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 +112 -32
- package/lib/qbsTable/utilities/VerticalDropDownMenu.js +21 -4
- 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 +58 -4
- package/src/qbsTable/CustomTableCell.tsx +4 -2
- package/src/qbsTable/QbsTable.tsx +30 -4
- package/src/qbsTable/TableCardList.tsx +28 -4
- package/src/qbsTable/Toolbar.tsx +99 -29
- package/src/qbsTable/commontypes.ts +19 -0
- package/src/qbsTable/labels.ts +55 -0
- package/src/qbsTable/utilities/ColumShowHide.tsx +170 -84
- package/src/qbsTable/utilities/VerticalDropDownMenu.tsx +26 -3
- package/src/qbsTable/utilities/columnToggleCoordinator.ts +14 -0
- package/src/qbsTable/utilities/icons.tsx +76 -3
- package/src/qbsTable/utilities/verticalMenuCoordinator.ts +14 -0
package/es/less/qbs-table.less
CHANGED
|
@@ -376,11 +376,17 @@
|
|
|
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
|
+
}
|
|
385
|
+
|
|
379
386
|
.qbs-table-column-popup {
|
|
380
387
|
position: fixed;
|
|
381
388
|
padding: 8px;
|
|
382
|
-
z-index:
|
|
383
|
-
right: 10px;
|
|
389
|
+
z-index: 10060;
|
|
384
390
|
border-radius: 8px;
|
|
385
391
|
background: #fff;
|
|
386
392
|
box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
|
|
@@ -389,7 +395,6 @@
|
|
|
389
395
|
display: flex;
|
|
390
396
|
flex-direction: column;
|
|
391
397
|
max-height: 500px;
|
|
392
|
-
// overflow-y: auto;
|
|
393
398
|
}
|
|
394
399
|
.qbs-table-popup-container {
|
|
395
400
|
max-width: 400px;
|
|
@@ -408,9 +413,37 @@
|
|
|
408
413
|
|
|
409
414
|
.qbs-table-columns-container {
|
|
410
415
|
display: flex;
|
|
416
|
+
flex-direction: row;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.qbs-table-column-popup--rtl .qbs-table-columns-container {
|
|
411
420
|
flex-direction: row-reverse;
|
|
412
421
|
}
|
|
413
422
|
|
|
423
|
+
.qbs-table-popup-footer {
|
|
424
|
+
display: flex;
|
|
425
|
+
flex-direction: row;
|
|
426
|
+
justify-content: space-between;
|
|
427
|
+
align-items: center;
|
|
428
|
+
gap: 8px;
|
|
429
|
+
padding: 4px 0 0;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
.qbs-table-column-popup--rtl .qbs-table-popup-footer {
|
|
433
|
+
flex-direction: row-reverse;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
.qbs-table-reset-link {
|
|
437
|
+
background: none;
|
|
438
|
+
border: none;
|
|
439
|
+
padding: 0;
|
|
440
|
+
cursor: pointer;
|
|
441
|
+
font-size: 13px;
|
|
442
|
+
font-weight: 500;
|
|
443
|
+
color: inherit;
|
|
444
|
+
text-decoration: none;
|
|
445
|
+
}
|
|
446
|
+
|
|
414
447
|
.qbs-table-columns-label {
|
|
415
448
|
display: flex;
|
|
416
449
|
gap: 10px;
|
|
@@ -746,11 +779,32 @@
|
|
|
746
779
|
|
|
747
780
|
.qbs-table-top-icons {
|
|
748
781
|
color: #999696;
|
|
782
|
+
display: inline-flex;
|
|
783
|
+
align-items: center;
|
|
784
|
+
gap: 8px;
|
|
749
785
|
|
|
750
|
-
.active{
|
|
786
|
+
.active {
|
|
751
787
|
color: #EC6A17;
|
|
752
788
|
}
|
|
753
789
|
}
|
|
790
|
+
|
|
791
|
+
.qbs-row-switch-container {
|
|
792
|
+
display: inline-flex;
|
|
793
|
+
align-items: center;
|
|
794
|
+
gap: 8px;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
.qbs-table-view-btn {
|
|
798
|
+
display: inline-flex;
|
|
799
|
+
align-items: center;
|
|
800
|
+
justify-content: center;
|
|
801
|
+
padding: 0;
|
|
802
|
+
margin: 0;
|
|
803
|
+
border: none;
|
|
804
|
+
background: transparent;
|
|
805
|
+
cursor: pointer;
|
|
806
|
+
color: inherit;
|
|
807
|
+
}
|
|
754
808
|
.qbs-card-empty-wrapper {
|
|
755
809
|
display: flex;
|
|
756
810
|
justify-content: center;
|
|
@@ -85,6 +85,8 @@ export var ExpandCell = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
85
85
|
onChange = _ref3.onChange,
|
|
86
86
|
props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
|
|
87
87
|
return /*#__PURE__*/React.createElement(Cell, props, /*#__PURE__*/React.createElement("button", {
|
|
88
|
+
type: "button",
|
|
89
|
+
className: "qbs-table-expand-btn",
|
|
88
90
|
onClick: function onClick() {
|
|
89
91
|
onChange(rowData);
|
|
90
92
|
}
|
|
@@ -100,7 +102,7 @@ export var ExpandCell = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
100
102
|
fillRule: "evenodd",
|
|
101
103
|
clipRule: "evenodd",
|
|
102
104
|
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",
|
|
103
|
-
fill: "
|
|
105
|
+
fill: "currentColor"
|
|
104
106
|
})) : /*#__PURE__*/React.createElement("svg", {
|
|
105
107
|
width: "7",
|
|
106
108
|
height: "10",
|
|
@@ -111,7 +113,7 @@ export var ExpandCell = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
111
113
|
fillRule: "evenodd",
|
|
112
114
|
clipRule: "evenodd",
|
|
113
115
|
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",
|
|
114
|
-
fill: "
|
|
116
|
+
fill: "currentColor"
|
|
115
117
|
}))));
|
|
116
118
|
});
|
|
117
119
|
export var CustomTableCell = /*#__PURE__*/React.memo(function (_ref4) {
|
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 { mergeQbsTableLabels } 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';
|
|
@@ -107,7 +108,25 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
107
108
|
isCustomTableCardView = _ref$isCustomTableCar === void 0 ? false : _ref$isCustomTableCar,
|
|
108
109
|
handleTableCardView = _ref.handleTableCardView,
|
|
109
110
|
handleCustomCardLoader = _ref.handleCustomCardLoader,
|
|
110
|
-
dropType = _ref.dropType
|
|
111
|
+
dropType = _ref.dropType,
|
|
112
|
+
labelsProp = _ref.labels,
|
|
113
|
+
_ref$rtl = _ref.rtl,
|
|
114
|
+
rtl = _ref$rtl === void 0 ? false : _ref$rtl,
|
|
115
|
+
_ref$rowViewToggle = _ref.rowViewToggle,
|
|
116
|
+
rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
|
|
117
|
+
_ref$defaultRowView = _ref.defaultRowView,
|
|
118
|
+
defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
|
|
119
|
+
_ref$fullWidthView = _ref.fullWidthView,
|
|
120
|
+
fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
|
|
121
|
+
setTableFullView = _ref.setTableFullView,
|
|
122
|
+
setRowViewToggle = _ref.setRowViewToggle,
|
|
123
|
+
_ref$isFullScreen = _ref.isFullScreen,
|
|
124
|
+
isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
|
|
125
|
+
rowHeight = _ref.rowHeight;
|
|
126
|
+
var labels = useMemo(function () {
|
|
127
|
+
return mergeQbsTableLabels(labelsProp);
|
|
128
|
+
}, [labelsProp]);
|
|
129
|
+
var pinSide = rtl ? 'left' : 'right';
|
|
111
130
|
var _useState = useState(false),
|
|
112
131
|
loading = _useState[0],
|
|
113
132
|
setLoading = _useState[1];
|
|
@@ -260,7 +279,15 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
260
279
|
searchPlaceholder: searchPlaceholder,
|
|
261
280
|
setTableViewToggle: setTableViewToggle,
|
|
262
281
|
tableViewToggle: tableViewToggle,
|
|
263
|
-
enableTableToggle: enableTableToggle
|
|
282
|
+
enableTableToggle: enableTableToggle,
|
|
283
|
+
rowViewToggle: rowViewToggle,
|
|
284
|
+
defaultRowView: defaultRowView,
|
|
285
|
+
fullWidthView: fullWidthView,
|
|
286
|
+
setTableFullView: setTableFullView,
|
|
287
|
+
setRowViewToggle: setRowViewToggle,
|
|
288
|
+
isFullScreen: isFullScreen,
|
|
289
|
+
labels: labels,
|
|
290
|
+
rtl: rtl
|
|
264
291
|
};
|
|
265
292
|
var themeToggle = useMemo(function () {
|
|
266
293
|
return document.getElementById('themeToggle');
|
|
@@ -560,6 +587,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
560
587
|
height: autoHeight ? undefined : height,
|
|
561
588
|
key: tableKey,
|
|
562
589
|
tableKey: tableKey,
|
|
590
|
+
rtl: rtl,
|
|
563
591
|
data: data,
|
|
564
592
|
tableBodyRef: tableBodyRef,
|
|
565
593
|
dataTheme: dataTheme,
|
|
@@ -584,6 +612,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
584
612
|
columns: columns,
|
|
585
613
|
minHeight: minHeight,
|
|
586
614
|
headerHeight: headerHeight,
|
|
615
|
+
rowHeight: rowHeight,
|
|
587
616
|
rowExpandedHeight: rowExpandedHeight,
|
|
588
617
|
loading: isLoading != null ? isLoading : loading,
|
|
589
618
|
showHeader: true,
|
|
@@ -668,7 +697,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
668
697
|
getToolTip: customRowStatus.getToolTip
|
|
669
698
|
})), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/React.createElement(Column, {
|
|
670
699
|
width: 40,
|
|
671
|
-
fixed:
|
|
700
|
+
fixed: pinSide
|
|
672
701
|
}, /*#__PURE__*/React.createElement(HeaderCell, {
|
|
673
702
|
verticalAlign: findGrouped() ? 'middle' : undefined,
|
|
674
703
|
className: " " + classes.headerlClass,
|
|
@@ -682,10 +711,12 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
682
711
|
tableHeight: height,
|
|
683
712
|
setIsOpen: setIsOpen,
|
|
684
713
|
handleResetColumns: handleResetColumns,
|
|
685
|
-
handleColumnToggle: handleColumnToggle
|
|
714
|
+
handleColumnToggle: handleColumnToggle,
|
|
715
|
+
labels: labels,
|
|
716
|
+
rtl: rtl
|
|
686
717
|
})), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
|
|
687
718
|
width: 40,
|
|
688
|
-
fixed:
|
|
719
|
+
fixed: pinSide
|
|
689
720
|
}, /*#__PURE__*/React.createElement(HeaderCell, {
|
|
690
721
|
verticalAlign: findGrouped() ? 'middle' : undefined,
|
|
691
722
|
className: " " + classes.headerlClass,
|
|
@@ -699,7 +730,9 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
699
730
|
isOpen: isOpen,
|
|
700
731
|
setIsOpen: setIsOpen,
|
|
701
732
|
handleResetColumns: handleResetColumns,
|
|
702
|
-
handleColumnToggle: handleColumnToggle
|
|
733
|
+
handleColumnToggle: handleColumnToggle,
|
|
734
|
+
labels: labels,
|
|
735
|
+
rtl: rtl
|
|
703
736
|
})), /*#__PURE__*/React.createElement(ActionCell, {
|
|
704
737
|
tableBodyRef: tableBodyRef,
|
|
705
738
|
actionProps: actionProps,
|
|
@@ -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 { mergeQbsTableLabels } 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';
|
|
@@ -92,7 +93,24 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
92
93
|
autoHeight = _ref.autoHeight,
|
|
93
94
|
emptySubTitle = _ref.emptySubTitle,
|
|
94
95
|
emptyTitle = _ref.emptyTitle,
|
|
95
|
-
dropType = _ref.dropType
|
|
96
|
+
dropType = _ref.dropType,
|
|
97
|
+
labelsProp = _ref.labels,
|
|
98
|
+
_ref$rtl = _ref.rtl,
|
|
99
|
+
rtl = _ref$rtl === void 0 ? false : _ref$rtl,
|
|
100
|
+
_ref$rowViewToggle = _ref.rowViewToggle,
|
|
101
|
+
rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
|
|
102
|
+
_ref$defaultRowView = _ref.defaultRowView,
|
|
103
|
+
defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
|
|
104
|
+
_ref$fullWidthView = _ref.fullWidthView,
|
|
105
|
+
fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
|
|
106
|
+
setTableFullView = _ref.setTableFullView,
|
|
107
|
+
setRowViewToggle = _ref.setRowViewToggle,
|
|
108
|
+
_ref$isFullScreen = _ref.isFullScreen,
|
|
109
|
+
isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen;
|
|
110
|
+
var labels = useMemo(function () {
|
|
111
|
+
return mergeQbsTableLabels(labelsProp);
|
|
112
|
+
}, [labelsProp]);
|
|
113
|
+
var pinSide = rtl ? 'left' : 'right';
|
|
96
114
|
var _useState = useState(false),
|
|
97
115
|
loading = _useState[0],
|
|
98
116
|
setLoading = _useState[1];
|
|
@@ -238,7 +256,15 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
238
256
|
onSelect: handleClear,
|
|
239
257
|
handleColumnToggle: handleColumnToggle,
|
|
240
258
|
dataLength: data === null || data === void 0 ? void 0 : data.length,
|
|
241
|
-
searchPlaceholder: searchPlaceholder
|
|
259
|
+
searchPlaceholder: searchPlaceholder,
|
|
260
|
+
rowViewToggle: rowViewToggle,
|
|
261
|
+
defaultRowView: defaultRowView,
|
|
262
|
+
fullWidthView: fullWidthView,
|
|
263
|
+
setTableFullView: setTableFullView,
|
|
264
|
+
setRowViewToggle: setRowViewToggle,
|
|
265
|
+
isFullScreen: isFullScreen,
|
|
266
|
+
labels: labels,
|
|
267
|
+
rtl: rtl
|
|
242
268
|
};
|
|
243
269
|
var themeToggle = useMemo(function () {
|
|
244
270
|
return document.getElementById('themeToggle');
|
|
@@ -419,6 +445,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
419
445
|
height: autoHeight ? undefined : height,
|
|
420
446
|
key: tableKey,
|
|
421
447
|
tableKey: tableKey,
|
|
448
|
+
rtl: rtl,
|
|
422
449
|
data: data,
|
|
423
450
|
tableBodyRef: tableBodyRef,
|
|
424
451
|
dataTheme: dataTheme,
|
|
@@ -527,7 +554,7 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
527
554
|
getToolTip: customRowStatus.getToolTip
|
|
528
555
|
})), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/React.createElement(Column, {
|
|
529
556
|
width: 40,
|
|
530
|
-
fixed:
|
|
557
|
+
fixed: pinSide
|
|
531
558
|
}, /*#__PURE__*/React.createElement(HeaderCell, {
|
|
532
559
|
verticalAlign: findGrouped() ? 'middle' : undefined,
|
|
533
560
|
className: " " + classes.headerlClass,
|
|
@@ -541,10 +568,12 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
541
568
|
tableHeight: height,
|
|
542
569
|
setIsOpen: setIsOpen,
|
|
543
570
|
handleResetColumns: handleResetColumns,
|
|
544
|
-
handleColumnToggle: handleColumnToggle
|
|
571
|
+
handleColumnToggle: handleColumnToggle,
|
|
572
|
+
labels: labels,
|
|
573
|
+
rtl: rtl
|
|
545
574
|
})), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
|
|
546
575
|
width: 40,
|
|
547
|
-
fixed:
|
|
576
|
+
fixed: pinSide
|
|
548
577
|
}, /*#__PURE__*/React.createElement(HeaderCell, {
|
|
549
578
|
verticalAlign: findGrouped() ? 'middle' : undefined,
|
|
550
579
|
className: " " + classes.headerlClass,
|
|
@@ -558,7 +587,9 @@ var QbsTable = function QbsTable(_ref) {
|
|
|
558
587
|
isOpen: isOpen,
|
|
559
588
|
setIsOpen: setIsOpen,
|
|
560
589
|
handleResetColumns: handleResetColumns,
|
|
561
|
-
handleColumnToggle: handleColumnToggle
|
|
590
|
+
handleColumnToggle: handleColumnToggle,
|
|
591
|
+
labels: labels,
|
|
592
|
+
rtl: rtl
|
|
562
593
|
})), /*#__PURE__*/React.createElement(ActionCell, {
|
|
563
594
|
tableBodyRef: tableBodyRef,
|
|
564
595
|
actionProps: actionProps,
|
package/es/qbsTable/Toolbar.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import React, { useCallback, useRef, useState } from 'react';
|
|
1
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import useResponsiveStore from '../utils/useResponsiveStore';
|
|
3
|
+
import { formatSelectedItems, mergeQbsTableLabels } from './labels';
|
|
3
4
|
import debounce from './utilities/debounce';
|
|
4
|
-
import { CardView, TableView } from './utilities/icons';
|
|
5
|
+
import { CardView, ContentView, DefaultView, ExpandIcon, TableView } from './utilities/icons';
|
|
5
6
|
import SearchInput from './utilities/SearchInput';
|
|
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 _ref2, _labels$switchToDefau, _labels$switchToRelax, _labels$switchToFullS, _labels$switchToTable, _labels$switchToCardV, _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,
|
|
@@ -27,7 +28,23 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
27
28
|
tableViewToggle = _ref.tableViewToggle,
|
|
28
29
|
setTableViewToggle = _ref.setTableViewToggle,
|
|
29
30
|
_ref$enableTableToggl = _ref.enableTableToggle,
|
|
30
|
-
enableTableToggle = _ref$enableTableToggl === void 0 ? false : _ref$enableTableToggl
|
|
31
|
+
enableTableToggle = _ref$enableTableToggl === void 0 ? false : _ref$enableTableToggl,
|
|
32
|
+
_ref$rowViewToggle = _ref.rowViewToggle,
|
|
33
|
+
rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
|
|
34
|
+
_ref$defaultRowView = _ref.defaultRowView,
|
|
35
|
+
defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
|
|
36
|
+
_ref$fullWidthView = _ref.fullWidthView,
|
|
37
|
+
fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
|
|
38
|
+
setTableFullView = _ref.setTableFullView,
|
|
39
|
+
setRowViewToggle = _ref.setRowViewToggle,
|
|
40
|
+
_ref$isFullScreen = _ref.isFullScreen,
|
|
41
|
+
isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
|
|
42
|
+
labelsProp = _ref.labels,
|
|
43
|
+
_ref$rtl = _ref.rtl,
|
|
44
|
+
rtl = _ref$rtl === void 0 ? false : _ref$rtl;
|
|
45
|
+
var labels = useMemo(function () {
|
|
46
|
+
return mergeQbsTableLabels(labelsProp);
|
|
47
|
+
}, [labelsProp]);
|
|
31
48
|
var debouncedOnSearch = useCallback(debounce(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
|
|
32
49
|
var _useState = useState(searchValue),
|
|
33
50
|
searchParam = _useState[0],
|
|
@@ -52,11 +69,11 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
52
69
|
var handleHide = function handleHide(actions) {
|
|
53
70
|
if (actions.hidden) {
|
|
54
71
|
return false;
|
|
55
|
-
} else if (actions.customHide == '>2') {
|
|
56
|
-
return checkedKeys && (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) >= 2 ? true : false;
|
|
57
|
-
} else {
|
|
58
|
-
return true;
|
|
59
72
|
}
|
|
73
|
+
if (actions.customHide === '>2') {
|
|
74
|
+
return checkedKeys && (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) >= 2;
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
60
77
|
};
|
|
61
78
|
var isMobile = useResponsiveStore();
|
|
62
79
|
var handleFilterClick = function handleFilterClick() {
|
|
@@ -64,9 +81,10 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
64
81
|
};
|
|
65
82
|
return /*#__PURE__*/React.createElement("div", {
|
|
66
83
|
className: "qbs-table-toolbar-container",
|
|
67
|
-
ref: toolbarRef
|
|
84
|
+
ref: toolbarRef,
|
|
85
|
+
dir: rtl ? 'rtl' : 'ltr'
|
|
68
86
|
}, /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
className: "qbs-table-toolbar " + className
|
|
87
|
+
className: "qbs-table-toolbar " + (className != null ? className : '')
|
|
70
88
|
}, /*#__PURE__*/React.createElement("div", {
|
|
71
89
|
className: "start-container",
|
|
72
90
|
style: {
|
|
@@ -76,7 +94,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
76
94
|
}, /*#__PURE__*/React.createElement("div", {
|
|
77
95
|
className: "qbs-table-primary-filter"
|
|
78
96
|
}, search && /*#__PURE__*/React.createElement(SearchInput, {
|
|
79
|
-
placeholder: searchPlaceholder != null ? searchPlaceholder : 'Search',
|
|
97
|
+
placeholder: (_ref2 = searchPlaceholder != null ? searchPlaceholder : labels.search) != null ? _ref2 : 'Search',
|
|
80
98
|
handleChange: handleChange,
|
|
81
99
|
handleSearch: handleSearch,
|
|
82
100
|
searchValue: searchParam
|
|
@@ -97,13 +115,54 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
97
115
|
strokeLinejoin: "round",
|
|
98
116
|
d: "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"
|
|
99
117
|
}))), tableHeaderActions, /*#__PURE__*/React.createElement("div", {
|
|
100
|
-
className: "
|
|
101
|
-
},
|
|
118
|
+
className: "pr-1 cursor-pointer relative table_custom_ctions"
|
|
119
|
+
}, (rowViewToggle || isFullScreen) && /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: "flex gap-2 qbs-row-switch-container"
|
|
121
|
+
}, rowViewToggle && /*#__PURE__*/React.createElement("div", {
|
|
122
|
+
className: "flex gap-2 table_cell_style qbs-table-top-icons"
|
|
123
|
+
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
124
|
+
tableBodyRef: toolbarRef,
|
|
125
|
+
title: (_labels$switchToDefau = labels.switchToDefaultView) != null ? _labels$switchToDefau : ''
|
|
126
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
127
|
+
type: "button",
|
|
128
|
+
className: "qbs-table-view-btn",
|
|
129
|
+
onClick: function onClick() {
|
|
130
|
+
return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
|
|
131
|
+
}
|
|
132
|
+
}, /*#__PURE__*/React.createElement(DefaultView, {
|
|
133
|
+
className: "" + (defaultRowView ? 'active' : '')
|
|
134
|
+
}))), /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
135
|
+
tableBodyRef: toolbarRef,
|
|
136
|
+
title: (_labels$switchToRelax = labels.switchToRelaxedView) != null ? _labels$switchToRelax : ''
|
|
137
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
138
|
+
type: "button",
|
|
139
|
+
className: "qbs-table-view-btn",
|
|
140
|
+
onClick: function onClick() {
|
|
141
|
+
return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
|
|
142
|
+
}
|
|
143
|
+
}, /*#__PURE__*/React.createElement(ContentView, {
|
|
144
|
+
className: "" + (!defaultRowView ? 'active' : '')
|
|
145
|
+
})))), isFullScreen && /*#__PURE__*/React.createElement("div", {
|
|
146
|
+
className: "table_full_width qbs-table-top-icons"
|
|
147
|
+
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
148
|
+
tableBodyRef: toolbarRef,
|
|
149
|
+
title: (_labels$switchToFullS = labels.switchToFullScreen) != null ? _labels$switchToFullS : ''
|
|
150
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
151
|
+
type: "button",
|
|
152
|
+
className: "qbs-table-view-btn",
|
|
153
|
+
onClick: function onClick() {
|
|
154
|
+
return setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
|
|
155
|
+
}
|
|
156
|
+
}, /*#__PURE__*/React.createElement(ExpandIcon, {
|
|
157
|
+
className: "" + (fullWidthView ? 'active' : '')
|
|
158
|
+
}))))), enableTableToggle && !isMobile && /*#__PURE__*/React.createElement("div", {
|
|
102
159
|
className: "qbs-table-top-icons flex gap-2"
|
|
103
160
|
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
104
161
|
tableBodyRef: toolbarRef,
|
|
105
|
-
title:
|
|
106
|
-
}, /*#__PURE__*/React.createElement("
|
|
162
|
+
title: (_labels$switchToTable = labels.switchToTableView) != null ? _labels$switchToTable : ''
|
|
163
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
164
|
+
type: "button",
|
|
165
|
+
className: "qbs-table-view-btn",
|
|
107
166
|
onClick: function onClick() {
|
|
108
167
|
return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(true);
|
|
109
168
|
}
|
|
@@ -111,13 +170,15 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
111
170
|
className: "" + (tableViewToggle ? 'active' : '')
|
|
112
171
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
113
172
|
className: "border-r h-4 w-1"
|
|
114
|
-
}), /*#__PURE__*/React.createElement(
|
|
173
|
+
}), /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
174
|
+
tableBodyRef: toolbarRef,
|
|
175
|
+
title: (_labels$switchToCardV = labels.switchToCardView) != null ? _labels$switchToCardV : ''
|
|
176
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
177
|
+
type: "button",
|
|
178
|
+
className: "qbs-table-view-btn",
|
|
115
179
|
onClick: function onClick() {
|
|
116
180
|
return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(false);
|
|
117
181
|
}
|
|
118
|
-
}, /*#__PURE__*/React.createElement(TooltipComponent, {
|
|
119
|
-
tableBodyRef: toolbarRef,
|
|
120
|
-
title: 'Switch to Card View'
|
|
121
182
|
}, /*#__PURE__*/React.createElement(CardView, {
|
|
122
183
|
className: "" + (!tableViewToggle ? 'active' : '')
|
|
123
184
|
}))))))), isMobile && isOpen && /*#__PURE__*/React.createElement("div", {
|
|
@@ -130,16 +191,19 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
130
191
|
className: "qbs-table-toolbar-sub-container-start"
|
|
131
192
|
}, /*#__PURE__*/React.createElement("div", {
|
|
132
193
|
className: "selected-row"
|
|
133
|
-
},
|
|
194
|
+
}, formatSelectedItems(checkedKeys.length, labels)), /*#__PURE__*/React.createElement("div", {
|
|
134
195
|
className: "selected-row-action"
|
|
135
196
|
}, /*#__PURE__*/React.createElement("button", {
|
|
197
|
+
type: "button",
|
|
136
198
|
className: "btn",
|
|
137
199
|
onClick: function onClick() {
|
|
138
200
|
return onSelect === null || onSelect === void 0 ? void 0 : onSelect([]);
|
|
139
201
|
}
|
|
140
|
-
},
|
|
141
|
-
return /*#__PURE__*/React.createElement(React.Fragment,
|
|
142
|
-
key: index.toString()
|
|
202
|
+
}, labels.clear), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
|
|
203
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
204
|
+
key: index.toString()
|
|
205
|
+
}, handleHide(actions) && /*#__PURE__*/React.createElement("button", {
|
|
206
|
+
type: "button",
|
|
143
207
|
className: "btn",
|
|
144
208
|
disabled: actions.disabled,
|
|
145
209
|
onClick: function onClick() {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { QbsTableLabels } from './labels';
|
|
2
3
|
interface Content {
|
|
3
4
|
cell: ReactNode | string;
|
|
4
5
|
toolTip?: string;
|
|
@@ -83,6 +84,8 @@ export interface QbsTableProps {
|
|
|
83
84
|
setExpandedRowKeys?: (value: readonly number[]) => void;
|
|
84
85
|
handleMenuActions?: (actions: ActionProps, rowData: any) => void;
|
|
85
86
|
dropType?: 'vertical' | string;
|
|
87
|
+
labels?: QbsTableLabels;
|
|
88
|
+
rtl?: boolean;
|
|
86
89
|
handleRowExpanded?: (rowData: any) => React.ReactNode;
|
|
87
90
|
shouldUpdateScroll?: boolean;
|
|
88
91
|
rowExpand?: boolean;
|
|
@@ -128,6 +131,13 @@ export interface QbsTableProps {
|
|
|
128
131
|
handleTableCardView?: (data: any) => React.ReactNode;
|
|
129
132
|
isCustomTableCardView?: boolean;
|
|
130
133
|
handleCustomCardLoader?: () => React.ReactNode;
|
|
134
|
+
rowViewToggle?: boolean;
|
|
135
|
+
defaultRowView?: boolean;
|
|
136
|
+
fullWidthView?: boolean;
|
|
137
|
+
setTableFullView?: (value: boolean) => void;
|
|
138
|
+
setRowViewToggle?: (value: boolean) => void;
|
|
139
|
+
isFullScreen?: boolean;
|
|
140
|
+
rowHeight?: number;
|
|
131
141
|
}
|
|
132
142
|
export interface QbsTableToolbarProps {
|
|
133
143
|
title?: string;
|
|
@@ -156,6 +166,14 @@ export interface QbsTableToolbarProps {
|
|
|
156
166
|
enableTableToggle?: boolean;
|
|
157
167
|
tableViewToggle?: boolean;
|
|
158
168
|
setTableViewToggle?: (value: boolean) => void;
|
|
169
|
+
rowViewToggle?: boolean;
|
|
170
|
+
defaultRowView?: boolean;
|
|
171
|
+
fullWidthView?: boolean;
|
|
172
|
+
setTableFullView?: (value: boolean) => void;
|
|
173
|
+
setRowViewToggle?: (value: boolean) => void;
|
|
174
|
+
isFullScreen?: boolean;
|
|
175
|
+
labels?: QbsTableLabels;
|
|
176
|
+
rtl?: boolean;
|
|
159
177
|
selectedRowActions?: {
|
|
160
178
|
actionTitle?: string;
|
|
161
179
|
action: (checked: (number | string)[]) => void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type 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 defaultQbsTableLabels: QbsTableLabels;
|
|
24
|
+
export declare const mergeQbsTableLabels: (overrides?: QbsTableLabels) => QbsTableLabels;
|
|
25
|
+
export declare const formatSelectedItems: (count: number, labels?: QbsTableLabels) => string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
export var defaultQbsTableLabels = {
|
|
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 mergeQbsTableLabels = function mergeQbsTableLabels(overrides) {
|
|
27
|
+
return _extends({}, defaultQbsTableLabels, overrides);
|
|
28
|
+
};
|
|
29
|
+
export var formatSelectedItems = function formatSelectedItems(count, labels) {
|
|
30
|
+
var merged = mergeQbsTableLabels(labels);
|
|
31
|
+
return merged.selectedItems + " (" + count + ")";
|
|
32
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { QbsColumnProps } from '../commontypes';
|
|
3
|
+
import type { QbsTableLabels } from '../labels';
|
|
3
4
|
interface ColumnToggleProps {
|
|
4
5
|
columns: QbsColumnProps[];
|
|
5
6
|
onToggle: (columnName: string) => void;
|
|
@@ -9,6 +10,8 @@ interface ColumnToggleProps {
|
|
|
9
10
|
handleColumnToggle?: (columns: QbsColumnProps[]) => void;
|
|
10
11
|
handleResetColumns?: () => void;
|
|
11
12
|
tableHeight?: number;
|
|
13
|
+
labels?: QbsTableLabels;
|
|
14
|
+
rtl?: boolean;
|
|
12
15
|
}
|
|
13
16
|
declare const ColumnToggle: React.FC<ColumnToggleProps>;
|
|
14
17
|
export default ColumnToggle;
|