@azrico/reactgrid 1.2.29 → 1.2.32

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.2.32](https://github.com/Azrideus/azrico-reactgrid/compare/v1.2.31...v1.2.32) (2023-04-11)
6
+
7
+ ### [1.2.31](https://github.com/Azrideus/azrico-reactgrid/compare/v1.2.30...v1.2.31) (2023-04-03)
8
+
9
+ ### [1.2.30](https://github.com/Azrideus/azrico-reactgrid/compare/v1.2.29...v1.2.30) (2023-04-03)
10
+
5
11
  ### [1.2.29](https://github.com/Azrideus/azrico-reactgrid/compare/v1.2.28...v1.2.29) (2023-04-03)
6
12
 
7
13
  ### [1.2.28](https://github.com/Azrideus/azrico-reactgrid/compare/v1.2.27...v1.2.28) (2023-04-03)
@@ -5,7 +5,7 @@ type mrow = {
5
5
  };
6
6
  export declare function fix_parent_child_relations<T extends mrow>(rows: T[]): T[];
7
7
  export declare class func_selection {
8
- static getVirtualElement(x?: number, y?: number): () => {
8
+ static getVirtualElement(x?: number, y?: number): {
9
9
  getBoundingClientRect: () => {
10
10
  width: number;
11
11
  height: number;
@@ -48,9 +48,10 @@ function assign_children(row, all_rows) {
48
48
  }
49
49
  class func_selection {
50
50
  static getVirtualElement(x = 0, y = 0) {
51
- return () => ({
52
- getBoundingClientRect: func_selection.generateGetBoundingClientRect(x, y)
53
- });
51
+ const boundsRect = func_selection.generateGetBoundingClientRect(x, y);
52
+ return {
53
+ getBoundingClientRect: boundsRect
54
+ };
54
55
  }
55
56
  static generateGetBoundingClientRect(x = 0, y = 0) {
56
57
  return () => ({
@@ -260,12 +260,13 @@ function get_col_header(obj) {
260
260
  * @returns
261
261
  */
262
262
  function get_row_id(obj) {
263
- if (!obj) return '-1';
263
+ if (!obj) return undefined;
264
264
  if (typeof obj == 'string') return obj;
265
- if (typeof obj != 'object') return '-1';
266
- return obj.__table_id || obj.id || '-1';
265
+ if (typeof obj != 'object') return undefined;
266
+ return obj.__table_id || obj.id || undefined;
267
267
  }
268
268
  function set_row_id(obj, val) {
269
+ if (typeof obj != 'object') return false;
269
270
  if (val === undefined) delete obj.__table_id;else obj.__table_id = val;
270
271
  return obj.__table_id;
271
272
  }
package/dist/src/index.js CHANGED
@@ -47,13 +47,18 @@ Object.keys(_DataGrid).forEach(function (key) {
47
47
  });
48
48
  });
49
49
  var _func_grid = require("./func/func_grid");
50
+ var _example = _interopRequireDefault(require("./example"));
51
+ var _react = _interopRequireDefault(require("react"));
52
+ var _client = _interopRequireDefault(require("react-dom/client"));
53
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
50
54
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
55
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
52
56
  /* -------------------------------------------------------------------------- */
53
57
  //
54
- var _default = _DataGrid.default; // const testroot = document.getElementById('testroot');
55
- // if (testroot) {
56
- // // const root = ReactDOM.createRoot(document.getElementById('testroot') as HTMLElement);
57
- // // root.render(<ExampleGrid />);
58
- // }
59
- exports.default = _default;
58
+ var _default = _DataGrid.default;
59
+ exports.default = _default;
60
+ const testroot = document.getElementById('testroot');
61
+ if (testroot) {
62
+ const root = _client.default.createRoot(document.getElementById('testroot'));
63
+ root.render(_react.default.createElement(_example.default, null));
64
+ }
@@ -14,6 +14,7 @@ var _func_grid = require("../func/func_grid");
14
14
  var _controls = require("@azrico/controls");
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _func_child = require("../func/func_child");
17
+ var _object = require("@azrico/object");
17
18
  var _reactdatagridEnterprise = _interopRequireDefault(require("@inovua/reactdatagrid-enterprise"));
18
19
  var _clsx = _interopRequireDefault(require("clsx"));
19
20
  var _reactUseSize = require("react-use-size");
@@ -119,8 +120,9 @@ function DataGridEventsWrapper(props) {
119
120
  /* --------------------------------- events --------------------------------- */
120
121
  const onRowContextMenu = _react.default.useCallback((rowProps, event) => {
121
122
  if (!rowProps || !rowProps.data || _func_child.func_selection.has_selection()) return;
123
+ const anEl = _func_child.func_selection.getVirtualElement(event.clientX, event.clientY);
122
124
  update_menuRow(rowProps.data);
123
- update_menuAnchorEl(_func_child.func_selection.getVirtualElement(event.clientX, event.clientY));
125
+ update_menuAnchorEl(anEl);
124
126
  event.preventDefault();
125
127
  }, []);
126
128
  const onRowClick = _react.default.useCallback((rowProps, event) => {
@@ -163,12 +165,15 @@ function DataGridEventsWrapper(props) {
163
165
  ...events
164
166
  };
165
167
  }, [props.static_gridOptions, onRowClick]);
166
- const contextMenu = _react.default.createElement(_controls.ContextMenu, {
167
- menuAnchorEl: menuAnchorEl,
168
- set_menuAnchorEl: update_menuAnchorEl,
169
- menuRow: menuRow,
170
- menu_items: props.contextMenuItems
171
- });
168
+ const contextMenu = _react.default.useMemo(() => {
169
+ console.log('menuAnchorEl:', menuAnchorEl, (0, _object.fn_eval)(menuAnchorEl));
170
+ return _react.default.createElement(_controls.ContextMenu, {
171
+ menuAnchorEl: menuAnchorEl,
172
+ set_menuAnchorEl: update_menuAnchorEl,
173
+ menuRow: menuRow,
174
+ menu_items: props.contextMenuItems
175
+ });
176
+ }, [menuAnchorEl, menuRow, props.contextMenuItems]);
172
177
  if (props.details_dataSource) {
173
178
  return _react.default.createElement(DataGridDetailsWrapper, {
174
179
  ...props,
@@ -194,7 +199,6 @@ function DataGridDetailsWrapper(props) {
194
199
  cached_data: cached_data,
195
200
  last_cache_info: last_cache_info
196
201
  });
197
- console.log('ds', res);
198
202
  return res;
199
203
  }, [props.dataSource]);
200
204
  const renderDetailsGrid = ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azrico/reactgrid",
3
- "version": "1.2.29",
3
+ "version": "1.2.32",
4
4
  "main": "dist/index.js",
5
5
  "description": "React Datagrid",
6
6
  "author": "Azrideus <MehrdadTavangar@gmail.com>",
@@ -29,8 +29,8 @@
29
29
  "typescript": "^4.8.4"
30
30
  },
31
31
  "dependencies": {
32
- "@azrico/controls": "1.4.27",
33
- "@azrico/object": "^1.3.1",
32
+ "@azrico/controls": "1.5.12",
33
+ "@azrico/object": "^1.4.12",
34
34
  "@emotion/react": "^11.9.3",
35
35
  "@emotion/styled": "^11.9.3",
36
36
  "@inovua/reactdatagrid-enterprise": "^5.8.5",
@@ -39,7 +39,8 @@
39
39
  "react-use-size": "^3.0.1"
40
40
  },
41
41
  "peerDependencies": {
42
- "@azrico/controls": ">=1.4.27",
42
+ "@azrico/controls": ">=1.5.12",
43
+ "@azrico/object": "^>=1.4.12",
43
44
  "@emotion/react": ">=11.9.3",
44
45
  "@emotion/styled": ">=11.9.3",
45
46
  "@inovua/reactdatagrid-enterprise": ">=5.8.5",
@@ -46,9 +46,10 @@ function assign_children(row: converted_row, all_rows: converted_row[]) {
46
46
  }
47
47
  export class func_selection {
48
48
  static getVirtualElement(x = 0, y = 0) {
49
- return () => ({
50
- getBoundingClientRect: func_selection.generateGetBoundingClientRect(x, y),
51
- });
49
+ const boundsRect = func_selection.generateGetBoundingClientRect(x, y);
50
+ return {
51
+ getBoundingClientRect: boundsRect,
52
+ };
52
53
  }
53
54
  static generateGetBoundingClientRect(x = 0, y = 0) {
54
55
  return () => ({
@@ -264,12 +264,13 @@ export function get_col_header(obj: any): string {
264
264
  * @returns
265
265
  */
266
266
  export function get_row_id(obj: any): any {
267
- if (!obj) return '-1';
267
+ if (!obj) return undefined;
268
268
  if (typeof obj == 'string') return obj;
269
- if (typeof obj != 'object') return '-1';
270
- return obj.__table_id || obj.id || '-1';
269
+ if (typeof obj != 'object') return undefined;
270
+ return obj.__table_id || obj.id || undefined;
271
271
  }
272
272
  export function set_row_id(obj: any, val: undefined | string): any {
273
+ if (typeof obj != 'object') return false;
273
274
  if (val === undefined) delete obj.__table_id;
274
275
  else obj.__table_id = val;
275
276
  return obj.__table_id;
package/src/index.tsx CHANGED
@@ -10,9 +10,8 @@ import ReactDOM from 'react-dom/client';
10
10
  //
11
11
  export default AzGrid;
12
12
 
13
- // const testroot = document.getElementById('testroot');
14
- // if (testroot) {
15
- // // const root = ReactDOM.createRoot(document.getElementById('testroot') as HTMLElement);
16
- // // root.render(<ExampleGrid />);
17
-
18
- // }
13
+ const testroot = document.getElementById('testroot');
14
+ if (testroot) {
15
+ const root = ReactDOM.createRoot(document.getElementById('testroot') as HTMLElement);
16
+ root.render(<ExampleGrid />);
17
+ }
@@ -27,11 +27,11 @@ import {
27
27
  TypeRowSelection,
28
28
  } from '@inovua/reactdatagrid-community/types';
29
29
  import { fix_parent_child_relations, func_selection } from '../func/func_child';
30
+ import { fn_eval, object_equals } from '@azrico/object';
30
31
 
31
32
  import ReactDataGrid from '@inovua/reactdatagrid-enterprise';
32
33
  import { TypeOnSelectionChangeArg } from '@inovua/reactdatagrid-community/types/TypeDataGridProps';
33
34
  import clsx from 'clsx';
34
- import { object_equals } from '@azrico/object';
35
35
  import { useComponentSize } from 'react-use-size';
36
36
 
37
37
  /* -------------------------------------------------------------------------- */
@@ -265,8 +265,10 @@ function DataGridEventsWrapper(props: DataGridWrapperProps) {
265
265
 
266
266
  const onRowContextMenu = React.useCallback((rowProps, event) => {
267
267
  if (!rowProps || !rowProps.data || func_selection.has_selection()) return;
268
+
269
+ const anEl = func_selection.getVirtualElement(event.clientX, event.clientY);
268
270
  update_menuRow(rowProps.data);
269
- update_menuAnchorEl(func_selection.getVirtualElement(event.clientX, event.clientY));
271
+ update_menuAnchorEl(anEl);
270
272
  event.preventDefault();
271
273
  }, []);
272
274
  const onRowClick = React.useCallback(
@@ -318,14 +320,17 @@ function DataGridEventsWrapper(props: DataGridWrapperProps) {
318
320
  return { ...props.static_gridOptions, ...events };
319
321
  }, [props.static_gridOptions, onRowClick]);
320
322
 
321
- const contextMenu = (
322
- <ContextMenu
323
- menuAnchorEl={menuAnchorEl}
324
- set_menuAnchorEl={update_menuAnchorEl}
325
- menuRow={menuRow}
326
- menu_items={props.contextMenuItems as any}
327
- />
328
- );
323
+ const contextMenu = React.useMemo(() => {
324
+ console.log('menuAnchorEl:', menuAnchorEl, fn_eval(menuAnchorEl));
325
+ return (
326
+ <ContextMenu
327
+ menuAnchorEl={menuAnchorEl}
328
+ set_menuAnchorEl={update_menuAnchorEl}
329
+ menuRow={menuRow}
330
+ menu_items={props.contextMenuItems as any}
331
+ />
332
+ );
333
+ }, [menuAnchorEl, menuRow, props.contextMenuItems]);
329
334
 
330
335
  if (props.details_dataSource) {
331
336
  return (
@@ -358,7 +363,6 @@ function DataGridDetailsWrapper(props: DataGridWrapperProps) {
358
363
  cached_data: cached_data,
359
364
  last_cache_info: last_cache_info,
360
365
  });
361
- console.log('ds', res);
362
366
  return res;
363
367
  },
364
368
  [props.dataSource]
@@ -369,7 +373,7 @@ function DataGridDetailsWrapper(props: DataGridWrapperProps) {
369
373
  defaultFilterValue={props.details_filter}
370
374
  dataSource={dataSource}
371
375
  columns={cached_details_columns}
372
- />
376
+ ></ReactDataGrid>
373
377
  );
374
378
  };
375
379
 
@@ -382,12 +386,7 @@ function DataGridDetailsWrapper(props: DataGridWrapperProps) {
382
386
  return finalresult;
383
387
  }, [props.static_gridOptions]);
384
388
 
385
- return (
386
- <DataGridSizeWrapper
387
- {...props}
388
- static_gridOptions={static_gridOptions}
389
- ></DataGridSizeWrapper>
390
- );
389
+ return <DataGridSizeWrapper {...props} static_gridOptions={static_gridOptions} />;
391
390
  }
392
391
 
393
392
  function DataGridSizeWrapper(props: DataGridWrapperProps) {