@bsol-oss/react-datatable5 2.0.1 → 2.0.3

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnOrderState, ColumnFiltersState, GlobalFilterTableState, PaginationState, SortingState, VisibilityState, Row, Table as Table$1, Column } from '@tanstack/react-table';
2
+ import { RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnOrderState, ColumnFiltersState, PaginationState, SortingState, VisibilityState, Row, Table as Table$1, Column } from '@tanstack/react-table';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import React$1, { ReactNode } from 'react';
5
5
  import { RankingInfo } from '@tanstack/match-sorter-utils';
@@ -105,7 +105,7 @@ interface DataTableProps<TData> {
105
105
  onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
106
106
  columnOrder: ColumnOrderState;
107
107
  columnFilters: ColumnFiltersState;
108
- globalFilter: GlobalFilterTableState;
108
+ globalFilter: string;
109
109
  density: DensityState;
110
110
  pagination: PaginationState;
111
111
  sorting: SortingState;
@@ -115,7 +115,7 @@ interface DataTableProps<TData> {
115
115
  setSorting: OnChangeFn<SortingState>;
116
116
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
117
117
  setRowSelection: OnChangeFn<RowSelectionState>;
118
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
118
+ setGlobalFilter: OnChangeFn<string>;
119
119
  setColumnOrder: OnChangeFn<ColumnOrderState>;
120
120
  setDensity: OnChangeFn<DensityState>;
121
121
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -132,7 +132,7 @@ interface DataTableServerProps<TData> {
132
132
  onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
133
133
  columnOrder: ColumnOrderState;
134
134
  columnFilters: ColumnFiltersState;
135
- globalFilter: GlobalFilterTableState;
135
+ globalFilter: string;
136
136
  density: DensityState;
137
137
  pagination: PaginationState;
138
138
  sorting: SortingState;
@@ -142,7 +142,7 @@ interface DataTableServerProps<TData> {
142
142
  setSorting: OnChangeFn<SortingState>;
143
143
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
144
144
  setRowSelection: OnChangeFn<RowSelectionState>;
145
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
145
+ setGlobalFilter: OnChangeFn<string>;
146
146
  setColumnOrder: OnChangeFn<ColumnOrderState>;
147
147
  setDensity: OnChangeFn<DensityState>;
148
148
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -288,7 +288,7 @@ interface UseDataTableProps {
288
288
  pagination?: PaginationState;
289
289
  rowSelection?: RowSelectionState;
290
290
  columnOrder?: ColumnOrderState;
291
- globalFilter?: GlobalFilterTableState;
291
+ globalFilter?: string;
292
292
  columnVisibility?: VisibilityState;
293
293
  density?: DensityState;
294
294
  };
@@ -299,14 +299,14 @@ interface UseDataTableReturn {
299
299
  pagination: PaginationState;
300
300
  rowSelection: RowSelectionState;
301
301
  columnOrder: ColumnOrderState;
302
- globalFilter: GlobalFilterTableState;
302
+ globalFilter: string;
303
303
  columnVisibility: VisibilityState;
304
304
  density: DensityState;
305
305
  setPagination: OnChangeFn<PaginationState>;
306
306
  setSorting: OnChangeFn<SortingState>;
307
307
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
308
308
  setRowSelection: OnChangeFn<RowSelectionState>;
309
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
309
+ setGlobalFilter: OnChangeFn<string>;
310
310
  setColumnOrder: OnChangeFn<ColumnOrderState>;
311
311
  setDensity: OnChangeFn<DensityState>;
312
312
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -316,8 +316,8 @@ declare const useDataTable: ({ default: { sorting: defaultSorting, pagination: d
316
316
  declare const useDataTableContext: () => {
317
317
  table: _tanstack_table_core.Table<any>;
318
318
  refreshData: () => void;
319
- globalFilter: _tanstack_table_core.GlobalFilterTableState;
320
- setGlobalFilter: _tanstack_table_core.OnChangeFn<_tanstack_table_core.GlobalFilterTableState>;
319
+ globalFilter: string;
320
+ setGlobalFilter: _tanstack_table_core.OnChangeFn<string>;
321
321
  loading: boolean;
322
322
  hasError: boolean;
323
323
  };
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ const EditOrderButton = ({ text, icon = jsxRuntime.jsx(md.MdOutlineMoveDown, {})
39
39
  const TableContext = react$1.createContext({
40
40
  table: {},
41
41
  refreshData: () => { },
42
- globalFilter: { globalFilter: "" },
42
+ globalFilter: "",
43
43
  setGlobalFilter: () => { },
44
44
  loading: false,
45
45
  hasError: false,
@@ -202,6 +202,7 @@ const DataTable = ({ columns, data, enableRowSelection = true, enableMultiRowSel
202
202
  const table = reactTable.useReactTable({
203
203
  _features: [DensityFeature],
204
204
  data: data,
205
+ rowCount: data.length,
205
206
  columns: columns,
206
207
  getCoreRowModel: reactTable.getCoreRowModel(),
207
208
  getFilteredRowModel: reactTable.getFilteredRowModel(),
@@ -318,13 +319,14 @@ const DataTableServer = ({ columns, url, enableRowSelection = true, enableMultiR
318
319
  obj[filter.id] = filter.value;
319
320
  return { ...accumulator, ...obj };
320
321
  }, {})),
321
- searching: globalFilter.globalFilter,
322
+ searching: globalFilter,
322
323
  },
323
324
  disableFirstFetch: true,
324
325
  });
325
326
  const table = reactTable.useReactTable({
326
327
  _features: [DensityFeature],
327
328
  data: data.results,
329
+ rowCount: data.count ?? 0,
328
330
  columns: columns,
329
331
  getCoreRowModel: reactTable.getCoreRowModel(),
330
332
  manualPagination: true,
@@ -360,7 +362,6 @@ const DataTableServer = ({ columns, url, enableRowSelection = true, enableMultiR
360
362
  },
361
363
  onDensityChange: setDensity,
362
364
  onColumnVisibilityChange: setColumnVisibility,
363
- rowCount: data.count,
364
365
  // for tanstack-table ts bug start
365
366
  filterFns: {
366
367
  fuzzy: () => {
@@ -841,7 +842,19 @@ const TextCell = ({ label, noOfLines = [1], padding = "0rem", children, tooltipP
841
842
  const useDataTable = ({ default: { sorting: defaultSorting = [], pagination: defaultPagination = {
842
843
  pageIndex: 0, //initial page index
843
844
  pageSize: 10, //default page size
844
- }, rowSelection: defaultRowSelection = {}, columnFilters: defaultColumnFilters = [], columnOrder: defaultColumnOrder = [], columnVisibility: defaultColumnVisibility = {}, globalFilter: defaultGlobalFilter = { globalFilter: "" }, density: defaultDensity = "sm", }, } = {
845
+ }, rowSelection: defaultRowSelection = {}, columnFilters: defaultColumnFilters = [], columnOrder: defaultColumnOrder = [], columnVisibility: defaultColumnVisibility = {}, globalFilter: defaultGlobalFilter = "", density: defaultDensity = "sm", } = {
846
+ sorting: [],
847
+ pagination: {
848
+ pageIndex: 0, //initial page index
849
+ pageSize: 10, //age size
850
+ },
851
+ rowSelection: {},
852
+ columnFilters: [],
853
+ columnOrder: [],
854
+ columnVisibility: {},
855
+ globalFilter: "",
856
+ density: "sm",
857
+ }, } = {
845
858
  default: {
846
859
  sorting: [],
847
860
  pagination: {
@@ -852,7 +865,7 @@ const useDataTable = ({ default: { sorting: defaultSorting = [], pagination: def
852
865
  columnFilters: [],
853
866
  columnOrder: [],
854
867
  columnVisibility: {},
855
- globalFilter: { globalFilter: "" },
868
+ globalFilter: "",
856
869
  density: "sm",
857
870
  },
858
871
  }) => {
@@ -907,7 +920,10 @@ const FilterOptions = ({ column }) => {
907
920
  const GlobalFilter = ({ icon = md.MdSearch }) => {
908
921
  const { table } = useDataTableContext();
909
922
  return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(react.Box, { children: jsxRuntime.jsxs(react.InputGroup, { children: [jsxRuntime.jsx(react.InputLeftElement, { pointerEvents: "none", children: jsxRuntime.jsx(react.Icon, { as: icon, color: "gray.300" }) }), jsxRuntime.jsx(react.Input, { value: table.getState().globalFilter.globalFilter, onChange: (e) => {
910
- table.setGlobalFilter(e.target.value);
923
+ if (!!e.target.value) {
924
+ table.setGlobalFilter({ globalFilter: undefined });
925
+ }
926
+ table.setGlobalFilter({ globalFilter: e.target.value });
911
927
  } })] }) }) }));
912
928
  };
913
929
 
package/dist/index.mjs CHANGED
@@ -37,7 +37,7 @@ const EditOrderButton = ({ text, icon = jsx(MdOutlineMoveDown, {}), title = "Cha
37
37
  const TableContext = createContext({
38
38
  table: {},
39
39
  refreshData: () => { },
40
- globalFilter: { globalFilter: "" },
40
+ globalFilter: "",
41
41
  setGlobalFilter: () => { },
42
42
  loading: false,
43
43
  hasError: false,
@@ -200,6 +200,7 @@ const DataTable = ({ columns, data, enableRowSelection = true, enableMultiRowSel
200
200
  const table = useReactTable({
201
201
  _features: [DensityFeature],
202
202
  data: data,
203
+ rowCount: data.length,
203
204
  columns: columns,
204
205
  getCoreRowModel: getCoreRowModel(),
205
206
  getFilteredRowModel: getFilteredRowModel(),
@@ -316,13 +317,14 @@ const DataTableServer = ({ columns, url, enableRowSelection = true, enableMultiR
316
317
  obj[filter.id] = filter.value;
317
318
  return { ...accumulator, ...obj };
318
319
  }, {})),
319
- searching: globalFilter.globalFilter,
320
+ searching: globalFilter,
320
321
  },
321
322
  disableFirstFetch: true,
322
323
  });
323
324
  const table = useReactTable({
324
325
  _features: [DensityFeature],
325
326
  data: data.results,
327
+ rowCount: data.count ?? 0,
326
328
  columns: columns,
327
329
  getCoreRowModel: getCoreRowModel(),
328
330
  manualPagination: true,
@@ -358,7 +360,6 @@ const DataTableServer = ({ columns, url, enableRowSelection = true, enableMultiR
358
360
  },
359
361
  onDensityChange: setDensity,
360
362
  onColumnVisibilityChange: setColumnVisibility,
361
- rowCount: data.count,
362
363
  // for tanstack-table ts bug start
363
364
  filterFns: {
364
365
  fuzzy: () => {
@@ -839,7 +840,19 @@ const TextCell = ({ label, noOfLines = [1], padding = "0rem", children, tooltipP
839
840
  const useDataTable = ({ default: { sorting: defaultSorting = [], pagination: defaultPagination = {
840
841
  pageIndex: 0, //initial page index
841
842
  pageSize: 10, //default page size
842
- }, rowSelection: defaultRowSelection = {}, columnFilters: defaultColumnFilters = [], columnOrder: defaultColumnOrder = [], columnVisibility: defaultColumnVisibility = {}, globalFilter: defaultGlobalFilter = { globalFilter: "" }, density: defaultDensity = "sm", }, } = {
843
+ }, rowSelection: defaultRowSelection = {}, columnFilters: defaultColumnFilters = [], columnOrder: defaultColumnOrder = [], columnVisibility: defaultColumnVisibility = {}, globalFilter: defaultGlobalFilter = "", density: defaultDensity = "sm", } = {
844
+ sorting: [],
845
+ pagination: {
846
+ pageIndex: 0, //initial page index
847
+ pageSize: 10, //age size
848
+ },
849
+ rowSelection: {},
850
+ columnFilters: [],
851
+ columnOrder: [],
852
+ columnVisibility: {},
853
+ globalFilter: "",
854
+ density: "sm",
855
+ }, } = {
843
856
  default: {
844
857
  sorting: [],
845
858
  pagination: {
@@ -850,7 +863,7 @@ const useDataTable = ({ default: { sorting: defaultSorting = [], pagination: def
850
863
  columnFilters: [],
851
864
  columnOrder: [],
852
865
  columnVisibility: {},
853
- globalFilter: { globalFilter: "" },
866
+ globalFilter: "",
854
867
  density: "sm",
855
868
  },
856
869
  }) => {
@@ -905,7 +918,10 @@ const FilterOptions = ({ column }) => {
905
918
  const GlobalFilter = ({ icon = MdSearch }) => {
906
919
  const { table } = useDataTableContext();
907
920
  return (jsx(Fragment, { children: jsx(Box, { children: jsxs(InputGroup, { children: [jsx(InputLeftElement, { pointerEvents: "none", children: jsx(Icon, { as: icon, color: "gray.300" }) }), jsx(Input, { value: table.getState().globalFilter.globalFilter, onChange: (e) => {
908
- table.setGlobalFilter(e.target.value);
921
+ if (!!e.target.value) {
922
+ table.setGlobalFilter({ globalFilter: undefined });
923
+ }
924
+ table.setGlobalFilter({ globalFilter: e.target.value });
909
925
  } })] }) }) }));
910
926
  };
911
927
 
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, GlobalFilterTableState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
+ import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
3
3
  import { RankingInfo } from "@tanstack/match-sorter-utils";
4
4
  import { DensityState } from "../Controls/DensityFeature";
5
5
  declare module "@tanstack/react-table" {
@@ -20,7 +20,7 @@ export interface DataTableProps<TData> {
20
20
  onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
21
21
  columnOrder: ColumnOrderState;
22
22
  columnFilters: ColumnFiltersState;
23
- globalFilter: GlobalFilterTableState;
23
+ globalFilter: string;
24
24
  density: DensityState;
25
25
  pagination: PaginationState;
26
26
  sorting: SortingState;
@@ -30,7 +30,7 @@ export interface DataTableProps<TData> {
30
30
  setSorting: OnChangeFn<SortingState>;
31
31
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
32
32
  setRowSelection: OnChangeFn<RowSelectionState>;
33
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
33
+ setGlobalFilter: OnChangeFn<string>;
34
34
  setColumnOrder: OnChangeFn<ColumnOrderState>;
35
35
  setDensity: OnChangeFn<DensityState>;
36
36
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -1,10 +1,10 @@
1
1
  /// <reference types="react" />
2
- import { GlobalFilterTableState, OnChangeFn, Table } from "@tanstack/react-table";
2
+ import { OnChangeFn, Table } from "@tanstack/react-table";
3
3
  export interface DataTableContext<TData> {
4
4
  table: Table<TData>;
5
5
  refreshData: () => void;
6
- globalFilter: GlobalFilterTableState;
7
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
6
+ globalFilter: string;
7
+ setGlobalFilter: OnChangeFn<string>;
8
8
  loading: boolean;
9
9
  hasError: boolean;
10
10
  }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ColumnDef, ColumnFiltersState, ColumnOrderState, GlobalFilterTableState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
+ import { ColumnDef, ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
3
3
  import { DensityState } from "../Controls/DensityFeature";
4
4
  export interface DataTableServerProps<TData> {
5
5
  children: JSX.Element | JSX.Element[];
@@ -11,7 +11,7 @@ export interface DataTableServerProps<TData> {
11
11
  onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
12
12
  columnOrder: ColumnOrderState;
13
13
  columnFilters: ColumnFiltersState;
14
- globalFilter: GlobalFilterTableState;
14
+ globalFilter: string;
15
15
  density: DensityState;
16
16
  pagination: PaginationState;
17
17
  sorting: SortingState;
@@ -21,7 +21,7 @@ export interface DataTableServerProps<TData> {
21
21
  setSorting: OnChangeFn<SortingState>;
22
22
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
23
23
  setRowSelection: OnChangeFn<RowSelectionState>;
24
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
24
+ setGlobalFilter: OnChangeFn<string>;
25
25
  setColumnOrder: OnChangeFn<ColumnOrderState>;
26
26
  setDensity: OnChangeFn<DensityState>;
27
27
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -1,4 +1,4 @@
1
- import { ColumnFiltersState, ColumnOrderState, GlobalFilterTableState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
1
+ import { ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
2
  import { DensityState } from "../Controls/DensityFeature";
3
3
  export interface UseDataTableProps {
4
4
  default: {
@@ -7,7 +7,7 @@ export interface UseDataTableProps {
7
7
  pagination?: PaginationState;
8
8
  rowSelection?: RowSelectionState;
9
9
  columnOrder?: ColumnOrderState;
10
- globalFilter?: GlobalFilterTableState;
10
+ globalFilter?: string;
11
11
  columnVisibility?: VisibilityState;
12
12
  density?: DensityState;
13
13
  };
@@ -18,14 +18,14 @@ export interface UseDataTableReturn {
18
18
  pagination: PaginationState;
19
19
  rowSelection: RowSelectionState;
20
20
  columnOrder: ColumnOrderState;
21
- globalFilter: GlobalFilterTableState;
21
+ globalFilter: string;
22
22
  columnVisibility: VisibilityState;
23
23
  density: DensityState;
24
24
  setPagination: OnChangeFn<PaginationState>;
25
25
  setSorting: OnChangeFn<SortingState>;
26
26
  setColumnFilters: OnChangeFn<ColumnFiltersState>;
27
27
  setRowSelection: OnChangeFn<RowSelectionState>;
28
- setGlobalFilter: OnChangeFn<GlobalFilterTableState>;
28
+ setGlobalFilter: OnChangeFn<string>;
29
29
  setColumnOrder: OnChangeFn<ColumnOrderState>;
30
30
  setDensity: OnChangeFn<DensityState>;
31
31
  setColumnVisibility: OnChangeFn<VisibilityState>;
@@ -1,8 +1,8 @@
1
1
  export declare const useDataTableContext: () => {
2
2
  table: import("@tanstack/table-core").Table<any>;
3
3
  refreshData: () => void;
4
- globalFilter: import("@tanstack/table-core").GlobalFilterTableState;
5
- setGlobalFilter: import("@tanstack/table-core").OnChangeFn<import("@tanstack/table-core").GlobalFilterTableState>;
4
+ globalFilter: string;
5
+ setGlobalFilter: import("@tanstack/table-core").OnChangeFn<string>;
6
6
  loading: boolean;
7
7
  hasError: boolean;
8
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsol-oss/react-datatable5",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",