pam-grid 1.1.0 → 1.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/index.d.mts CHANGED
@@ -67,6 +67,13 @@ interface GridColumn<T extends object> {
67
67
  aggregate?: (vals: number[]) => string;
68
68
  onCellClick?: (row: T, column: GridColumn<T>) => void;
69
69
  render?: (row: T) => React.ReactNode;
70
+ editable?: boolean;
71
+ editType?: "text" | "number" | "date" | "select";
72
+ editOptions?: {
73
+ value: any;
74
+ label: string;
75
+ icon?: string;
76
+ }[];
70
77
  facetedFilter?: FacetedFilter;
71
78
  }
72
79
  interface groupByObj {
@@ -91,6 +98,7 @@ interface GridFetaures<T extends object> {
91
98
  IsNumbering?: boolean;
92
99
  expand?: boolean;
93
100
  fullScreen?: boolean;
101
+ editable?: boolean;
94
102
  actions?: TableAction<T>[] | ((row: T, toggleExpand: (id: GridRowId) => void) => React.ReactNode);
95
103
  bulkActionsConfig?: BulkAction[];
96
104
  }
@@ -110,13 +118,15 @@ interface AddNewRecord {
110
118
  onClick: () => void;
111
119
  }
112
120
 
113
- declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, }: useGridCoreProps<T>): {
121
+ declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, onRowUpdate, }: useGridCoreProps<T>): {
114
122
  page: number;
115
123
  setPage: react.Dispatch<react.SetStateAction<number>>;
116
124
  pageSize: number;
117
125
  setPageSize: react.Dispatch<react.SetStateAction<number>>;
118
126
  totalRows: number;
119
127
  totalPages: number;
128
+ totalRecord: number;
129
+ setTotalRecord: react.Dispatch<react.SetStateAction<number>>;
120
130
  search: string;
121
131
  setSearch: react.Dispatch<react.SetStateAction<string>>;
122
132
  debouncedSearch: string;
@@ -157,6 +167,8 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
157
167
  facetLoading: Record<string, boolean>;
158
168
  removeFacetFilter: (columnKey: string, id: any) => void;
159
169
  clearFacetFilters: () => void;
170
+ updateRow: (id: GridRowId, patch: Partial<T>) => void;
171
+ clearEdits: () => void;
160
172
  };
161
173
 
