@azrico/reactgrid 1.0.16 → 1.0.18
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/src/views/DataGrid.d.ts +5 -0
- package/dist/src/views/DataGrid.js +18 -9
- package/package.json +1 -1
- package/src/views/DataGrid.tsx +20 -12
|
@@ -52,6 +52,11 @@ export type AzGridProps = {
|
|
|
52
52
|
onRowsChange?: (rows: any[], options: any) => void;
|
|
53
53
|
onRowClick?: (rowIndex: number, row: any) => void;
|
|
54
54
|
onRowDoubleClick?: (rowIndex: number, row: any) => void;
|
|
55
|
+
onLimitChange?: (v: number) => void;
|
|
56
|
+
onSkipChange?: (v: number) => void;
|
|
57
|
+
skip?: number;
|
|
58
|
+
limit?: number;
|
|
59
|
+
loading?: boolean;
|
|
55
60
|
dark?: boolean;
|
|
56
61
|
allowChildRows?: boolean;
|
|
57
62
|
className?: string;
|
|
@@ -185,12 +185,14 @@ function DataGrid(props) {
|
|
|
185
185
|
/* -------------------------------------------------------------------------- */
|
|
186
186
|
/* Create the grid */
|
|
187
187
|
/* -------------------------------------------------------------------------- */
|
|
188
|
-
const
|
|
188
|
+
const base_gridOptions = _react.default.useMemo(() => {
|
|
189
189
|
const firstcolumn = columns[0];
|
|
190
190
|
const licenseKey = props.licenseKey || get_default_key();
|
|
191
191
|
const events = {
|
|
192
|
-
onRowClick: onRowClick,
|
|
193
|
-
onRowDoubleClick: onRowDoubleClick,
|
|
192
|
+
onRowClick: props.onRowClick ? onRowClick : undefined,
|
|
193
|
+
onRowDoubleClick: props.onRowDoubleClick ? onRowDoubleClick : undefined,
|
|
194
|
+
onSkipChange: props.onSkipChange,
|
|
195
|
+
onLimitChange: props.onLimitChange,
|
|
194
196
|
onRowContextMenu: onRowContextMenu
|
|
195
197
|
};
|
|
196
198
|
const extra_ops = {
|
|
@@ -203,18 +205,25 @@ function DataGrid(props) {
|
|
|
203
205
|
return {
|
|
204
206
|
...defaultOptions,
|
|
205
207
|
...events,
|
|
206
|
-
...extra_ops
|
|
208
|
+
...extra_ops
|
|
209
|
+
};
|
|
210
|
+
}, [props.gridOptions]);
|
|
211
|
+
const static_gridOptions = _react.default.useMemo(() => {
|
|
212
|
+
return {
|
|
213
|
+
...base_gridOptions,
|
|
207
214
|
...props.gridOptions,
|
|
208
215
|
...forcedOptions
|
|
209
216
|
};
|
|
210
|
-
}, [props.gridOptions]);
|
|
217
|
+
}, [props.gridOptions, base_gridOptions]);
|
|
211
218
|
const dynamic_gridOptions = _react.default.useMemo(() => {
|
|
212
219
|
return {
|
|
213
|
-
selected: props.selected
|
|
220
|
+
selected: props.selected,
|
|
221
|
+
loading: props.loading,
|
|
222
|
+
limit: props.limit,
|
|
223
|
+
skip: props.skip
|
|
214
224
|
};
|
|
215
|
-
}, [props.selected]);
|
|
216
|
-
/*
|
|
217
|
-
function onCellEdit(cell) {}
|
|
225
|
+
}, [props.selected, props.loading, props.skip]);
|
|
226
|
+
/* --------------------------------- events --------------------------------- */
|
|
218
227
|
function onRowContextMenu(row, ev) {
|
|
219
228
|
if (_helpers.func_selection.has_selection()) return;
|
|
220
229
|
update_menuAnchorEl(_helpers.func_selection.getVirtualElement(ev.clientX, ev.clientY));
|
package/package.json
CHANGED
package/src/views/DataGrid.tsx
CHANGED
|
@@ -69,11 +69,18 @@ export type AzGridProps = {
|
|
|
69
69
|
RowDetail?: RowDetailsFunc;
|
|
70
70
|
|
|
71
71
|
selected?: RowSelectionValue;
|
|
72
|
+
/* -------------------------------------------------------------------------- */
|
|
72
73
|
onSelectionChange?: OnSelectionChangeFunc;
|
|
73
74
|
onRowsChange?: (rows: any[], options: any) => void;
|
|
74
75
|
onRowClick?: (rowIndex: number, row: any) => void;
|
|
75
76
|
onRowDoubleClick?: (rowIndex: number, row: any) => void;
|
|
76
|
-
|
|
77
|
+
onLimitChange?: (v: number) => void;
|
|
78
|
+
onSkipChange?: (v: number) => void;
|
|
79
|
+
/* -------------------------------------------------------------------------- */
|
|
80
|
+
skip?: number;
|
|
81
|
+
limit?: number;
|
|
82
|
+
//
|
|
83
|
+
loading?: boolean;
|
|
77
84
|
dark?: boolean;
|
|
78
85
|
allowChildRows?: boolean;
|
|
79
86
|
|
|
@@ -260,13 +267,14 @@ function DataGrid(props: DataGridProps) {
|
|
|
260
267
|
/* Create the grid */
|
|
261
268
|
/* -------------------------------------------------------------------------- */
|
|
262
269
|
|
|
263
|
-
const
|
|
270
|
+
const base_gridOptions = React.useMemo<GridOptions>(() => {
|
|
264
271
|
const firstcolumn = columns[0];
|
|
265
|
-
|
|
266
272
|
const licenseKey = props.licenseKey || get_default_key();
|
|
267
273
|
const events: GridOptions = {
|
|
268
|
-
onRowClick: onRowClick,
|
|
269
|
-
onRowDoubleClick: onRowDoubleClick,
|
|
274
|
+
onRowClick: props.onRowClick ? onRowClick : undefined,
|
|
275
|
+
onRowDoubleClick: props.onRowDoubleClick ? onRowDoubleClick : undefined,
|
|
276
|
+
onSkipChange: props.onSkipChange,
|
|
277
|
+
onLimitChange: props.onLimitChange,
|
|
270
278
|
onRowContextMenu: onRowContextMenu,
|
|
271
279
|
};
|
|
272
280
|
const extra_ops: GridOptions = {
|
|
@@ -276,16 +284,16 @@ function DataGrid(props: DataGridProps) {
|
|
|
276
284
|
renderRowDetails: props.RowDetail,
|
|
277
285
|
theme: dark ? 'amber-dark' : 'default-light',
|
|
278
286
|
};
|
|
279
|
-
return { ...defaultOptions, ...events, ...extra_ops
|
|
287
|
+
return { ...defaultOptions, ...events, ...extra_ops };
|
|
280
288
|
}, [props.gridOptions]);
|
|
289
|
+
const static_gridOptions = React.useMemo<GridOptions>(() => {
|
|
290
|
+
return { ...base_gridOptions, ...props.gridOptions, ...forcedOptions };
|
|
291
|
+
}, [props.gridOptions, base_gridOptions]);
|
|
281
292
|
const dynamic_gridOptions = React.useMemo<GridOptions>(() => {
|
|
282
|
-
return { selected: props.selected };
|
|
283
|
-
}, [props.selected]);
|
|
284
|
-
|
|
285
|
-
/* ------------------------------- load events ------------------------------ */
|
|
286
|
-
|
|
287
|
-
function onCellEdit(cell: CellDefinition) {}
|
|
293
|
+
return { selected: props.selected, loading: props.loading, limit: props.limit, skip: props.skip };
|
|
294
|
+
}, [props.selected, props.loading, props.skip]);
|
|
288
295
|
|
|
296
|
+
/* --------------------------------- events --------------------------------- */
|
|
289
297
|
function onRowContextMenu(row: TypeRowProps, ev: any) {
|
|
290
298
|
if (func_selection.has_selection()) return;
|
|
291
299
|
update_menuAnchorEl(func_selection.getVirtualElement(ev.clientX, ev.clientY));
|