react-graph-grid 0.1.4 → 0.1.6

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.
Files changed (88) hide show
  1. package/README.md +4 -0
  2. package/{src/css → dist}/default.css +2 -1
  3. package/dist/index.esm.js +21 -0
  4. package/dist/index.js +56 -0
  5. package/dist/index10.esm.js +3844 -0
  6. package/dist/index10.js +3848 -0
  7. package/dist/index11.esm.js +4121 -0
  8. package/dist/index11.js +4125 -0
  9. package/dist/index12.esm.js +5238 -0
  10. package/dist/index12.js +5242 -0
  11. package/dist/index13.esm.js +5466 -0
  12. package/dist/index13.js +5470 -0
  13. package/dist/index14.esm.js +22 -0
  14. package/dist/index14.js +26 -0
  15. package/dist/index15.esm.js +402 -0
  16. package/dist/index15.js +403 -0
  17. package/dist/index16.esm.js +507 -0
  18. package/dist/index16.js +507 -0
  19. package/dist/index17.esm.js +256 -0
  20. package/dist/index17.js +257 -0
  21. package/dist/index18.esm.js +261 -0
  22. package/dist/index18.js +263 -0
  23. package/dist/index19.esm.js +623 -0
  24. package/dist/index19.js +624 -0
  25. package/dist/index2.esm.js +6 -0
  26. package/dist/index2.js +2 -0
  27. package/dist/index20.esm.js +219 -0
  28. package/dist/index20.js +220 -0
  29. package/dist/index21.esm.js +298 -0
  30. package/dist/index21.js +299 -0
  31. package/dist/index22.esm.js +662 -0
  32. package/dist/index22.js +663 -0
  33. package/dist/index23.esm.js +340 -0
  34. package/dist/index23.js +341 -0
  35. package/dist/index24.esm.js +269 -0
  36. package/dist/index24.js +270 -0
  37. package/dist/index25.esm.js +600 -0
  38. package/dist/index25.js +601 -0
  39. package/dist/index26.esm.js +245 -0
  40. package/dist/index26.js +246 -0
  41. package/dist/index27.esm.js +136 -0
  42. package/dist/index27.js +137 -0
  43. package/dist/index28.esm.js +70 -0
  44. package/dist/index28.js +70 -0
  45. package/dist/index29.esm.js +748 -0
  46. package/dist/index29.js +748 -0
  47. package/dist/index30.esm.js +363 -0
  48. package/dist/index30.js +363 -0
  49. package/dist/index4.esm.js +27 -0
  50. package/dist/index4.js +27 -0
  51. package/dist/index5.esm.js +35 -0
  52. package/dist/index5.js +39 -0
  53. package/dist/index6.esm.js +200 -0
  54. package/dist/index6.js +204 -0
  55. package/dist/index7.esm.js +9 -0
  56. package/dist/index7.js +13 -0
  57. package/dist/index8.esm.js +65 -0
  58. package/dist/index8.js +68 -0
  59. package/dist/index9.esm.js +102 -0
  60. package/dist/index9.js +103 -0
  61. package/package.json +6 -3
  62. package/eslint.config.js +0 -29
  63. package/index.html +0 -13
  64. package/index.js +0 -19
  65. package/npm.aps +0 -0
  66. package/src/Base.jsx +0 -81
  67. package/src/Card.jsx +0 -333
  68. package/src/Dropdown.jsx +0 -339
  69. package/src/FieldEdit.jsx +0 -376
  70. package/src/Graph.jsx +0 -482
  71. package/src/Grid.jsx +0 -887
  72. package/src/GridCD.jsx +0 -180
  73. package/src/GridDB.jsx +0 -897
  74. package/src/GridFE.jsx +0 -753
  75. package/src/GridFL.jsx +0 -468
  76. package/src/GridGR.jsx +0 -311
  77. package/src/GridPK.jsx +0 -414
  78. package/src/Modal.jsx +0 -511
  79. package/src/Overlay.jsx +0 -140
  80. package/src/Tests/DebugApp.jsx +0 -334
  81. package/src/Tests/TestData.jsx +0 -251
  82. package/src/Themes/DefaultGridTheme.jsx +0 -36
  83. package/src/Themes/Images.jsx +0 -438
  84. package/src/Themes/Translate.jsx +0 -76
  85. package/src/css/default_.css +0 -945
  86. package/src/main.jsx +0 -10
  87. package/vite.config.js +0 -14
  88. /package/{public → dist}/IM.svg +0 -0