162
174
  interface useGridCoreProps<T extends Record<string, any>> {
@@ -168,9 +180,10 @@ interface useGridCoreProps<T extends Record<string, any>> {
168
180
  initialPageSize?: number;
169
181
  addNewRecord?: AddNewRecord;
170
182
  switchFiltersConfig?: SwitchFilter[];
183
+ onRowUpdate?: (id: GridRowId, updatedData: Partial<T>) => void;
171
184
  }
172
185
  interface AdvancedFilterInput {
173
- type?: AdvancedFilterType;
186
+ type?: AdvancedFilterType | null;
174
187
  column?: string;
175
188
  operation?: string;
176
189
  value?: any;
@@ -245,8 +258,9 @@ type PamDropdownProps = {
245
258
  disabled?: boolean;
246
259
  closeOnItemClick?: boolean;
247
260
  className?: string;
261
+ title?: string;
248
262
  };
249
- declare function PamDropdown({ trigger, items, placement, offset, disabled, closeOnItemClick, className, }: PamDropdownProps): react_jsx_runtime.JSX.Element;
263
+ declare function PamDropdown({ trigger, items, title, placement, offset, disabled, closeOnItemClick, className, }: PamDropdownProps): react_jsx_runtime.JSX.Element;
250
264
 
251
265
  declare function getAdvancedFilterType<T extends object>(column: GridColumn<T>): AdvancedFilterType | null;
252
266
  declare function getLeftOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;
package/dist/index.d.ts CHANGED
@@ -67,6 +67,13 @@ interface GridColumn<T extends object> {
67
67
  aggregate?: (vals: number[]) => string;
68
68
  onCellClick?: (row: T, column: GridColumn<T>) => void;
69
69
  render?: (row: T) => React.ReactNode;
70
+ editable?: boolean;
71
+ editType?: "text" | "number" | "date" | "select";
72
+ editOptions?: {
73
+ value: any;
74
+ label: string;
75
+ icon?: string;
76
+ }[];
70
77
  facetedFilter?: FacetedFilter;
71
78
  }
72
79
  interface groupByObj {
@@ -91,6 +98,7 @@ interface GridFetaures<T extends object> {
91
98
  IsNumbering?: boolean;
92
99
  expand?: boolean;
93
100
  fullScreen?: boolean;
101
+ editable?: boolean;
94
102
  actions?: TableAction<T>[] | ((row: T, toggleExpand: (id: GridRowId) => void) => React.ReactNode);
95
103
  bulkActionsConfig?: BulkAction[];
96
104
  }
@@ -110,13 +118,15 @@ interface AddNewRecord {
110
118
  onClick: () => void;
111
119
  }
112
120
 
113
- declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, }: useGridCoreProps<T>): {
121
+ declare function useGridCore<T extends Record<string, any>>({ data, columns, serverMode, rowKey, initialPageSize, addNewRecord, switchFiltersConfig, onRowUpdate, }: useGridCoreProps<T>): {
114
122
  page: number;
115
123
  setPage: react.Dispatch<react.SetStateAction<number>>;
116
124
  pageSize: number;
117
125
  setPageSize: react.Dispatch<react.SetStateAction<number>>;
118
126
  totalRows: number;
119
127
  totalPages: number;
128
+ totalRecord: number;
129
+ setTotalRecord: react.Dispatch<react.SetStateAction<number>>;
120
130
  search: string;
121
131
  setSearch: react.Dispatch<react.SetStateAction<string>>;
122
132
  debouncedSearch: string;
@@ -157,6 +167,8 @@ declare function useGridCore<T extends Record<string, any>>({ data, columns, ser
157
167
  facetLoading: Record<string, boolean>;
158
168
  removeFacetFilter: (columnKey: string, id: any) => void;
159
169
  clearFacetFilters: () => void;
170
+ updateRow: (id: GridRowId, patch: Partial<T>) => void;
171
+ clearEdits: () => void;
160
172
  };
161
173
 
162
174
  interface useGridCoreProps<T extends Record<string, any>> {
@@ -168,9 +180,10 @@ interface useGridCoreProps<T extends Record<string, any>> {
168
180
  initialPageSize?: number;
169
181
  addNewRecord?: AddNewRecord;
170
182
  switchFiltersConfig?: SwitchFilter[];
183
+ onRowUpdate?: (id: GridRowId, updatedData: Partial<T>) => void;
171
184
  }
172
185
  interface AdvancedFilterInput {
173
- type?: AdvancedFilterType;
186
+ type?: AdvancedFilterType | null;
174
187
  column?: string;
175
188
  operation?: string;
176
189
  value?: any;
@@ -245,8 +258,9 @@ type PamDropdownProps = {
245
258
  disabled?: boolean;
246
259
  closeOnItemClick?: boolean;
247
260
  className?: string;
261
+ title?: string;
248
262
  };
249
- declare function PamDropdown({ trigger, items, placement, offset, disabled, closeOnItemClick, className, }: PamDropdownProps): react_jsx_runtime.JSX.Element;
263
+ declare function PamDropdown({ trigger, items, title, placement, offset, disabled, closeOnItemClick, className, }: PamDropdownProps): react_jsx_runtime.JSX.Element;
250
264
 
251
265
  declare function getAdvancedFilterType<T extends object>(column: GridColumn<T>): AdvancedFilterType | null;
252
266
  declare function getLeftOffset<T extends object>(colState: GridColumn<T>[], key: GridColumn<T>["key"]): number;