@tint-ui/data-table 0.3.7 → 0.3.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/cjs/data-table.js +5 -3
- package/cjs/index.js +6 -0
- package/cjs/use-data-table.js +14 -13
- package/data-table.js +3 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +1 -1
- package/types.d.ts +5 -1
- package/use-data-table.js +14 -11
package/cjs/data-table.js
CHANGED
|
@@ -13,7 +13,7 @@ var _context = require("./context");
|
|
|
13
13
|
var _dataTableToolbar = require("./data-table-toolbar");
|
|
14
14
|
var _dataTableContent = require("./data-table-content");
|
|
15
15
|
var _dataTablePagination = require("./data-table-pagination");
|
|
16
|
-
const _excluded = ["themePropsType", "header", "table", "data", "navbar", "initialData", "limit", "offset", "lexicon", "total", "onRowClick", "filter", "filterText", "sortBy", "sortDir", "toolbar", "cacheable"];
|
|
16
|
+
const _excluded = ["themePropsType", "header", "table", "data", "navbar", "initialData", "limit", "offset", "lexicon", "total", "onRowClick", "filter", "filterText", "sortBy", "sortDir", "toolbar", "cacheable", "options"];
|
|
17
17
|
const DataTable = exports.DataTable = /*#__PURE__*/React.forwardRef((_ref, ref) => {
|
|
18
18
|
let {
|
|
19
19
|
themePropsType = "data-table",
|
|
@@ -32,7 +32,8 @@ const DataTable = exports.DataTable = /*#__PURE__*/React.forwardRef((_ref, ref)
|
|
|
32
32
|
sortBy,
|
|
33
33
|
sortDir,
|
|
34
34
|
toolbar,
|
|
35
|
-
cacheable
|
|
35
|
+
cacheable,
|
|
36
|
+
options
|
|
36
37
|
} = _ref,
|
|
37
38
|
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
38
39
|
const context = (0, _useDataTable.useDataTable)({
|
|
@@ -51,7 +52,8 @@ const DataTable = exports.DataTable = /*#__PURE__*/React.forwardRef((_ref, ref)
|
|
|
51
52
|
sortDir,
|
|
52
53
|
header,
|
|
53
54
|
onRowClick,
|
|
54
|
-
cacheable
|
|
55
|
+
cacheable,
|
|
56
|
+
options
|
|
55
57
|
});
|
|
56
58
|
return /*#__PURE__*/React.createElement(_context.DataTableContext.Provider, {
|
|
57
59
|
value: context
|
package/cjs/index.js
CHANGED
|
@@ -91,6 +91,12 @@ Object.keys(_paginationSizeOptions).forEach(function (key) {
|
|
|
91
91
|
if (key in exports && exports[key] === _paginationSizeOptions[key]) return;
|
|
92
92
|
exports[key] = _paginationSizeOptions[key];
|
|
93
93
|
});
|
|
94
|
+
var _useDataTable = require("./use-data-table");
|
|
95
|
+
Object.keys(_useDataTable).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (key in exports && exports[key] === _useDataTable[key]) return;
|
|
98
|
+
exports[key] = _useDataTable[key];
|
|
99
|
+
});
|
|
94
100
|
var _types = require("./types");
|
|
95
101
|
Object.keys(_types).forEach(function (key) {
|
|
96
102
|
if (key === "default" || key === "__esModule") return;
|
package/cjs/use-data-table.js
CHANGED
|
@@ -199,7 +199,8 @@ const useDataTable = function (props) {
|
|
|
199
199
|
cacheable = true,
|
|
200
200
|
onRowClick,
|
|
201
201
|
toolbar: toolbarProp,
|
|
202
|
-
navbar: navbarProp
|
|
202
|
+
navbar: navbarProp,
|
|
203
|
+
options = null
|
|
203
204
|
} = props;
|
|
204
205
|
const {
|
|
205
206
|
name,
|
|
@@ -705,17 +706,8 @@ const useDataTable = function (props) {
|
|
|
705
706
|
const {
|
|
706
707
|
pagination
|
|
707
708
|
} = state;
|
|
708
|
-
const tableCtx = (0, _reactTable.useReactTable)({
|
|
709
|
-
data,
|
|
710
|
-
columns,
|
|
709
|
+
const tableCtx = (0, _reactTable.useReactTable)(Object.assign({}, options, {
|
|
711
710
|
pageCount: manual ? state.pageCount : undefined,
|
|
712
|
-
state: {
|
|
713
|
-
columnVisibility,
|
|
714
|
-
sorting: state.sorting,
|
|
715
|
-
globalFilter: state.globalFilter,
|
|
716
|
-
columnFilters: state.columnFilters,
|
|
717
|
-
pagination
|
|
718
|
-
},
|
|
719
711
|
getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
|
|
720
712
|
getPaginationRowModel: (0, _reactTable.getPaginationRowModel)(),
|
|
721
713
|
getFilteredRowModel: (0, _reactTable.getFilteredRowModel)(),
|
|
@@ -728,8 +720,17 @@ const useDataTable = function (props) {
|
|
|
728
720
|
onPaginationChange,
|
|
729
721
|
manualFiltering: manual,
|
|
730
722
|
manualSorting: manual,
|
|
731
|
-
manualPagination: manual
|
|
732
|
-
|
|
723
|
+
manualPagination: manual,
|
|
724
|
+
state: Object.assign({}, options?.state || null, {
|
|
725
|
+
columnVisibility,
|
|
726
|
+
sorting: state.sorting,
|
|
727
|
+
globalFilter: state.globalFilter,
|
|
728
|
+
columnFilters: state.columnFilters,
|
|
729
|
+
pagination
|
|
730
|
+
}),
|
|
731
|
+
data,
|
|
732
|
+
columns
|
|
733
|
+
}));
|
|
733
734
|
|
|
734
735
|
// lexicon page config
|
|
735
736
|
const limit = pagination.pageSize;
|
package/data-table.js
CHANGED
|
@@ -25,6 +25,7 @@ const DataTable = /*#__PURE__*/React.forwardRef(({
|
|
|
25
25
|
sortDir,
|
|
26
26
|
toolbar,
|
|
27
27
|
cacheable,
|
|
28
|
+
options,
|
|
28
29
|
...props
|
|
29
30
|
}, ref) => {
|
|
30
31
|
const context = useDataTable({
|
|
@@ -43,7 +44,8 @@ const DataTable = /*#__PURE__*/React.forwardRef(({
|
|
|
43
44
|
sortDir,
|
|
44
45
|
header,
|
|
45
46
|
onRowClick,
|
|
46
|
-
cacheable
|
|
47
|
+
cacheable,
|
|
48
|
+
options
|
|
47
49
|
});
|
|
48
50
|
return /*#__PURE__*/React.createElement(DataTableContext.Provider, {
|
|
49
51
|
value: context
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import type { Table } from "@tanstack/react-table";
|
|
2
|
+
import type { Table, TableOptions, TableState } from "@tanstack/react-table";
|
|
3
3
|
import type { InputSelectOption } from "@tint-ui/tools";
|
|
4
4
|
import type { TriggerProp } from "@tint-ui/trigger";
|
|
5
5
|
interface FilterRangeType {
|
|
@@ -32,6 +32,9 @@ export type SelectedOption<TData> = OptionTrigger<TData> & {
|
|
|
32
32
|
};
|
|
33
33
|
export type DataTableToolbarSize = "sm" | "md" | "lg";
|
|
34
34
|
export type DataTableNavbarSize = "sm" | "md" | "lg";
|
|
35
|
+
export interface DataTableOptions<TData> extends Partial<Omit<TableOptions<TData>, "pageCount" | "getCoreRowModel" | "getPaginationRowModel" | "getFilteredRowModel" | "getSortedRowModel" | "globalFilterFn" | "onColumnFiltersChange" | "onGlobalFilterChange" | "onColumnVisibilityChange" | "onSortingChange" | "onPaginationChange" | "manualFiltering" | "manualSorting" | "manualPagination" | "data" | "columns" | "state">> {
|
|
36
|
+
state?: Partial<Omit<TableState, "columnVisibility" | "sorting" | "globalFilter" | "columnFilters" | "pagination">>;
|
|
37
|
+
}
|
|
35
38
|
export interface DataTableCoreProps<TData> extends FilterType<TData> {
|
|
36
39
|
table: DataTableType<TData>;
|
|
37
40
|
data: TData[] | DataTableCallbackType<TData>;
|
|
@@ -47,6 +50,7 @@ export interface DataTableCoreProps<TData> extends FilterType<TData> {
|
|
|
47
50
|
navbar?: Partial<Omit<NavbarConfig, "onPageSizeChange">> | null;
|
|
48
51
|
compact?: boolean;
|
|
49
52
|
cacheable?: boolean;
|
|
53
|
+
options?: DataTableOptions<TData>;
|
|
50
54
|
}
|
|
51
55
|
export type StringOrFn = string | (() => string);
|
|
52
56
|
export interface DataTableLexicon {
|
package/use-data-table.js
CHANGED
|
@@ -189,7 +189,8 @@ const useDataTable = function (props) {
|
|
|
189
189
|
cacheable = true,
|
|
190
190
|
onRowClick,
|
|
191
191
|
toolbar: toolbarProp,
|
|
192
|
-
navbar: navbarProp
|
|
192
|
+
navbar: navbarProp,
|
|
193
|
+
options = null
|
|
193
194
|
} = props;
|
|
194
195
|
const {
|
|
195
196
|
name,
|
|
@@ -704,16 +705,8 @@ const useDataTable = function (props) {
|
|
|
704
705
|
pagination
|
|
705
706
|
} = state;
|
|
706
707
|
const tableCtx = useReactTable({
|
|
707
|
-
|
|
708
|
-
columns,
|
|
708
|
+
...options,
|
|
709
709
|
pageCount: manual ? state.pageCount : undefined,
|
|
710
|
-
state: {
|
|
711
|
-
columnVisibility,
|
|
712
|
-
sorting: state.sorting,
|
|
713
|
-
globalFilter: state.globalFilter,
|
|
714
|
-
columnFilters: state.columnFilters,
|
|
715
|
-
pagination
|
|
716
|
-
},
|
|
717
710
|
getCoreRowModel: getCoreRowModel(),
|
|
718
711
|
getPaginationRowModel: getPaginationRowModel(),
|
|
719
712
|
getFilteredRowModel: getFilteredRowModel(),
|
|
@@ -726,7 +719,17 @@ const useDataTable = function (props) {
|
|
|
726
719
|
onPaginationChange,
|
|
727
720
|
manualFiltering: manual,
|
|
728
721
|
manualSorting: manual,
|
|
729
|
-
manualPagination: manual
|
|
722
|
+
manualPagination: manual,
|
|
723
|
+
state: {
|
|
724
|
+
...(options?.state || null),
|
|
725
|
+
columnVisibility,
|
|
726
|
+
sorting: state.sorting,
|
|
727
|
+
globalFilter: state.globalFilter,
|
|
728
|
+
columnFilters: state.columnFilters,
|
|
729
|
+
pagination
|
|
730
|
+
},
|
|
731
|
+
data,
|
|
732
|
+
columns
|
|
730
733
|
});
|
|
731
734
|
|
|
732
735
|
// lexicon page config
|