pam-grid 1.0.5 → 1.0.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/index.css +16 -381
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +40 -21
- package/dist/index.d.ts +40 -21
- package/dist/index.js +326 -367
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +318 -359
- package/dist/index.mjs.map +1 -1
- package/dist/styles/pam.grid.css +16 -381
- package/dist/styles/pam.grid.css.map +1 -1
- package/package.json +1 -1
- package/dist/Box-QGC2UZ43.svg +0 -9
- package/dist/NoSearchResult-R4W2UYSR.svg +0 -15
package/dist/index.d.mts
CHANGED
|
@@ -51,6 +51,10 @@ interface GridColumn<T extends object> {
|
|
|
51
51
|
onCellClick?: (row: T, column: GridColumn<T>) => void;
|
|
52
52
|
render?: (row: T) => React.ReactNode;
|
|
53
53
|
}
|
|
54
|
+
interface groupByObj {
|
|
55
|
+
key: string;
|
|
56
|
+
label: string;
|
|
57
|
+
}
|
|
54
58
|
interface GridColumnState<T extends object> extends GridColumn<T> {
|
|
55
59
|
/** internal-only fields */
|
|
56
60
|
order: number;
|
|
@@ -67,13 +71,27 @@ interface GridFetaures<T extends object> {
|
|
|
67
71
|
pageSizeSelector?: boolean;
|
|
68
72
|
aggregation?: boolean;
|
|
69
73
|
IsNumbering?: boolean;
|
|
70
|
-
resizing?: boolean;
|
|
71
74
|
expand?: boolean;
|
|
72
75
|
actions?: TableAction<T>[] | ((row: T, toggleExpand: (id: GridRowId) => void) => React.ReactNode);
|
|
73
|
-
|
|
76
|
+
bulkActionsConfig?: BulkAction[];
|
|
77
|
+
}
|
|
78
|
+
interface SwitchFilter {
|
|
79
|
+
key: string;
|
|
80
|
+
label: string;
|
|
81
|
+
queryParam: string;
|
|
82
|
+
defaultValue?: boolean;
|
|
83
|
+
trueValue?: string | number | boolean;
|
|
84
|
+
falseValue?: string | number | boolean;
|
|
85
|
+
}
|
|
86
|
+
interface AddNewRecord {
|
|
87
|
+
label: string;
|
|
88
|
+
name?: string;
|
|
89
|
+
icon?: string;
|
|
90
|
+
class?: string;
|
|
91
|
+
onClick: () => void;
|
|
74
92
|
}
|
|
75
93
|
|
|
76
|
-
declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, }: useGridCoreProps<T>): {
|
|
94
|
+
declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, }: useGridCoreProps<T>): {
|
|
77
95
|
page: number;
|
|
78
96
|
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
79
97
|
pageSize: number;
|
|
@@ -85,8 +103,8 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
85
103
|
debouncedSearch: string;
|
|
86
104
|
sortBy: SortState;
|
|
87
105
|
changeSort: (key: string) => void;
|
|
88
|
-
groupBy:
|
|
89
|
-
setGroupBy: react.Dispatch<react.SetStateAction<
|
|
106
|
+
groupBy: groupByObj | null;
|
|
107
|
+
setGroupBy: react.Dispatch<react.SetStateAction<groupByObj | null>>;
|
|
90
108
|
advanceFilters: AdvancedFilterState;
|
|
91
109
|
setColumnAdvanceFilter: (column: string, filter: AdvancedFilterInput | null) => void;
|
|
92
110
|
selected: Set<GridRowId>;
|
|
@@ -95,6 +113,7 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
95
113
|
deselectAllOnPage: (rows: T[]) => void;
|
|
96
114
|
expanded: Set<GridRowId>;
|
|
97
115
|
toggleExpand: (id: GridRowId) => void;
|
|
116
|
+
addNewRecord: AddNewRecord | undefined;
|
|
98
117
|
colState: GridColumnState<T>[];
|
|
99
118
|
visibleColumns: GridColumnState<T>[];
|
|
100
119
|
updateColumn: (key: GridColumn<T>["key"], patch: Partial<GridColumnState<T>>) => void;
|
|
@@ -107,6 +126,11 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
107
126
|
rowKey: string | keyof T;
|
|
108
127
|
emptyState: EmptySate;
|
|
109
128
|
setEmptyState: react.Dispatch<react.SetStateAction<EmptySate>>;
|
|
129
|
+
switchFilters: Record<string, boolean>;
|
|
130
|
+
toggleSwitchFilter: (key: string) => void;
|
|
131
|
+
setSwitchFilters: react.Dispatch<react.SetStateAction<Record<string, boolean>>>;
|
|
132
|
+
switchQuery: Record<string, any>;
|
|
133
|
+
switchFiltersConfig: SwitchFilter[] | undefined;
|
|
110
134
|
};
|
|
111
135
|
|
|
112
136
|
interface useGridCoreProps<T extends Record<string, any>> {
|
|
@@ -116,6 +140,8 @@ interface useGridCoreProps<T extends Record<string, any>> {
|
|
|
116
140
|
/** Primary key field name */
|
|
117
141
|
rowKey?: keyof T | string;
|
|
118
142
|
initialPageSize?: number;
|
|
143
|
+
addNewRecord?: AddNewRecord;
|
|
144
|
+
switchFiltersConfig?: SwitchFilter[];
|
|
119
145
|
}
|
|
120
146
|
interface AdvancedFilterInput {
|
|
121
147
|
type?: AdvancedFilterType;
|
|
@@ -130,25 +156,18 @@ interface ColumnVisibilityPanelProps<T extends Record<string, any>> {
|
|
|
130
156
|
columns: GridColumnState<T>[];
|
|
131
157
|
onToggle: (key: GridColumnState<T>["key"]) => void;
|
|
132
158
|
}
|
|
133
|
-
interface FilterAppliedProps {
|
|
134
|
-
groupBy:
|
|
159
|
+
interface FilterAppliedProps<T extends Record<string, any>> {
|
|
160
|
+
groupBy: groupByObj | null;
|
|
135
161
|
removeGroupby: () => void;
|
|
136
162
|
advance: AdvancedFilterState;
|
|
137
163
|
removeFilter: (columnKey: string) => void;
|
|
164
|
+
grid: ReturnType<typeof useGridCore<T>>;
|
|
138
165
|
}
|
|
139
166
|
interface PamHeaderOptionProps<T extends Record<string, any>> {
|
|
140
167
|
/** Column definition */
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
/** Pin handlers */
|
|
145
|
-
onPinLeft: () => void;
|
|
146
|
-
onPinRight: () => void;
|
|
147
|
-
onUnpin: () => void;
|
|
148
|
-
/** Advanced filter state from grid */
|
|
149
|
-
advanceFilters: AdvancedFilterState;
|
|
150
|
-
/** Setter from useGridCore */
|
|
151
|
-
setColumnAdvanceFilter: (columnKey: string, filter: AdvancedFilterInput | null) => void;
|
|
168
|
+
currentColumn: GridColumn<T>;
|
|
169
|
+
gridFetaures: GridFetaures<T>;
|
|
170
|
+
grid: ReturnType<typeof useGridCore<T>>;
|
|
152
171
|
}
|
|
153
172
|
interface PamGridProps<T extends Record<string, any>> {
|
|
154
173
|
columns: GridColumn<T>[];
|
|
@@ -173,9 +192,9 @@ declare const PamGrid: <T extends Record<string, unknown>>({ columns, grid, load
|
|
|
173
192
|
|
|
174
193
|
declare const ColumnVisibilityPanel: <T extends Record<string, any>>({ columns, onToggle, }: ColumnVisibilityPanelProps<T>) => react_jsx_runtime.JSX.Element;
|
|
175
194
|
|
|
176
|
-
declare const
|
|
195
|
+
declare const PamHeaderOptions: <T extends Record<string, any>>({ currentColumn, gridFetaures, grid, }: PamHeaderOptionProps<T>) => react_jsx_runtime.JSX.Element;
|
|
177
196
|
|
|
178
|
-
declare const FilterApplied: ({ groupBy, removeGroupby, advance, removeFilter, }: FilterAppliedProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
declare const FilterApplied: <T extends Record<string, unknown>>({ groupBy, removeGroupby, advance, removeFilter, grid, }: FilterAppliedProps<T>) => react_jsx_runtime.JSX.Element;
|
|
179
198
|
|
|
180
199
|
type PamDropdownPlacement = "bottom-start" | "bottom-end" | "top-start" | "top-end";
|
|
181
200
|
type PamDropdownItem = {
|
|
@@ -205,4 +224,4 @@ declare function getAdvancedFilterType<T extends object>(column: GridColumn<T>):
|
|
|
205
224
|
declare function getLeftOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;
|
|
206
225
|
declare function getRightOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;
|
|
207
226
|
|
|
208
|
-
export { type AdvancedFilter, type AdvancedFilterType, ColumnVisibilityPanel, FilterApplied, type GridColumn, type GridFetaures, type GridRowId, PamDropdown as PamDropDown, type PamDropdownItem, type PamDropdownPlacement, PamGrid, type PamGridProps,
|
|
227
|
+
export { type AdvancedFilter, type AdvancedFilterType, ColumnVisibilityPanel, FilterApplied, type GridColumn, type GridFetaures, type GridRowId, PamDropdown as PamDropDown, type PamDropdownItem, type PamDropdownPlacement, PamGrid, type PamGridProps, PamHeaderOptions as PamHeaderOption, type PinnedPosition, type TableAction, getAdvancedFilterType, getLeftOffset, getRightOffset, useGridCore };
|
package/dist/index.d.ts
CHANGED
|
@@ -51,6 +51,10 @@ interface GridColumn<T extends object> {
|
|
|
51
51
|
onCellClick?: (row: T, column: GridColumn<T>) => void;
|
|
52
52
|
render?: (row: T) => React.ReactNode;
|
|
53
53
|
}
|
|
54
|
+
interface groupByObj {
|
|
55
|
+
key: string;
|
|
56
|
+
label: string;
|
|
57
|
+
}
|
|
54
58
|
interface GridColumnState<T extends object> extends GridColumn<T> {
|
|
55
59
|
/** internal-only fields */
|
|
56
60
|
order: number;
|
|
@@ -67,13 +71,27 @@ interface GridFetaures<T extends object> {
|
|
|
67
71
|
pageSizeSelector?: boolean;
|
|
68
72
|
aggregation?: boolean;
|
|
69
73
|
IsNumbering?: boolean;
|
|
70
|
-
resizing?: boolean;
|
|
71
74
|
expand?: boolean;
|
|
72
75
|
actions?: TableAction<T>[] | ((row: T, toggleExpand: (id: GridRowId) => void) => React.ReactNode);
|
|
73
|
-
|
|
76
|
+
bulkActionsConfig?: BulkAction[];
|
|
77
|
+
}
|
|
78
|
+
interface SwitchFilter {
|
|
79
|
+
key: string;
|
|
80
|
+
label: string;
|
|
81
|
+
queryParam: string;
|
|
82
|
+
defaultValue?: boolean;
|
|
83
|
+
trueValue?: string | number | boolean;
|
|
84
|
+
falseValue?: string | number | boolean;
|
|
85
|
+
}
|
|
86
|
+
interface AddNewRecord {
|
|
87
|
+
label: string;
|
|
88
|
+
name?: string;
|
|
89
|
+
icon?: string;
|
|
90
|
+
class?: string;
|
|
91
|
+
onClick: () => void;
|
|
74
92
|
}
|
|
75
93
|
|
|
76
|
-
declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, }: useGridCoreProps<T>): {
|
|
94
|
+
declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, }: useGridCoreProps<T>): {
|
|
77
95
|
page: number;
|
|
78
96
|
setPage: react.Dispatch<react.SetStateAction<number>>;
|
|
79
97
|
pageSize: number;
|
|
@@ -85,8 +103,8 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
85
103
|
debouncedSearch: string;
|
|
86
104
|
sortBy: SortState;
|
|
87
105
|
changeSort: (key: string) => void;
|
|
88
|
-
groupBy:
|
|
89
|
-
setGroupBy: react.Dispatch<react.SetStateAction<
|
|
106
|
+
groupBy: groupByObj | null;
|
|
107
|
+
setGroupBy: react.Dispatch<react.SetStateAction<groupByObj | null>>;
|
|
90
108
|
advanceFilters: AdvancedFilterState;
|
|
91
109
|
setColumnAdvanceFilter: (column: string, filter: AdvancedFilterInput | null) => void;
|
|
92
110
|
selected: Set<GridRowId>;
|
|
@@ -95,6 +113,7 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
95
113
|
deselectAllOnPage: (rows: T[]) => void;
|
|
96
114
|
expanded: Set<GridRowId>;
|
|
97
115
|
toggleExpand: (id: GridRowId) => void;
|
|
116
|
+
addNewRecord: AddNewRecord | undefined;
|
|
98
117
|
colState: GridColumnState<T>[];
|
|
99
118
|
visibleColumns: GridColumnState<T>[];
|
|
100
119
|
updateColumn: (key: GridColumn<T>["key"], patch: Partial<GridColumnState<T>>) => void;
|
|
@@ -107,6 +126,11 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
|
|
|
107
126
|
rowKey: string | keyof T;
|
|
108
127
|
emptyState: EmptySate;
|
|
109
128
|
setEmptyState: react.Dispatch<react.SetStateAction<EmptySate>>;
|
|
129
|
+
switchFilters: Record<string, boolean>;
|
|
130
|
+
toggleSwitchFilter: (key: string) => void;
|
|
131
|
+
setSwitchFilters: react.Dispatch<react.SetStateAction<Record<string, boolean>>>;
|
|
132
|
+
switchQuery: Record<string, any>;
|
|
133
|
+
switchFiltersConfig: SwitchFilter[] | undefined;
|
|
110
134
|
};
|
|
111
135
|
|
|
112
136
|
interface useGridCoreProps<T extends Record<string, any>> {
|
|
@@ -116,6 +140,8 @@ interface useGridCoreProps<T extends Record<string, any>> {
|
|
|
116
140
|
/** Primary key field name */
|
|
117
141
|
rowKey?: keyof T | string;
|
|
118
142
|
initialPageSize?: number;
|
|
143
|
+
addNewRecord?: AddNewRecord;
|
|
144
|
+
switchFiltersConfig?: SwitchFilter[];
|
|
119
145
|
}
|
|
120
146
|
interface AdvancedFilterInput {
|
|
121
147
|
type?: AdvancedFilterType;
|
|
@@ -130,25 +156,18 @@ interface ColumnVisibilityPanelProps<T extends Record<string, any>> {
|
|
|
130
156
|
columns: GridColumnState<T>[];
|
|
131
157
|
onToggle: (key: GridColumnState<T>["key"]) => void;
|
|
132
158
|
}
|
|
133
|
-
interface FilterAppliedProps {
|
|
134
|
-
groupBy:
|
|
159
|
+
interface FilterAppliedProps<T extends Record<string, any>> {
|
|
160
|
+
groupBy: groupByObj | null;
|
|
135
161
|
removeGroupby: () => void;
|
|
136
162
|
advance: AdvancedFilterState;
|
|
137
163
|
removeFilter: (columnKey: string) => void;
|
|
164
|
+
grid: ReturnType<typeof useGridCore<T>>;
|
|
138
165
|
}
|
|
139
166
|
interface PamHeaderOptionProps<T extends Record<string, any>> {
|
|
140
167
|
/** Column definition */
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
/** Pin handlers */
|
|
145
|
-
onPinLeft: () => void;
|
|
146
|
-
onPinRight: () => void;
|
|
147
|
-
onUnpin: () => void;
|
|
148
|
-
/** Advanced filter state from grid */
|
|
149
|
-
advanceFilters: AdvancedFilterState;
|
|
150
|
-
/** Setter from useGridCore */
|
|
151
|
-
setColumnAdvanceFilter: (columnKey: string, filter: AdvancedFilterInput | null) => void;
|
|
168
|
+
currentColumn: GridColumn<T>;
|
|
169
|
+
gridFetaures: GridFetaures<T>;
|
|
170
|
+
grid: ReturnType<typeof useGridCore<T>>;
|
|
152
171
|
}
|
|
153
172
|
interface PamGridProps<T extends Record<string, any>> {
|
|
154
173
|
columns: GridColumn<T>[];
|
|
@@ -173,9 +192,9 @@ declare const PamGrid: <T extends Record<string, unknown>>({ columns, grid, load
|
|
|
173
192
|
|
|
174
193
|
declare const ColumnVisibilityPanel: <T extends Record<string, any>>({ columns, onToggle, }: ColumnVisibilityPanelProps<T>) => react_jsx_runtime.JSX.Element;
|
|
175
194
|
|
|
176
|
-
declare const
|
|
195
|
+
declare const PamHeaderOptions: <T extends Record<string, any>>({ currentColumn, gridFetaures, grid, }: PamHeaderOptionProps<T>) => react_jsx_runtime.JSX.Element;
|
|
177
196
|
|
|
178
|
-
declare const FilterApplied: ({ groupBy, removeGroupby, advance, removeFilter, }: FilterAppliedProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
declare const FilterApplied: <T extends Record<string, unknown>>({ groupBy, removeGroupby, advance, removeFilter, grid, }: FilterAppliedProps<T>) => react_jsx_runtime.JSX.Element;
|
|
179
198
|
|
|
180
199
|
type PamDropdownPlacement = "bottom-start" | "bottom-end" | "top-start" | "top-end";
|
|
181
200
|
type PamDropdownItem = {
|
|
@@ -205,4 +224,4 @@ declare function getAdvancedFilterType<T extends object>(column: GridColumn<T>):
|
|
|
205
224
|
declare function getLeftOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;
|
|
206
225
|
declare function getRightOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;
|
|
207
226
|
|
|
208
|
-
export { type AdvancedFilter, type AdvancedFilterType, ColumnVisibilityPanel, FilterApplied, type GridColumn, type GridFetaures, type GridRowId, PamDropdown as PamDropDown, type PamDropdownItem, type PamDropdownPlacement, PamGrid, type PamGridProps,
|
|
227
|
+
export { type AdvancedFilter, type AdvancedFilterType, ColumnVisibilityPanel, FilterApplied, type GridColumn, type GridFetaures, type GridRowId, PamDropdown as PamDropDown, type PamDropdownItem, type PamDropdownPlacement, PamGrid, type PamGridProps, PamHeaderOptions as PamHeaderOption, type PinnedPosition, type TableAction, getAdvancedFilterType, getLeftOffset, getRightOffset, useGridCore };
|