package/src/GridGR.jsx DELETED
@@ -1,311 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import { GridClass } from './Grid';
3
- import { GraphClass } from './Graph';
4
- import { NodeStatus } from './Base';
5
- // ==================================================================================================================================================================
6
- export function GridGR(props) {
7
- let grid = null;
8
-
9
- const [gridState, setState] = useState({ grid: grid, ind: 0 });
10
-
11
- grid = gridState.grid;
12
- let needGetRows = false;
13
- if (!grid || grid.uid !== props.uid && props.uid != null) {
14
- grid = null;
15
- if (props.findGrid) {
16
- grid = props.findGrid(props);
17
- }
18
- grid = grid || new GridGRClass(props);
19
- needGetRows = !props.noAutoRefresh && !props.parentGrids;
20
- }
21
-
22
- if (props.init) {
23
- props.init(grid);
24
- }
25
-
26
- grid.refreshState = function () {
27
- setState({ grid: grid, ind: grid.stateind++ });
28
- }
29
-
30
- grid._waitingRows = needGetRows && (grid.rows.length <= 0 || grid.columns.length <= 0);
31
-
32
- useEffect(() => {
33
- grid.setupEvents(grid);
34
-
35
- if (grid._waitingRows) {
36
-
37
- grid.getRows({ filters: grid.collectFilters(), grid: grid }).then(
38
- rows => {
39
- grid.rows = rows;
40
- grid.afterGetRows();
41
- grid.refreshState();
42
- }
43
- ).finally(() => {
44
- grid._waitingRows = false;
45
- grid.refreshState();
46
- });
47
- }
48
- else if (grid.columns.length <= 0 && grid.getColumns) {
49
- grid.prepareColumns().then(() => grid.refreshState());
50
- }
51
-
52
- return () => {
53
- grid.clearEvents();
54
- }
55
- }, [grid])
56
-
57
- return (grid.render());
58
- }
59
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
60
- export class GridGRClass extends GridClass {
61
-
62
- constructor(props) {
63
- super(props);
64
-
65
- const grid = this;
66
-
67
- if (props.entity) {
68
- grid.entity = props.entity;
69
- }
70
-
71
- if (props.applyConnection) {
72
- grid.applyConnection = props.applyConnection;
73
- }
74
-
75
- if (!props.graph && (props.parentGrids || props.uid)) {
76
- grid.graphUid = props.graphUid || "defaultGraphUID";
77
-
78
- grid.parentGrids = props.parentGrids;
79
-
80
- window._graphDict = window._graphDict || {};
81
-
82
- window._graphDict[grid.graphUid] = window._graphDict[grid.graphUid] || new GraphClass();
83
- const graph = window._graphDict[grid.graphUid];
84
-
85
- while (graph.nodesDict[GridClass._seq]) {
86
- GridClass._seq++;
87
- }
88
- grid.id = GridClass._seq++;
89
-
90
- grid.graph = graph;
91
- graph.uid = grid.graphUid;
92
-
93
- grid.parents = [];
94
- grid.children = [];
95
-
96
- if (props.parentGrids) {
97
- grid.graph.needCheckIntegrity = true;
98
- }
99
-
100
- grid.uid = props.uid != null ? props.uid : grid.id;
101
- graph.nodeCount++;
102
- graph.nodesDict[grid.uid] = grid;
103
-
104
- }
105
- else {
106
- grid.uid = props.uid != null ? props.uid : grid.id;
107
- }
108
- }
109
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
110
- log(message, pref) {
111
- const grid = this;
112
- pref = pref || `grid#${grid.uid ? grid.id + '(' + grid.uid + ')' : grid.id} ${grid.title || ''}`;
113
- super.log(`${pref}: ` + message, ' ');
114
- }
115
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
116
- clearEvents() {
117
- const grid = this;
118
-
119
- super.clearEvents();
120
-
121
- if (window._graphDict && grid.graphUid) {
122
- grid.log(' delete graph')
123
- delete window._graphDict[grid.graphUid];
124
- }
125
- }
126
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
127
- connectToParents(noDetectCycles) {
128
- const grid = this;
129
- const graph = grid.graph;
130
-
131
- grid.connectedToParents = true;
132
- graph.waveCache = {};
133
- if (!grid.parentGrids) return;
134
-
135
- const parentUids = ',' + grid.parentGrids + ',';
136
- for (let uid in graph.nodesDict) {
137
- if (uid === grid.uid) continue;
138
-
139
- let parentGrid = graph.nodesDict[uid];
140
- if (parentUids.indexOf(parentGrid.uid) <= 0) continue;
141
-
142
- const link = { parent: parentGrid, child: grid };
143
-
144
- const lkey = grid.id + '_' + parentGrid.id;
145
- graph.linksDict[lkey] = link;
146
- grid.parents.push(parentGrid.uid);
147
- parentGrid.children.push(grid.uid);
148
- }
149
-
150
- if (!noDetectCycles) {
151
- graph.markCycles();
152
- }
153
- }
154
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
155
- applyConnection(link) {
156
- if (!link.parent || !link.parent.rows) return '';
157
-
158
- return link.parent.selectedValue();
159
- }
160
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
161
- getEntity() {
162
- const grid = this;
163
- return grid.entity || 'grid_' + (grid.uid || grid.id);
164
- }
165
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
166
- onSelectedRowChanged(e) {
167
- super.onSelectedRowChanged(e);
168
-
169
- const grid = this;
170
- const graph = grid.graph;
171
- if (graph && (!graph._isMakingWave || e.source == 'rowClick')) {
172
-
173
- if (!grid.connectedToParents) {
174
- grid.connectToParents();
175
- }
176
-
177
- if (graph.needCheckIntegrity) {
178
- grid.checkGraphIntegrity();
179
- }
180
-
181
- if (graph.checkNeedTriggerWave && !graph.checkNeedTriggerWave(grid)) return;
182
-
183
- graph.triggerWave({ nodes: [grid], withStartNodes: false });
184
- }
185
- }
186
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
187
- checkGraphIntegrity() {
188
- const grid = this;
189
- const graph = grid.graph;
190
- graph.needCheckIntegrity = false;
191
-
192
- for (let uid in graph.nodesDict) {
193
- if (uid === grid.id) continue;
194
-
195
- let node = graph.nodesDict[uid];
196
- if (!node.connectedToParents) {
197
- node.connectToParents();
198
- }
199
- }
200
-
201
- let link;
202
- for (let lkey in graph.linksDict) {
203
- link = graph.linksDict[lkey];
204
- if (!link || !graph.nodesDict[link.parent.uid] || !graph.nodesDict[link.child.uid]) {
205
- delete graph.linksDict[lkey];
206
- }
207
- }
208
- }
209
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
210
- collectFilters() {
211
- const grid = this;
212
- const filters = [];
213
-
214
- if (grid.parentGrids && !grid.connectedToParents) {
215
- return ["1=2"];
216
- }
217
-
218
- if (!grid.parents || grid.parents.length <= 0) return filters;
219
-
220
- for (let uid of grid.parents) {
221
- let link = grid.graph.linksDict[grid.id + '_' + grid.graph.nodesDict[uid].id];
222
-
223
- let filter = grid.applyConnection(link);
224
- if (filter == null || filter === '') continue;
225
-
226
- let fo = { type: 'graphLink', filter: filter };
227
- filters.push(fo);
228
- }
229
-
230
- return filters;
231
- }
232
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
233
- skipOnWaveVisit() {
234
- return false;
235
- }
236
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
237
- visitByWave(e) {
238
- const grid = this;
239
-
240
- return new Promise(function (resolve) {
241
- if (grid.skipOnWaveVisit(e)) {
242
- resolve(e);
243
- return;
244
- }
245
-
246
- grid._waitingRows = true;
247
- grid.getRows({ filters: grid.collectFilters(), grid: grid }).then(
248
- rows => {
249
- grid.rows = rows;
250
- grid.afterGetRows(e);
251
- resolve(e);
252
- grid.refreshState();
253
- }
254
- ).finally(() => {
255
- grid._waitingRows = false;
256
- grid.refreshState();
257
- });
258
- });
259
- }
260
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
261
- //afterGetRows(e) {
262
- // super.afterGetRows(e);
263
-
264
- // const grid = this;
265
-
266
- // if (grid.graph) {
267
- // grid.graph.visitNodesByWave(e);
268
- // }
269
- //}
270
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
271
- visitByWaveAlt(e) {
272
- const grid = this;
273
-
274
- return new Promise(function (resolve) {
275
- if (grid.skipOnWaveVisit(e)) {
276
- resolve(e);
277
- return;
278
- }
279
-
280
- grid.selectedRowIndex = 0;
281
-
282
- grid._waitingRows = true;
283
- grid.refreshState();
284
-
285
- grid.getRows({ filters: grid.collectFilters(), grid: grid }).then(
286
- rows => {
287
- grid.rows = rows;
288
- grid.afterGetRows(e);
289
- resolve(e);
290
- grid.refreshState();
291
- }
292
- ).finally(() => {
293
- grid._waitingRows = false;
294
- grid.refreshState();
295
- });
296
- });
297
- }
298
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
299
- hasVisibleParentGrids() {
300
- const grid = this;
301
- if (!grid.graph) return false;
302
-
303
- for (let puid of grid.parents) {
304
- let pnode = grid.graph.nodesDict[puid];
305
- if (pnode.visible !== false && pnode.status === NodeStatus.grid) return true;
306
- }
307
-
308
- return false;
309
- }
310
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
311
- }