@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.
@@ -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 static_gridOptions = _react.default.useMemo(() => {
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
- /* ------------------------------- load events ------------------------------ */
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azrico/reactgrid",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "main": "dist/index.js",
5
5
  "description": "React Datagrid",
6
6
  "author": "Azrideus <MehrdadTavangar@gmail.com>",
@@ -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 static_gridOptions = React.useMemo<GridOptions>(() => {
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, ...props.gridOptions, ...forcedOptions };
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));