simple-table-core 1.2.5 → 1.2.7
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/components/simple-table/SimpleTable.d.ts +3 -3
- package/dist/components/simple-table/table-column-editor/columnEditorUtils.d.ts +2 -2
- package/dist/context/TableContext.d.ts +4 -4
- package/dist/hooks/useFilterableData.d.ts +2 -1
- package/dist/hooks/useSelection.d.ts +2 -2
- package/dist/hooks/useSortableData.d.ts +3 -3
- package/dist/hooks/useTableAPI.d.ts +2 -1
- package/dist/hooks/useTableRowProcessing.d.ts +7 -5
- package/dist/index.d.ts +18 -18
- package/dist/types/CellChangeProps.d.ts +2 -1
- package/dist/types/FilterTypes.d.ts +3 -2
- package/dist/types/HeaderObject.d.ts +4 -3
- package/dist/types/OnSortProps.d.ts +2 -1
- package/dist/types/UpdateCellProps.d.ts +2 -1
- package/dist/utils/cellUtils.d.ts +3 -3
- package/dist/utils/rowUtils.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode, MutableRefObject } from "react";
|
|
2
|
-
import HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
import HeaderObject, { Accessor } from "../../types/HeaderObject";
|
|
3
3
|
import CellChangeProps from "../../types/CellChangeProps";
|
|
4
4
|
import Theme from "../../types/Theme";
|
|
5
5
|
import Row from "../../types/Row";
|
|
@@ -34,9 +34,9 @@ interface SimpleTableProps {
|
|
|
34
34
|
onNextPage?: OnNextPage;
|
|
35
35
|
onSortChange?: (sort: SortColumn | null) => void;
|
|
36
36
|
prevIcon?: ReactNode;
|
|
37
|
-
rowGrouping?:
|
|
37
|
+
rowGrouping?: Accessor[];
|
|
38
38
|
rowHeight?: number;
|
|
39
|
-
rowIdAccessor:
|
|
39
|
+
rowIdAccessor: Accessor;
|
|
40
40
|
rows: Row[];
|
|
41
41
|
rowsPerPage?: number;
|
|
42
42
|
selectableCells?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import HeaderObject from "../../../types/HeaderObject";
|
|
2
|
-
export declare const findAndMarkParentsVisible: (headers: HeaderObject[], childAccessor:
|
|
1
|
+
import HeaderObject, { Accessor } from "../../../types/HeaderObject";
|
|
2
|
+
export declare const findAndMarkParentsVisible: (headers: HeaderObject[], childAccessor: Accessor, visited?: Set<string>) => void;
|
|
3
3
|
export declare const areAllChildrenHidden: (children: HeaderObject[]) => boolean;
|
|
4
4
|
export declare const updateParentHeaders: (headers: HeaderObject[]) => void;
|
|
@@ -2,7 +2,7 @@ import { ReactNode, RefObject, MutableRefObject, Dispatch, SetStateAction } from
|
|
|
2
2
|
import { TableFilterState, FilterCondition } from "../types/FilterTypes";
|
|
3
3
|
import TableRow from "../types/TableRow";
|
|
4
4
|
import Cell from "../types/Cell";
|
|
5
|
-
import HeaderObject from "../types/HeaderObject";
|
|
5
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
6
6
|
import OnSortProps from "../types/OnSortProps";
|
|
7
7
|
import Theme from "../types/Theme";
|
|
8
8
|
import CellValue from "../types/CellValue";
|
|
@@ -23,7 +23,7 @@ interface TableContextType {
|
|
|
23
23
|
getBorderClass: (cell: Cell) => string;
|
|
24
24
|
handleApplyFilter: (filter: FilterCondition) => void;
|
|
25
25
|
handleClearAllFilters: () => void;
|
|
26
|
-
handleClearFilter: (accessor:
|
|
26
|
+
handleClearFilter: (accessor: Accessor) => void;
|
|
27
27
|
handleMouseDown: (cell: Cell) => void;
|
|
28
28
|
handleMouseOver: (cell: Cell) => void;
|
|
29
29
|
headerContainerRef: RefObject<HTMLDivElement>;
|
|
@@ -46,9 +46,9 @@ interface TableContextType {
|
|
|
46
46
|
pinnedLeftRef: RefObject<HTMLDivElement>;
|
|
47
47
|
pinnedRightRef: RefObject<HTMLDivElement>;
|
|
48
48
|
prevIcon: ReactNode;
|
|
49
|
-
rowGrouping?:
|
|
49
|
+
rowGrouping?: Accessor[];
|
|
50
50
|
rowHeight: number;
|
|
51
|
-
rowIdAccessor:
|
|
51
|
+
rowIdAccessor: Accessor;
|
|
52
52
|
scrollbarWidth: number;
|
|
53
53
|
selectColumns?: (columnIndices: number[], isShiftKey?: boolean) => void;
|
|
54
54
|
selectableColumns: boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TableFilterState, FilterCondition } from "../types/FilterTypes";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
|
+
import { Accessor } from "../types/HeaderObject";
|
|
3
4
|
interface UseFilterableDataProps {
|
|
4
5
|
rows: Row[];
|
|
5
6
|
externalFilterHandling: boolean;
|
|
@@ -8,7 +9,7 @@ interface UseFilterableDataProps {
|
|
|
8
9
|
interface UseFilterableDataReturn {
|
|
9
10
|
filteredRows: Row[];
|
|
10
11
|
updateFilter: (filter: FilterCondition) => void;
|
|
11
|
-
clearFilter: (accessor:
|
|
12
|
+
clearFilter: (accessor: Accessor) => void;
|
|
12
13
|
clearAllFilters: () => void;
|
|
13
14
|
filters: TableFilterState;
|
|
14
15
|
computeFilteredRowsPreview: (filter: FilterCondition) => Row[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import HeaderObject from "../types/HeaderObject";
|
|
2
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
3
3
|
import type TableRowType from "../types/TableRow";
|
|
4
4
|
import Cell from "../types/Cell";
|
|
5
5
|
export declare const createSetString: ({ rowIndex, colIndex, rowId }: Cell) => string;
|
|
@@ -7,7 +7,7 @@ interface UseSelectionProps {
|
|
|
7
7
|
selectableCells: boolean;
|
|
8
8
|
headers: HeaderObject[];
|
|
9
9
|
tableRows: TableRowType[];
|
|
10
|
-
rowIdAccessor:
|
|
10
|
+
rowIdAccessor: Accessor;
|
|
11
11
|
onCellEdit?: (props: any) => void;
|
|
12
12
|
cellRegistry?: Map<string, any>;
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import HeaderObject from "../types/HeaderObject";
|
|
1
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
3
|
import SortColumn from "../types/SortColumn";
|
|
4
4
|
declare const useSortableData: ({ headers, tableRows, externalSortHandling, onSortChange, rowGrouping, }: {
|
|
@@ -10,7 +10,7 @@ declare const useSortableData: ({ headers, tableRows, externalSortHandling, onSo
|
|
|
10
10
|
}) => {
|
|
11
11
|
sort: SortColumn | null;
|
|
12
12
|
sortedRows: Row[];
|
|
13
|
-
updateSort: (accessor:
|
|
14
|
-
computeSortedRowsPreview: (accessor:
|
|
13
|
+
updateSort: (accessor: Accessor) => void;
|
|
14
|
+
computeSortedRowsPreview: (accessor: Accessor) => Row[];
|
|
15
15
|
};
|
|
16
16
|
export default useSortableData;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { MutableRefObject } from "react";
|
|
2
2
|
import { Row, TableRefType } from "..";
|
|
3
3
|
import { CellRegistryEntry } from "../context/TableContext";
|
|
4
|
+
import { Accessor } from "../types/HeaderObject";
|
|
4
5
|
declare const useTableAPI: ({ tableRef, rows, rowIdAccessor, cellRegistryRef, }: {
|
|
5
6
|
tableRef?: MutableRefObject<TableRefType | null> | undefined;
|
|
6
7
|
rows: Row[];
|
|
7
|
-
rowIdAccessor:
|
|
8
|
+
rowIdAccessor: Accessor;
|
|
8
9
|
cellRegistryRef: MutableRefObject<Map<string, CellRegistryEntry>>;
|
|
9
10
|
}) => void;
|
|
10
11
|
export default useTableAPI;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import Row from "../types/Row";
|
|
2
|
+
import { Accessor } from "../types/HeaderObject";
|
|
3
|
+
import { FilterCondition } from "../types/FilterTypes";
|
|
2
4
|
interface UseTableRowProcessingProps {
|
|
3
5
|
allowAnimations: boolean;
|
|
4
6
|
sortedRows: Row[];
|
|
@@ -6,22 +8,22 @@ interface UseTableRowProcessingProps {
|
|
|
6
8
|
currentPage: number;
|
|
7
9
|
rowsPerPage: number;
|
|
8
10
|
shouldPaginate: boolean;
|
|
9
|
-
rowGrouping?:
|
|
10
|
-
rowIdAccessor:
|
|
11
|
+
rowGrouping?: Accessor[];
|
|
12
|
+
rowIdAccessor: Accessor;
|
|
11
13
|
unexpandedRows: Set<string>;
|
|
12
14
|
expandAll: boolean;
|
|
13
15
|
contentHeight: number;
|
|
14
16
|
rowHeight: number;
|
|
15
17
|
scrollTop: number;
|
|
16
|
-
computeFilteredRowsPreview: (filter:
|
|
17
|
-
computeSortedRowsPreview: (accessor:
|
|
18
|
+
computeFilteredRowsPreview: (filter: FilterCondition) => Row[];
|
|
19
|
+
computeSortedRowsPreview: (accessor: Accessor) => Row[];
|
|
18
20
|
}
|
|
19
21
|
declare const useTableRowProcessing: ({ allowAnimations, sortedRows, originalRows, currentPage, rowsPerPage, shouldPaginate, rowGrouping, rowIdAccessor, unexpandedRows, expandAll, contentHeight, rowHeight, scrollTop, computeFilteredRowsPreview, computeSortedRowsPreview, }: UseTableRowProcessingProps) => {
|
|
20
22
|
currentTableRows: import("../types/TableRow").default[];
|
|
21
23
|
currentVisibleRows: import("../types/TableRow").default[];
|
|
22
24
|
isAnimating: boolean;
|
|
23
25
|
prepareForFilterChange: (filter: any) => void;
|
|
24
|
-
prepareForSortChange: (accessor:
|
|
26
|
+
prepareForSortChange: (accessor: Accessor) => void;
|
|
25
27
|
rowsToRender: any[];
|
|
26
28
|
};
|
|
27
29
|
export default useTableRowProcessing;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import SimpleTable from "./components/simple-table/SimpleTable";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
2
|
+
import BoundingBox from "./types/BoundingBox";
|
|
3
|
+
import Cell from "./types/Cell";
|
|
4
|
+
import CellChangeProps from "./types/CellChangeProps";
|
|
5
|
+
import CellValue from "./types/CellValue";
|
|
6
|
+
import ColumnEditorPosition from "./types/ColumnEditorPosition";
|
|
7
|
+
import DragHandlerProps from "./types/DragHandlerProps";
|
|
8
8
|
import EnumOption from "./types/EnumOption";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
9
|
+
import HeaderObject, { Accessor } from "./types/HeaderObject";
|
|
10
|
+
import { AggregationConfig, AggregationType } from "./types/AggregationTypes";
|
|
11
|
+
import OnSortProps from "./types/OnSortProps";
|
|
12
|
+
import Row from "./types/Row";
|
|
13
|
+
import SharedTableProps from "./types/SharedTableProps";
|
|
14
|
+
import SortColumn from "./types/SortColumn";
|
|
15
|
+
import TableCellProps from "./types/TableCellProps";
|
|
16
|
+
import TableHeaderProps from "./types/TableHeaderProps";
|
|
17
17
|
import TableRefType from "./types/TableRefType";
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
18
|
+
import TableRowProps from "./types/TableRowProps";
|
|
19
|
+
import Theme from "./types/Theme";
|
|
20
|
+
import UpdateDataProps from "./types/UpdateCellProps";
|
|
21
21
|
import { FilterCondition, TableFilterState } from "./types/FilterTypes";
|
|
22
22
|
export { SimpleTable };
|
|
23
|
-
export type { AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellValue, ColumnEditorPosition, DragHandlerProps, EnumOption, FilterCondition, HeaderObject, OnSortProps, Row, SharedTableProps, SortColumn, TableCellProps, TableFilterState, TableHeaderProps, TableRefType, TableRowProps, Theme, UpdateDataProps, };
|
|
23
|
+
export type { Accessor, AggregationConfig, AggregationType, BoundingBox, Cell, CellChangeProps, CellValue, ColumnEditorPosition, DragHandlerProps, EnumOption, FilterCondition, HeaderObject, OnSortProps, Row, SharedTableProps, SortColumn, TableCellProps, TableFilterState, TableHeaderProps, TableRefType, TableRowProps, Theme, UpdateDataProps, };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import CellValue from "./CellValue";
|
|
2
|
+
import { Accessor } from "./HeaderObject";
|
|
2
3
|
export type StringFilterOperator = "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "endsWith" | "isEmpty" | "isNotEmpty";
|
|
3
4
|
export type NumberFilterOperator = "equals" | "notEquals" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual" | "between" | "notBetween" | "isEmpty" | "isNotEmpty";
|
|
4
5
|
export type BooleanFilterOperator = "equals" | "isEmpty" | "isNotEmpty";
|
|
@@ -6,13 +7,13 @@ export type DateFilterOperator = "equals" | "notEquals" | "before" | "after" | "
|
|
|
6
7
|
export type EnumFilterOperator = "in" | "notIn" | "isEmpty" | "isNotEmpty";
|
|
7
8
|
export type FilterOperator = StringFilterOperator | NumberFilterOperator | BooleanFilterOperator | DateFilterOperator | EnumFilterOperator;
|
|
8
9
|
export interface FilterCondition {
|
|
9
|
-
accessor:
|
|
10
|
+
accessor: Accessor;
|
|
10
11
|
operator: FilterOperator;
|
|
11
12
|
value?: CellValue;
|
|
12
13
|
values?: CellValue[];
|
|
13
14
|
}
|
|
14
15
|
export interface TableFilterState {
|
|
15
|
-
[accessor:
|
|
16
|
+
[accessor: Accessor]: FilterCondition;
|
|
16
17
|
}
|
|
17
18
|
export declare const FILTER_OPERATOR_LABELS: Record<FilterOperator, string>;
|
|
18
19
|
export declare const getAvailableOperators: (columnType: "string" | "number" | "boolean" | "date" | "enum") => FilterOperator[];
|
|
@@ -4,12 +4,13 @@ import { Pinned } from "./Pinned";
|
|
|
4
4
|
import Theme from "./Theme";
|
|
5
5
|
import EnumOption from "./EnumOption";
|
|
6
6
|
import { AggregationConfig } from "./AggregationTypes";
|
|
7
|
+
export type Accessor = keyof Row;
|
|
7
8
|
type HeaderObject = {
|
|
8
|
-
accessor:
|
|
9
|
+
accessor: Accessor;
|
|
9
10
|
aggregation?: AggregationConfig;
|
|
10
11
|
align?: "left" | "center" | "right";
|
|
11
12
|
cellRenderer?: ({ accessor, colIndex, row, }: {
|
|
12
|
-
accessor:
|
|
13
|
+
accessor: Accessor;
|
|
13
14
|
colIndex: number;
|
|
14
15
|
row: Row;
|
|
15
16
|
theme: Theme;
|
|
@@ -20,7 +21,7 @@ type HeaderObject = {
|
|
|
20
21
|
expandable?: boolean;
|
|
21
22
|
filterable?: boolean;
|
|
22
23
|
headerRenderer?: ({ accessor, colIndex, header, }: {
|
|
23
|
-
accessor:
|
|
24
|
+
accessor: Accessor;
|
|
24
25
|
colIndex: number;
|
|
25
26
|
header: HeaderObject;
|
|
26
27
|
}) => ReactNode | string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import HeaderObject from "../types/HeaderObject";
|
|
1
|
+
import HeaderObject, { Accessor } from "../types/HeaderObject";
|
|
2
2
|
import { Pinned } from "../types/Pinned";
|
|
3
3
|
import { RowId } from "../types/RowId";
|
|
4
4
|
export declare const getCellId: ({ accessor, rowId }: {
|
|
5
|
-
accessor:
|
|
5
|
+
accessor: Accessor;
|
|
6
6
|
rowId: RowId;
|
|
7
7
|
}) => string;
|
|
8
8
|
export declare const displayCell: ({ header, pinned }: {
|
|
@@ -11,5 +11,5 @@ export declare const displayCell: ({ header, pinned }: {
|
|
|
11
11
|
}) => true | null;
|
|
12
12
|
export declare const getCellKey: ({ rowId, accessor }: {
|
|
13
13
|
rowId: RowId;
|
|
14
|
-
accessor:
|
|
14
|
+
accessor: Accessor;
|
|
15
15
|
}) => string;
|
package/dist/utils/rowUtils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import TableRow from "../types/TableRow";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
3
|
import { RowId } from "../types/RowId";
|
|
4
|
+
import { Accessor } from "../types/HeaderObject";
|
|
4
5
|
/**
|
|
5
6
|
* Check if an array contains Row objects (vs primitive arrays like string[] or number[])
|
|
6
7
|
*/
|
|
@@ -10,7 +11,7 @@ export declare const isRowArray: (data: any) => data is Row[];
|
|
|
10
11
|
*/
|
|
11
12
|
export declare const getRowId: ({ row, rowIdAccessor }: {
|
|
12
13
|
row: Row;
|
|
13
|
-
rowIdAccessor:
|
|
14
|
+
rowIdAccessor: Accessor;
|
|
14
15
|
}) => RowId;
|
|
15
16
|
/**
|
|
16
17
|
* Get nested rows from a row based on the grouping path
|
|
@@ -29,6 +30,6 @@ export declare const flattenRowsWithGrouping: ({ depth, expandAll, unexpandedRow
|
|
|
29
30
|
expandAll?: boolean | undefined;
|
|
30
31
|
unexpandedRows: Set<string>;
|
|
31
32
|
rowGrouping?: string[] | undefined;
|
|
32
|
-
rowIdAccessor:
|
|
33
|
+
rowIdAccessor: Accessor;
|
|
33
34
|
rows: Row[];
|
|
34
35
|
}) => TableRow[];
|
package/package.json
CHANGED