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/GridPK.jsx DELETED
@@ -1,414 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import { BaseComponent } from './Base';
3
- import { GridGRClass } from './GridGR';
4
- // ==================================================================================================================================================================
5
- export function GridPK(props) {
6
- let grid = null;
7
-
8
- const [gridState, setState] = useState({ grid: grid, ind: 0 });
9
-
10
- grid = gridState.grid;
11
- let needGetRows = false;
12
- if (!grid || grid.uid !== props.uid && props.uid != null) {
13
- grid = null;
14
- if (props.findGrid) {
15
- grid = props.findGrid(props);
16
- }
17
- grid = grid || new GridPKClass(props);
18
- needGetRows = !props.noAutoRefresh;
19
- }
20
-
21
- if (props.init) {
22
- props.init(grid);
23
- }
24
-
25
- grid.refreshState = function () {
26
- setState({ grid: grid, ind: grid.stateind++ });
27
- }
28
-
29
- grid._waitingRows = needGetRows && (grid.rows.length <= 0 || grid.columns.length <= 0);
30
-
31
- useEffect(() => {
32
- grid.setupEvents(grid);
33
-
34
- if (grid._waitingRows) {
35
-
36
- grid.getRows({ filters: grid.collectFilters(), grid: grid }).then(
37
- rows => {
38
- grid.rows = rows;
39
- grid.afterGetRows();
40
- grid.refreshState();
41
- }
42
- ).finally(() => {
43
- grid._waitingRows = false;
44
- grid.refreshState();
45
- });
46
- }
47
- else if (grid.columns.length <= 0 && grid.getColumns) {
48
- grid.prepareColumns().then(() => grid.refreshState());
49
- }
50
-
51
- return () => {
52
- grid.clearEvents();
53
- }
54
- }, [grid])
55
-
56
- return (grid.render());
57
- }
58
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
59
- export class GridPKClass extends GridGRClass {
60
- constructor(props) {
61
- super(props);
62
-
63
- const grid = this;
64
-
65
- grid._selectedRowsDict = {};
66
- if (props.multi === true && props.keyField) {
67
- grid.multi = true;
68
- grid._allRowsOnPageSelected = false;
69
- }
70
-
71
- grid.opt.pocketButtonsClass = props.pocketButtonsClass || BaseComponent.theme.pocketButtonsClass || '';
72
- }
73
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
74
- afterGetRowsEvents() {
75
- const grid = this;
76
- super.afterGetRowsEvents();
77
- grid.checkPocketState();
78
- }
79
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
80
- setupEvents() {
81
- const grid = this;
82
- grid.clearEvents = function () { }
83
- }
84
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
85
- renderSelectColumnHeader() {
86
- const grid = this;
87
- return (
88
- !grid.multi || !grid.pocketOpened ? <></>
89
- :
90
- <th
91
- key={`headerCellSelect_${grid.id}_${grid.keyAdd()}_`}
92
- grid-header={`${grid.id}_select_`}
93
- className={`${grid.opt.columnClass ? grid.opt.columnClass : ''} grid-header-th`}
94
- style={{ position: "sticky", top: 0, width: "1.3em", overflow: "hidden", verticalAlign: "top"/*, padding: "2px 0 0 0"*/ }}
95
- >
96
- {
97
- !grid._allRowsOnPageSelected ?
98
- <div className="grid-pocket-button-div">
99
- <button
100
- className={(grid.opt.pocketButtonsClass || 'grid-pocket-button') + ' grid-pocket-button-all'}
101
- onClick={(e) => grid.selectAllRows(e)}
102
- >
103
- {'+'}
104
- </button>
105
- </div>
106
- :
107
- <></>
108
- }
109
- </th>
110
- );
111
- }
112
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
113
- renderSelectColumn(row, rind) {
114
- const grid = this;
115
- return (
116
- !grid.pocketOpened ? <></>
117
- :
118
- <td
119
- key={`gridCellSelect_${grid.id}_${rind}_${grid.keyAdd()}_`}
120
- //style={{ padding: "2px 0 0 0" }}
121
- >
122
- {
123
- grid._selectedRowsDict[row[grid.keyField]] == null ?
124
- <div className="grid-pocket-button-div">
125
- <button
126
- className={grid.opt.pocketButtonsClass || 'grid-pocket-button'}
127
- onClick={(e) => grid.selectRow(e, row)}
128
- >
129
- {'+'}
130
- </button>
131
- </div>
132
- :
133
- <></>
134
- }
135
- </td>
136
- );
137
- }
138
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
139
- renderPocketClearColumn(row, rind) {
140
- const grid = this;
141
- return (
142
- !grid.pocketOpened ? <></>
143
- :
144
- <td
145
- key={`gridCellClear_${grid.id}_${rind}_${grid.keyAdd()}_`}
146
- //style={{ padding: "2px 0 0 0" }}
147
- >
148
- <div className="grid-pocket-button-div">
149
- <button
150
- className={grid.opt.pocketButtonsClass || 'grid-pocket-button'}
151
- onClick={(e) => grid.unselectRow(e, row)}
152
- >
153
- {'-'}
154
- </button>
155
- </div>
156
- </td>
157
- );
158
- }
159
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
160
- renderAdditionalRows() {
161
- const grid = this;
162
- if (!grid.pocketOpened) return <></>;
163
-
164
- const hasPocketRows = Object.keys(grid._selectedRowsDict).length > 0;
165
-
166
- if (!grid._selectedRows) {
167
- grid._selectedRows = [];
168
- grid.loadPocketRows();
169
- }
170
-
171
- return (
172
- <>
173
- {
174
- <tr key={`gridPocketDivider_${grid.id}_`} className="" style={{ borderTop: "0", borderBottom: "0" }}>
175
- {
176
- <td
177
- key={`gridPocketSysCol_${grid.id}_`}
178
- className={`${grid.opt.columnClass ? grid.opt.columnClass : ''} grid-header-th`}
179
- style={{ position: "sticky", top: 0, width: "1.5em", overflow: "hidden", verticalAlign: "top"/*, padding: "2px 0 0 0"*/ }}
180
- >
181
- {hasPocketRows ?
182
- <div className="grid-pocket-button-div">
183
- <button
184
- className={(grid.opt.pocketButtonsClass || 'grid-pocket-button') + ' grid-pocket-button-all'}
185
- onClick={(e) => grid.clearPocket(e)}
186
- >
187
- {'-'}
188
- </button>
189
- </div>
190
- :
191
- <></>
192
- }
193
- </td>
194
- }
195
- {
196
- <td colSpan={grid.columns ? grid.columns.length : 0}>
197
- <span className="grid-pocket-title">{`${this.translate('Pocket')} (${grid._selectedRows.length})`}</span>
198
- </td>
199
- }
200
- </tr>
201
- }
202
- {
203
- grid._selectedRows.map((row, rind) => {
204
- return (
205
- <tr
206
- key={`gridPocketRow_${grid.id}_${rind}_${row[grid.keyField]}_${grid.keyAdd()}_`}
207
- >
208
- {grid.renderPocketRow(row, rind)}
209
- </tr>
210
- )
211
- })
212
- }
213
- </>
214
- )
215
- }
216
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
217
- renderRow(row, rowInd, selected) {
218
- const grid = this;
219
- return (
220
- <>
221
- {grid.multi && grid.pocketOpened ? grid.renderSelectColumn(row) : <></>}
222
- {
223
- super.renderRow(row, rowInd, selected)
224
- }
225
- </>
226
- )
227
- }
228
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
229
- loadPocketRows() {
230
- const grid = this;
231
- for (let id in grid._selectedRowsDict) {
232
- let row = grid._selectedRowsDict[id];
233
- grid._selectedRows.push(row);
234
- }
235
- }
236
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
237
- renderPocketRow(row, rowInd) {
238
- const grid = this;
239
- return (
240
- <>
241
- {grid.renderPocketClearColumn(row, rowInd)}
242
- {
243
- grid.columns.map((col, cind) => {
244
- return (
245
- col.visible === false ? <></> :
246
- <td
247
- key={`gridPocketCell_${grid.id}_${rowInd}_${cind}_${grid.keyAdd()}_${row[grid.keyField]}_`}
248
- >
249
- {grid.renderCell(grid, col, row, false)}
250
- </td>
251
- );
252
- })
253
- }
254
- </>
255
- )
256
- }
257
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
258
- getGridWidth() {
259
- const grid = this;
260
-
261
- let w = super.getGridWidth();
262
-
263
- if (grid.multi) w += 20;
264
-
265
- grid._currW = w;
266
- return grid._currW;
267
- }
268
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
269
- selectedValue(delim) {
270
- const grid = this;
271
-
272
- const keyColumn = grid.getKeyColumn();
273
- if (!grid.multi || !grid.pocketOpened) {
274
- const row = grid.selectedRow();
275
-
276
- return row != null ? row[keyColumn] : '';
277
- }
278
- else {
279
- delim = delim || ',';
280
- const res = [];
281
- for (let id in grid._selectedRowsDict) {
282
- let row = grid._selectedRowsDict[id];
283
- res.push(row[keyColumn]);
284
- }
285
- return res.join(delim);
286
- }
287
- }
288
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
289
- selectedText(delim) {
290
- const grid = this;
291
- if (!grid.nameField) return '';
292
-
293
- if (!grid.multi || !grid.pocketOpened) {
294
- const row = grid.selectedRow();
295
- return row != null ? row[grid.nameField] : '';
296
- }
297
- else {
298
- delim = delim || ',';
299
- const res = [];
300
- for (let id in grid._selectedRowsDict) {
301
- let row = grid._selectedRowsDict[id];
302
- res.push(row[grid.nameField]);
303
- }
304
- return res.join(delim);
305
- }
306
- }
307
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
308
- selectedValues(texts) {
309
- const grid = this;
310
- texts = texts || [];
311
-
312
- const keyColumn = grid.getKeyColumn();
313
- if (!grid.multi || !grid.pocketOpened) {
314
- const row = grid.selectedRow();
315
-
316
- return row != null ? [{ value: row[keyColumn], label: row[grid.nameField] }] : [];
317
- }
318
- else {
319
- const res = [];
320
- for (let id in grid._selectedRowsDict) {
321
- let row = grid._selectedRowsDict[id];
322
- let text = row[grid.nameField];
323
- texts.push(text);
324
- res.push({ value: row[keyColumn], label: text });
325
- }
326
- return res;
327
- }
328
- }
329
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
330
- selectRow(e, row) {
331
- const grid = this;
332
- const keyColumn = grid.getKeyColumn();
333
- delete grid._selectedRows;
334
-
335
- grid._selectedRowsDict[row[keyColumn]] = row;
336
-
337
- grid.checkPocketState();
338
- grid.refreshState();
339
-
340
- if (grid.graph) {
341
- grid.graph.triggerWave({ nodes: [grid], withStartNodes: false });
342
- }
343
- }
344
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
345
- unselectRow(e, row) {
346
- const grid = this;
347
- const keyColumn = grid.getKeyColumn();
348
- delete grid._selectedRows;
349
- delete grid._selectedRowsDict[row[keyColumn]];
350
- grid._allRowsOnPageSelected = false;
351
-
352
- grid.checkPocketState();
353
- grid.refreshState();
354
-
355
- if (grid.graph) {
356
- grid.graph.triggerWave({ nodes: [grid], withStartNodes: false });
357
- }
358
- }
359
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
360
- selectAllRows() {
361
- const grid = this;
362
- const keyColumn = grid.getKeyColumn();
363
- delete grid._selectedRows;
364
-
365
- grid._allRowsOnPageSelected = true;
366
-
367
- for (let row of grid.rows) {
368
- grid._selectedRowsDict[row[keyColumn]] = row;
369
- }
370
-
371
- grid.checkPocketState();
372
- grid.refreshState();
373
-
374
- if (grid.graph) {
375
- grid.graph.triggerWave({ nodes: [grid], withStartNodes: false });
376
- }
377
- }
378
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
379
- clearPocket() {
380
- const grid = this;
381
- grid._selectedRowsDict = {};
382
- delete grid._selectedRows;
383
- grid._allRowsOnPageSelected = false;
384
- grid.checkPocketState();
385
-
386
- grid.refreshState();
387
-
388
- if (grid.graph) {
389
- grid.graph.triggerWave({ nodes: [grid], withStartNodes: false });
390
- }
391
- }
392
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
393
- checkPocketState() {
394
- const grid = this;
395
- const keyColumn = grid.getKeyColumn();
396
-
397
- if (Object.keys(grid._selectedRowsDict).length <= 0) {
398
- //grid.pocketOpened = false;
399
- grid._allRowsOnPageSelected = false;
400
- return;
401
- }
402
-
403
- //grid.pocketOpened = true;
404
- grid._allRowsOnPageSelected = true;
405
-
406
- for (let row of grid.rows) {
407
- if (grid._selectedRowsDict[row[keyColumn]] == null) {
408
- grid._allRowsOnPageSelected = false;
409
- break;
410
- }
411
- }
412
- }
413
- // -------------------------------------------------------------------------------------------------------------------------------------------------------------
414
- }