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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
2
|
|
|
3
3
|
import { QbsColumnProps } from '../commontypes';
|
|
4
|
+
import { mergeLabels, type QbsTableLabels } from '../labels';
|
|
4
5
|
import { SettingsIcon } from './icons';
|
|
5
6
|
|
|
6
7
|
interface ColumnToggleProps {
|
|
@@ -14,6 +15,7 @@ interface ColumnToggleProps {
|
|
|
14
15
|
tableHeight?: number;
|
|
15
16
|
viewMode?: string;
|
|
16
17
|
setViewMode?: (value: string) => void;
|
|
18
|
+
labels?: QbsTableLabels;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
@@ -24,8 +26,10 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
24
26
|
setIsOpen,
|
|
25
27
|
handleResetColumns,
|
|
26
28
|
handleColumnToggle,
|
|
27
|
-
tableHeight = 450
|
|
29
|
+
tableHeight = 450,
|
|
30
|
+
labels: labelsProp
|
|
28
31
|
}) => {
|
|
32
|
+
const labels = mergeLabels(labelsProp);
|
|
29
33
|
const [draggedItem, setDraggedItem] = useState<number | null>(null);
|
|
30
34
|
const popupRef = useRef<HTMLDivElement | null>(null);
|
|
31
35
|
const [dragOverPosition, setDragOverPosition] = useState<number | null>();
|
|
@@ -185,7 +189,7 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
185
189
|
>
|
|
186
190
|
<div className="qbs-table-popup-container">
|
|
187
191
|
<div className="qbs-table-popup-item">
|
|
188
|
-
<div className="qbs-table-popup-label">
|
|
192
|
+
<div className="qbs-table-popup-label">{labels.fixedColumns}</div>
|
|
189
193
|
<div className="qbs-table-columns-container">
|
|
190
194
|
<div className="qbs-table-column">
|
|
191
195
|
{columns.map((column, index) =>
|
|
@@ -196,7 +200,7 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
196
200
|
</div>
|
|
197
201
|
<div className="qbs-table-divider"></div>
|
|
198
202
|
<div className="qbs-table-popup-item">
|
|
199
|
-
<div className="qbs-table-popup-label">
|
|
203
|
+
<div className="qbs-table-popup-label">{labels.visibleColumns}</div>
|
|
200
204
|
<div className="qbs-table-columns-container">
|
|
201
205
|
<div className="qbs-table-column">
|
|
202
206
|
{columns.map((column, index) =>
|
|
@@ -209,7 +213,7 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
209
213
|
<>
|
|
210
214
|
<div className="qbs-table-divider"></div>
|
|
211
215
|
<div className="qbs-table-popup-item">
|
|
212
|
-
<div className="qbs-table-popup-label">
|
|
216
|
+
<div className="qbs-table-popup-label">{labels.availableColumns}</div>
|
|
213
217
|
<div className="qbs-table-columns-container">
|
|
214
218
|
<div className="qbs-table-column">
|
|
215
219
|
{columns.map((column, index) =>
|
|
@@ -233,10 +237,10 @@ const ColumnToggle: React.FC<ColumnToggleProps> = ({
|
|
|
233
237
|
href="#"
|
|
234
238
|
onClick={() => handleResetColumns?.()}
|
|
235
239
|
>
|
|
236
|
-
|
|
240
|
+
{labels.resetToDefault}
|
|
237
241
|
</a>
|
|
238
242
|
<a className="qbs-table-reset-link" href="#" onClick={() => handleColToggle()}>
|
|
239
|
-
|
|
243
|
+
{labels.save}
|
|
240
244
|
</a>
|
|
241
245
|
</div>
|
|
242
246
|
</>
|
|
@@ -2,12 +2,14 @@ import React, { memo, useCallback } from 'react';
|
|
|
2
2
|
|
|
3
3
|
export interface SearchProps {
|
|
4
4
|
placeholder: string;
|
|
5
|
+
searchAriaLabel?: string;
|
|
5
6
|
handleChange: (value: string) => void;
|
|
6
7
|
searchValue: string | undefined;
|
|
7
8
|
handleSearch: (value?: string) => void;
|
|
8
9
|
}
|
|
9
10
|
const SearchInput: React.FC<SearchProps> = ({
|
|
10
11
|
placeholder,
|
|
12
|
+
searchAriaLabel = 'Search',
|
|
11
13
|
handleChange,
|
|
12
14
|
searchValue,
|
|
13
15
|
handleSearch
|
|
@@ -37,7 +39,7 @@ const SearchInput: React.FC<SearchProps> = ({
|
|
|
37
39
|
placeholder={placeholder}
|
|
38
40
|
value={searchValue ?? ''}
|
|
39
41
|
onChange={handleInputChange}
|
|
40
|
-
aria-label=
|
|
42
|
+
aria-label={searchAriaLabel}
|
|
41
43
|
/>
|
|
42
44
|
<button
|
|
43
45
|
className="search-button absolute left-1 bottom-1.5 bg-white text-grey-dark"
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
export function getRowDisplayRange(
|
|
1
|
+
export function getRowDisplayRange(
|
|
2
|
+
totalRows: number,
|
|
3
|
+
rowsPerPage: number,
|
|
4
|
+
pageNumber: number,
|
|
5
|
+
formatRange: (start: number, end: number, total: number) => string = (start, end, total) =>
|
|
6
|
+
`Showing ${start} to ${end} of ${total}`
|
|
7
|
+
) {
|
|
2
8
|
const start = (pageNumber - 1) * rowsPerPage + 1;
|
|
3
9
|
const end = Math.min(pageNumber * rowsPerPage, totalRows);
|
|
4
10
|
|
|
5
|
-
return
|
|
11
|
+
return formatRange(start ?? 0, end ?? 0, totalRows ?? 0);
|
|
6
12
|
}
|