react-graph-grid 0.0.0

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.
@@ -0,0 +1,848 @@
1
+ import { GraphClass, WaveType } from '../Graph';
2
+ import { BaseComponent, NodeStatus, FilterType } from '../Base';
3
+ export default class TestData {
4
+
5
+ //constructor() {
6
+ //}
7
+
8
+ getFamily(e) {
9
+ const family = [
10
+ { Id: 1, ParentId: [3, 4], Name: 'Mikle', SecondName: 'Razumtsev', Date: '26/01/1979', Comment: 'Good boy' },
11
+ { Id: 2, ParentId: [0], Name: 'Nataly', SecondName: 'Sche..', Date: '15/01/1999', Comment: 'Good girl' },
12
+ { Id: 3, ParentId: [11, 23], Name: 'Lyuda', SecondName: 'Razumtseva', Date: '03/07/1953', Comment: 'Mommy' },
13
+ { Id: 4, ParentId: [5, 22], Name: 'Borya', SecondName: 'Razumtsev', Date: '14/06/1953', Comment: 'Papa' },
14
+ { Id: 5, ParentId: [0], Name: 'Nina', SecondName: 'Razumtseva', Date: '17/06/1917', Comment: 'Babushka' },
15
+ { Id: 6, ParentId: [3, 4], Name: 'Evgenia', SecondName: 'Batyreva', Date: '31/10/1974', Comment: 'Sister' },
16
+ { Id: 7, ParentId: [9, 10], Name: 'Ilia', SecondName: 'Razumtsev', Date: '16/09/1980', Comment: 'Brother 1' },
17
+ { Id: 8, ParentId: [9, 10], Name: 'Mitka', SecondName: 'Razumtsev', Date: '04/07/1989', Comment: 'Brother 2' },
18
+ { Id: 9, ParentId: [5, 22], Name: 'Kolya', SecondName: 'Razumtsev', Date: '02/11/1954', Comment: 'Dadya' },
19
+ { Id: 10, ParentId: [11, 23], Name: 'Lara', SecondName: 'Razumtseva', Date: '31/01/1961', Comment: 'Tetya' },
20
+ { Id: 11, ParentId: [0], Name: 'Valya', SecondName: 'Dolginova', Date: '23/06/1933', Comment: 'Babushka' },
21
+ { Id: 12, ParentId: [6, 32], Name: 'Dashka', SecondName: 'Markelova', Date: '08/06/2000', Comment: 'Plemyannica 1' },
22
+ { Id: 13, ParentId: [6, 32], Name: 'Katka', SecondName: 'Markelova', Date: '27/05/2003', Comment: 'Plemyannica 2' },
23
+ { Id: 14, ParentId: [6, 31], Name: 'Tuyanka', SecondName: 'Batyreva', Date: '15/11/2010', Comment: 'Plemyannica 3' },
24
+ { Id: 15, ParentId: [0], Name: 'Shura', SecondName: 'Pelushskaya', Date: '22/04/1919', Comment: 'Dv. Babushka' },
25
+ { Id: 16, ParentId: [15], Name: 'Ira', SecondName: 'Pelushskaya', Date: '11/06/1947', Comment: 'Dv. Tetya' },
26
+ { Id: 17, ParentId: [11, 23], Name: 'Sveta', SecondName: 'Dolginova', Date: '10/11/195?', Comment: 'Tetya' },
27
+ { Id: 18, ParentId: [11, 23], Name: 'Rita', SecondName: 'Dolginova', Date: '23/10/195?', Comment: 'Tetya' },
28
+ { Id: 19, ParentId: [11, 23], Name: 'Nadya', SecondName: 'Shaula', Date: '11/11/196?', Comment: 'Tetya' },
29
+ { Id: 20, ParentId: [11, 23], Name: 'Vitia', SecondName: 'Dolginov', Date: '11/11/196?', Comment: 'Dadya' },
30
+ { Id: 21, ParentId: [11, 23], Name: 'Tanya', SecondName: 'Dolginova', Date: '07/01/1963', Comment: 'Tetya' },
31
+ { Id: 22, ParentId: [0], Name: 'Misha', SecondName: 'Razumtsev', Date: '??/??/19??', Comment: 'Ded' },
32
+ { Id: 23, ParentId: [0], Name: 'Zambo', SecondName: 'Dolginov', Date: '??/??/19??', Comment: 'Ded 2' },
33
+
34
+ { Id: 24, ParentId: [18, 34], Name: 'Alina', SecondName: 'Ushakova', Date: '??/??/????', Comment: 'Dv. Sister' },
35
+ { Id: 25, ParentId: [19, 33], Name: 'Igor', SecondName: 'Shaula', Date: '??/??/????', Comment: 'Dv. Brother' },
36
+ { Id: 26, ParentId: [19, 33], Name: 'Dima', SecondName: 'Shaula', Date: '??/??/????', Comment: 'Dv. Brother' },
37
+ { Id: 27, ParentId: [20, 35], Name: 'Olga', SecondName: 'Dolginova', Date: '??/??/????', Comment: 'Dv. Sister' },
38
+ { Id: 28, ParentId: [20, 35], Name: 'Venia', SecondName: 'Dolginov', Date: '??/??/????', Comment: 'Dv. Brother' },
39
+ { Id: 29, ParentId: [20, 36], Name: 'Oleg', SecondName: 'Dolginov', Date: '??/??/????', Comment: 'Dv. Brother' },
40
+
41
+ { Id: 30, ParentId: [0], Name: 'Yura', SecondName: 'Pelushskiy', Date: '??/??/????', Comment: 'Dv. Ded' },
42
+ { Id: 31, ParentId: [0], Name: 'Sanal', SecondName: 'Batyrev', Date: '11/06/????', Comment: 'Muzh Sestry 3' },
43
+ { Id: 32, ParentId: [0], Name: 'Dima', SecondName: 'Markelov', Date: '??/??/????', Comment: 'Muzh Sestry 2' },
44
+ { Id: 33, ParentId: [0], Name: 'Slava', SecondName: 'Shaula', Date: '??/??/????', Comment: 'Muzh Teti' },
45
+ { Id: 34, ParentId: [0], Name: 'Sasha', SecondName: 'Ushakov', Date: '??/??/????', Comment: 'Muzh Teti' },
46
+ { Id: 35, ParentId: [0], Name: 'Toma', SecondName: '???', Date: '??/??/????', Comment: 'Mat Olgi i Veni' },
47
+ { Id: 36, ParentId: [0], Name: 'Ira', SecondName: '???', Date: '??/??/????', Comment: 'Mat Olega' },
48
+ ];
49
+
50
+ if (e.autocompleteColumn) {
51
+ e.grid._autocomplDict = {};
52
+ e.grid._autocomplCount = 0;
53
+ }
54
+
55
+ let rows = [];
56
+
57
+ for (let row of family) {
58
+ if (!this.passRow(e.grid, row, e.autocompleteColumn)) continue;
59
+
60
+ if (e.autocompleteColumn) {
61
+ e.grid._autocomplCount++;
62
+ if (e.grid._autocomplCount > 10) break;
63
+
64
+ let cellValue = row[e.autocompleteColumn.name];
65
+ e.grid._autocomplDict[String(cellValue).toLowerCase()] = 1;
66
+
67
+ rows.push(cellValue);
68
+ }
69
+ else {
70
+ rows.push(row);
71
+ }
72
+ }
73
+
74
+ if (!e.autocompleteColumn) {
75
+ e.grid.totalRows = rows.length;
76
+
77
+ if (e.grid.columns) {
78
+ let sortCol = null;
79
+ for (let col of e.grid.columns) {
80
+ if (col.asc || col.desc) {
81
+ sortCol = col;
82
+ break;
83
+ }
84
+ }
85
+
86
+ if (sortCol != null) {
87
+ rows.sort(function (a, b) { return a[sortCol.name] > b[sortCol.name] ? (sortCol.asc ? 1 : -1) : (sortCol.asc ? -1 : 1); });
88
+ }
89
+ }
90
+ }
91
+
92
+ if (e.autocompleteColumn) {
93
+ rows.sort(function (a, b) { return a > b ? 1 : -1; });
94
+ }
95
+ else {
96
+ rows = e.grid.pageSize > 0 && e.grid.pageNumber > 0 ? rows.slice((e.grid.pageNumber - 1) * e.grid.pageSize, e.grid.pageNumber * e.grid.pageSize) : rows;
97
+
98
+ e.grid.rows = rows;
99
+ }
100
+
101
+ return rows;
102
+ }
103
+
104
+ GetFamilyColumns() {
105
+ return [{ name: 'Id', sortable: true, filtrable: true }, { name: 'Name', sortable: true, filtrable: true }, { name: 'SecondName', sortable: true, filtrable: true }, { name: 'Date', sortable: true }, { name: 'Comment', sortable: true, filtrable: true }]
106
+ }
107
+
108
+ getCity(e) {
109
+ const cities = [
110
+ { Id: 1, ParentId: [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], City: 'Voronezh' },
111
+ { Id: 2, ParentId: [1, 3, 4, 5, 6, 7, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23], City: 'Grafskaya' },
112
+ { Id: 3, ParentId: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 23, 28, 29], City: 'Moskow' },
113
+ { Id: 4, ParentId: [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 30], City: 'Pskov' },
114
+ { Id: 5, ParentId: [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29], City: 'Elista' },
115
+ { Id: 6, ParentId: [1, 3, 4, 6, 12, 13, 14], City: 'Pyatigorsk' },
116
+ { Id: 7, ParentId: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16], City: 'Piter' },
117
+ { Id: 8, ParentId: [1, 3, 4, 11, 14, 17, 18, 19, 20, 23], City: 'Novosibirsk' },
118
+ { Id: 9, ParentId: [5, 15, 30], City: 'Ustyuzhna' },
119
+ { Id: 10, ParentId: [1, 7, 8, 9, 20], City: 'Army' },
120
+ { Id: 11, ParentId: [2], City: 'Bali' },
121
+ { Id: 12, ParentId: [2], City: 'Hanty-Mansiysk' },
122
+ { Id: 13, ParentId: [21], City: 'Paris' },
123
+ { Id: 14, ParentId: [19, 25, 26], City: 'Energodar' },
124
+ ];
125
+
126
+ if (e.autocompleteColumn) {
127
+ e.grid._autocomplDict = {};
128
+ e.grid._autocomplCount = 0;
129
+ }
130
+
131
+ let rows = [];
132
+
133
+ for (let row of cities) {
134
+ if (!this.passRow(e.grid, row, e.autocompleteColumn)) continue;
135
+
136
+ if (e.filters && e.filters.length) {
137
+ let filter = e.filters[0];
138
+ filter = filter.filter ? filter.filter : filter;
139
+ if (!row['ParentId'] || row['ParentId'].indexOf(+filter) < 0) continue;
140
+ }
141
+
142
+ if (e.autocompleteColumn) {
143
+ e.grid._autocomplCount++;
144
+ if (e.grid._autocomplCount > 10) break;
145
+
146
+ let cellValue = row[e.autocompleteColumn.name];
147
+ e.grid._autocomplDict[String(cellValue).toLowerCase()] = 1;
148
+
149
+ rows.push(cellValue);
150
+ }
151
+ else {
152
+ rows.push(row);
153
+ }
154
+ }
155
+
156
+ if (!e.autocompleteColumn) {
157
+ e.grid.totalRows = rows.length;
158
+
159
+ if (e.grid.columns) {
160
+ let sortCol = null;
161
+ for (let col of e.grid.columns) {
162
+ if (col.asc || col.desc) {
163
+ sortCol = col;
164
+ break;
165
+ }
166
+ }
167
+
168
+ if (sortCol != null) {
169
+ rows.sort(function (a, b) { return a[sortCol.name] > b[sortCol.name] ? (sortCol.asc ? 1 : -1) : (sortCol.asc ? -1 : 1); });
170
+ }
171
+ }
172
+ }
173
+
174
+ if (e.autocompleteColumn) {
175
+ rows.sort(function (a, b) { return a > b ? 1 : -1; });
176
+ }
177
+ else {
178
+ rows = e.grid.pageSize > 0 && e.grid.pageNumber > 0 ? rows.slice((e.grid.pageNumber - 1) * e.grid.pageSize, e.grid.pageNumber * e.grid.pageSize) : rows;
179
+
180
+ e.grid.rows = rows;
181
+ }
182
+
183
+ return rows;
184
+ }
185
+
186
+ GetCityColumns() {
187
+ return [{ name: 'Id', sortable: true }, { name: 'City', sortable: true, filtrable: true }]
188
+ }
189
+
190
+ passRow(grid, row, autocompleteColumn) {
191
+ if (!grid.columns) return true;
192
+
193
+ for (let col of grid.columns) {
194
+ if (!col.filtrable || (col.filter == null || col.filter == '') && !autocompleteColumn) continue;
195
+
196
+ const cellValue = String(row[col.name]).toLowerCase();
197
+ if (cellValue == '') return false;
198
+
199
+ const filter = col.filter == null || col.filter == '' ? '' : col.filter.toLowerCase();
200
+
201
+ if (filter != '') {
202
+ if (autocompleteColumn) {
203
+ if (autocompleteColumn == col && cellValue.indexOf(filter) != 0 || autocompleteColumn != col && cellValue != filter) return false;
204
+
205
+ }
206
+ else {
207
+ if (cellValue != filter) return false;
208
+ }
209
+ }
210
+
211
+ if (autocompleteColumn && grid._autocomplDict[cellValue]) return false;
212
+ }
213
+
214
+ return true;
215
+ }
216
+
217
+ getTestGraph() {
218
+ const graph = new GraphClass();
219
+
220
+ //graph.noCachWave = true;
221
+ graph.uid = 'TestPMGraph';
222
+
223
+ const projectNode = { id: 0, entity: 'SrRProjectEntity', title: 'Проект', status: NodeStatus.filter, keyField: 'ID_SR_R_PROJECT_SRPJ', nameField: 'NAME_PROJ_SRPJ' };
224
+ const promptNode = { id: 1, entity: 'SrRPromptnessEntity', title: 'Срочность выполнения', status: NodeStatus.filter, keyField: 'ID_SR_R_PROMPTNESS_SRPR', nameField: 'NAME_SRPR' };
225
+ const statusNode = { id: 2, entity: 'SrRStatusEntity', title: 'Статус задания', status: NodeStatus.filter, keyField: 'ID_SR_R_STATUS_SRST', nameField: 'NAME_STATUS_SRST' };
226
+ const executorNode = { id: 3, entity: 'SrRExecutiveEntity', entityAdd: '2', title: 'Исполнитель', status: NodeStatus.filter, keyField: 'ID_SR_R_EXECUTIVE_SREX', nameField: 'FIO_SREX' };
227
+ const authorNode = { id: 4, entity: 'SrRExecutiveEntity', title: 'Автор задания', status: NodeStatus.filter, keyField: 'ID_SR_R_EXECUTIVE_SREX', nameField: 'FIO_SREX' };
228
+ const datefromNode = { id: 5, title: 'Дата создания От', status: NodeStatus.filter, filterType: FilterType.date };
229
+ const datetoNode = { id: 6, title: 'Дата создания По', status: NodeStatus.filter, filterType: FilterType.date };
230
+ const remarkNode = { id: 7, parentGrids: '0,1,2,3,4,5,6,11', entity: 'SrRemarkEntity', title: 'Задания', status: NodeStatus.grid, keyField: 'ID_SR_REMARK_SRRM' };
231
+ //const favoriteNode = { id: '8', entity: 'SrRemarkEntity', title: 'Избранное', status: NodeStatus.grid, keyField: 'ID_SR_REMARK_SRRM' };
232
+ const detailsNode = { id: 9, parentGrids: '7', entity: 'SrDetailRemarkEntity', title: 'Детализация задания', status: NodeStatus.grid, keyField: 'ID_SR_DETAIL_REMARK_SRDR', isBottom: true };
233
+ const addNode = { id: 10, parentGrids: '7', entity: 'DdObjectEntity', title: 'Дополнительные данные', status: NodeStatus.grid, keyField: 'ID_DD_OBJECT_DDOB', isBottom: true };
234
+
235
+ const parentRemarkNode = { id: 11, /*parentGrids: '0,1,2,3,4,5,6',*/ entity: 'SrRemarkEntity', title: 'Родительское задание', status: NodeStatus.filter, keyField: 'ID_SR_REMARK_SRRM', schemeName: 'Remarks_scheme', inSchemeUid: '05' };
236
+
237
+ graph.nodesDict[projectNode.id] = projectNode;
238
+ graph.nodesDict[promptNode.id] = promptNode;
239
+ graph.nodesDict[statusNode.id] = statusNode;
240
+ graph.nodesDict[executorNode.id] = executorNode;
241
+ graph.nodesDict[authorNode.id] = authorNode;
242
+ graph.nodesDict[datefromNode.id] = datefromNode;
243
+ graph.nodesDict[datetoNode.id] = datetoNode;
244
+ graph.nodesDict[remarkNode.id] = remarkNode;
245
+ //graph.nodesDict[favoriteNode.id] = favoriteNode;
246
+ graph.nodesDict[detailsNode.id] = detailsNode;
247
+ graph.nodesDict[addNode.id] = addNode;
248
+ graph.nodesDict[parentRemarkNode.id] = parentRemarkNode;
249
+
250
+ /*
251
+ //graph.nodeCount = 10;
252
+ remarkNode.getColumns = function () {
253
+ return [
254
+ {
255
+ name: 'ID_SR_REMARK_SRRM',
256
+ title: 'ID задания',
257
+ sortable: true,
258
+ filtrable: true,
259
+ readonly: true,
260
+ },
261
+ {
262
+ name: 'NUMBER_PP_SRRM',
263
+ title: '№ п/п',
264
+ sortable: true,
265
+ filtrable: true,
266
+ required: true,
267
+ },
268
+ {
269
+ name: 'DATE_CREATE_SRRM',
270
+ title: 'Дата создания',
271
+ sortable: true,
272
+ filtrable: true,
273
+ type: 'date',
274
+ },
275
+ {
276
+ name: 'REMARK_SRRM',
277
+ title: 'Текст задания',
278
+ sortable: true,
279
+ filtrable: true,
280
+ required: true,
281
+ maxW: 600,
282
+ },
283
+ {
284
+ name: 'FROM_WHOM_SRRM_NAME',
285
+ title: 'Автор задания',
286
+ sortable: true,
287
+ filtrable: true,
288
+ type: 'lookup',
289
+ entity: 'SrRExecutiveEntity',
290
+ keyField: 'ID_FROM_WHOM_SRRM',
291
+ refKeyField: 'ID_SR_R_EXECUTIVE_SREX',
292
+ refNameField: 'FIO_SREX',
293
+ },
294
+ {
295
+ name: 'WHOM_SRRM_NAME',
296
+ title: 'Исполнитель задания',
297
+ sortable: true,
298
+ filtrable: true,
299
+ required: true,
300
+ type: 'lookup',
301
+ entity: 'SrRExecutiveEntity',
302
+ keyField: 'ID_WHOM_SRRM',
303
+ refKeyField: 'ID_SR_R_EXECUTIVE_SREX',
304
+ refNameField: 'FIO_SREX',
305
+ },
306
+ {
307
+ name: 'SR_R_PROJECT_SRRM_NAME',
308
+ title: 'Проект',
309
+ sortable: true,
310
+ filtrable: true,
311
+ required: true,
312
+ type: 'lookup',
313
+ entity: 'SrRProjectEntity',
314
+ keyField: 'ID_SR_R_PROJECT_SRRM',
315
+ refKeyField: 'ID_SR_R_PROJECT_SRPJ',
316
+ refNameField: 'NAME_PROJ_SRPJ',
317
+ },
318
+ {
319
+ name: 'SR_R_PROMPTNESS_SRRM_NAME',
320
+ title: 'Срочность',
321
+ sortable: true,
322
+ filtrable: true,
323
+ required: true,
324
+ type: 'lookup',
325
+ entity: 'SrRPromptnessEntity',
326
+ keyField: 'ID_SR_R_PROMPTNESS_SRRM',
327
+ refKeyField: 'ID_SR_R_PROMPTNESS_SRPR',
328
+ refNameField: 'NAME_SRPR',
329
+ },
330
+ {
331
+ name: 'SR_R_STATUS_SRRM_NAME',
332
+ title: 'Статус',
333
+ sortable: true,
334
+ filtrable: true,
335
+ required: true,
336
+ type: 'lookup',
337
+ entity: 'SrRStatusEntity',
338
+ keyField: 'ID_SR_R_STATUS_SRRM',
339
+ refKeyField: 'ID_SR_R_STATUS_SRST',
340
+ refNameField: 'NAME_STATUS_SRST',
341
+ },
342
+ {
343
+ name: 'COMMENT_EXECUT_SRRM',
344
+ title: 'Комментарий исполнителя',
345
+ sortable: true,
346
+ filtrable: true
347
+ },
348
+ {
349
+ name: 'DATE_COMPLETE_SRRM',
350
+ title: 'Плановый срок выполнения',
351
+ sortable: true,
352
+ filtrable: true,
353
+ type: 'date',
354
+ },
355
+ {
356
+ name: 'NAME_DB_SRRM',
357
+ title: 'База данных',
358
+ sortable: true,
359
+ filtrable: true
360
+ },
361
+ {
362
+ name: 'PROGRAM_SRRM',
363
+ title: 'Программа',
364
+ sortable: true,
365
+ filtrable: true
366
+ },
367
+ {
368
+ name: 'PLACE_ERROR_SRRM',
369
+ title: 'Место возникновения ошибки',
370
+ sortable: true,
371
+ filtrable: true
372
+ },
373
+ {
374
+ name: 'LINK_SRRM',
375
+ title: 'Ссылка на документ или скриншот',
376
+ sortable: true,
377
+ filtrable: true
378
+ },
379
+ {
380
+ name: 'PARENT_REMARK_SRRM_NAME',
381
+ title: 'Замечание-родитель',
382
+ sortable: true,
383
+ filtrable: true,
384
+ type: 'lookup',
385
+ entity: 'SrRemarkEntity',
386
+ keyField: 'PARENT_REMARK_SRRM',
387
+ refKeyField: 'ID_SR_REMARK_SRRM',
388
+ refNameField: 'REMARK_SRRM',
389
+ },
390
+ {
391
+ name: 'DATE_EXECUTE_SRRM',
392
+ title: 'Дата выполнения',
393
+ sortable: true,
394
+ filtrable: true,
395
+ type: 'date',
396
+ },
397
+ {
398
+ name: 'DATE_CHECKED_SRRM',
399
+ title: 'Дата приемки',
400
+ sortable: true,
401
+ filtrable: true,
402
+ type: 'date',
403
+ },
404
+ {
405
+ name: 'IsFavorite',
406
+ title: 'В избранном',
407
+ sortable: true,
408
+ filtrable: true
409
+ },
410
+ {
411
+ name: 'VVOD_ID_CONTRACTOR_SRRM',
412
+ title: 'Автор ввода',
413
+ sortable: true,
414
+ filtrable: true,
415
+ readonly: true,
416
+ },
417
+ {
418
+ name: 'CHANGE_ID_CONTRACTOR_SRRM',
419
+ title: 'Автор изменения',
420
+ sortable: true,
421
+ filtrable: true,
422
+ readonly: true,
423
+ },
424
+ {
425
+ name: 'DATE_INPUT_SRRM',
426
+ title: 'Дата ввода',
427
+ sortable: true,
428
+ filtrable: true,
429
+ readonly: true,
430
+ type: 'date',
431
+ },
432
+ {
433
+ name: 'DATE_CHANGE_SRRM',
434
+ title: 'Дата изменения',
435
+ sortable: true,
436
+ filtrable: true,
437
+ readonly: true,
438
+ type: 'date',
439
+ },
440
+ ];
441
+ }
442
+
443
+ detailsNode.getColumns = function () {
444
+ return [
445
+ {
446
+ name: 'ID_SR_DETAIL_REMARK_SRDR',
447
+ title: 'ID',
448
+ sortable: true,
449
+ filtrable: true
450
+ },
451
+ {
452
+ name: 'NUMBER_PP_SRDR',
453
+ title: '№ п/п',
454
+ sortable: true,
455
+ filtrable: true
456
+ },
457
+ {
458
+ name: 'DESCRIPTION_ACTION_SRDR',
459
+ title: 'Описание последовательности действий',
460
+ sortable: true,
461
+ filtrable: true
462
+ },
463
+ {
464
+ name: 'LINK_SRDR',
465
+ title: 'Ссылка на документ или скриншот',
466
+ sortable: true,
467
+ filtrable: true
468
+ },
469
+ {
470
+ name: 'VVOD_ID_CONTRACTOR_SRDR',
471
+ title: 'Автор ввода',
472
+ sortable: true,
473
+ filtrable: true
474
+ },
475
+ {
476
+ name: 'CHANGE_ID_CONTRACTOR_SRDR',
477
+ title: 'Автор изменения',
478
+ sortable: true,
479
+ filtrable: true
480
+ },
481
+ {
482
+ name: 'DATE_INPUT_SRDR',
483
+ title: 'Дата ввода',
484
+ sortable: true,
485
+ filtrable: true
486
+ },
487
+ {
488
+ name: 'DATE_CHANGE_SRDR',
489
+ title: 'Дата изменения',
490
+ sortable: true,
491
+ filtrable: true
492
+ },
493
+ ];
494
+ }
495
+
496
+ addNode.getColumns = function () {
497
+ return [
498
+ {
499
+ name: 'NUMBER_PP_DDOB',
500
+ title: '№ п/п',
501
+ sortable: true,
502
+ filtrable: true
503
+ },
504
+ {
505
+ name: 'TYPE_DATA_DDOB',
506
+ title: 'Тип данных',
507
+ sortable: true,
508
+ filtrable: true
509
+ },
510
+ {
511
+ name: 'COMMENT_DDOB',
512
+ title: 'Комментарий',
513
+ sortable: true,
514
+ filtrable: true
515
+ },
516
+ {
517
+ name: 'NUM_CLASS_DDOB_NAME',
518
+ title: 'Имя класса',
519
+ sortable: true,
520
+ filtrable: true
521
+ },
522
+ {
523
+ name: 'VVOD_ID_CONTRACTOR_DDOB',
524
+ title: 'Автор ввода',
525
+ sortable: true,
526
+ filtrable: true
527
+ },
528
+ {
529
+ name: 'CHANGE_ID_CONTRACTOR_DDOB',
530
+ title: 'Автор изменения',
531
+ sortable: true,
532
+ filtrable: true
533
+ },
534
+ {
535
+ name: 'DATE_INPUT_DDOB',
536
+ title: 'Дата ввода',
537
+ sortable: true,
538
+ filtrable: true
539
+ },
540
+ {
541
+ name: 'DATE_CHANGE_DDOB',
542
+ title: 'Дата изменения',
543
+ sortable: true,
544
+ filtrable: true
545
+ },
546
+ ];
547
+ }
548
+ projectNode.getColumns = function () {
549
+ return [
550
+ {
551
+ name: 'NAME_PROJ_SRPJ',
552
+ title: 'Наименование проекта',
553
+ sortable: true,
554
+ filtrable: true
555
+ },
556
+ {
557
+ name: 'DESCRIPTION_SRPJ',
558
+ title: 'Описание проекта',
559
+ sortable: true,
560
+ filtrable: true
561
+ },
562
+ {
563
+ name: 'VVOD_ID_CONTRACTOR_SRPJ',
564
+ title: 'Автор ввода',
565
+ sortable: true,
566
+ filtrable: true
567
+ },
568
+ {
569
+ name: 'CHANGE_ID_CONTRACTOR_SRPJ',
570
+ title: 'Автор изменения',
571
+ sortable: true,
572
+ filtrable: true
573
+ },
574
+ {
575
+ name: 'DATE_INPUT_SRPJ',
576
+ title: 'Дата ввода',
577
+ sortable: true,
578
+ filtrable: true
579
+ },
580
+ {
581
+ name: 'DATE_CHANGE_SRPJ',
582
+ title: 'Дата изменения',
583
+ sortable: true,
584
+ filtrable: true
585
+ },
586
+ ];
587
+ }
588
+
589
+ promptNode.getColumns = function () {
590
+ return [
591
+ {
592
+ name: 'NUMBER_PP_SRPR',
593
+ title: '№ п/п',
594
+ sortable: true,
595
+ filtrable: true
596
+ },
597
+ {
598
+ name: 'NAME_SRPR',
599
+ title: 'Наименование',
600
+ sortable: true,
601
+ filtrable: true
602
+ },
603
+ {
604
+ name: 'DESCRIPTION_SRPR',
605
+ title: 'Описание',
606
+ sortable: true,
607
+ filtrable: true
608
+ },
609
+ {
610
+ name: 'VVOD_ID_CONTRACTOR_SRPR',
611
+ title: 'Автор ввода',
612
+ sortable: true,
613
+ filtrable: true
614
+ },
615
+ {
616
+ name: 'CHANGE_ID_CONTRACTOR_SRPR',
617
+ title: 'Автор изменения',
618
+ sortable: true,
619
+ filtrable: true
620
+ },
621
+ {
622
+ name: 'DATE_INPUT_SRPR',
623
+ title: 'Дата ввода',
624
+ sortable: true,
625
+ filtrable: true
626
+ },
627
+ {
628
+ name: 'DATE_CHANGE_SRPR',
629
+ title: 'Дата изменения',
630
+ sortable: true,
631
+ filtrable: true
632
+ },
633
+ ];
634
+ }
635
+ statusNode.getColumns = function () {
636
+ return [
637
+ {
638
+ name: 'NUMBER_PP_SRST',
639
+ title: '№ п/п',
640
+ sortable: true,
641
+ filtrable: true
642
+ },
643
+ {
644
+ name: 'NAME_STATUS_SRST',
645
+ title: 'Наименование статуса',
646
+ sortable: true,
647
+ filtrable: true
648
+ },
649
+ {
650
+ name: 'COMMENT_SRST',
651
+ title: 'Примечание',
652
+ sortable: true,
653
+ filtrable: true
654
+ },
655
+ {
656
+ name: 'VVOD_ID_CONTRACTOR_SRST',
657
+ title: 'Автор ввода',
658
+ sortable: true,
659
+ filtrable: true
660
+ },
661
+ {
662
+ name: 'CHANGE_ID_CONTRACTOR_SRST',
663
+ title: 'Автор изменения',
664
+ sortable: true,
665
+ filtrable: true
666
+ },
667
+ {
668
+ name: 'DATE_INPUT_SRST',
669
+ title: 'Дата ввода',
670
+ sortable: true,
671
+ filtrable: true
672
+ },
673
+ {
674
+ name: 'DATE_CHANGE_SRST',
675
+ title: 'Дата изменения',
676
+ sortable: true,
677
+ filtrable: true
678
+ },
679
+ ];
680
+ }
681
+ executorNode.getColumns = function () {
682
+ return [
683
+ {
684
+ name: 'NUMBER_PP_SREX',
685
+ title: '№ п/п',
686
+ sortable: true,
687
+ filtrable: true
688
+ },
689
+ {
690
+ name: 'FIO_SREX',
691
+ title: 'ФИО',
692
+ sortable: true,
693
+ filtrable: true
694
+ },
695
+ {
696
+ name: 'LOGIN_SREX',
697
+ title: 'Логин',
698
+ sortable: true,
699
+ filtrable: true
700
+ },
701
+ {
702
+ name: 'LOGIN_IN_CHAT_SREX',
703
+ title: 'Логин в рабочем чате',
704
+ sortable: true,
705
+ filtrable: true
706
+ },
707
+ {
708
+ name: 'VVOD_ID_CONTRACTOR_SREX',
709
+ title: 'Автор ввода',
710
+ sortable: true,
711
+ filtrable: true
712
+ },
713
+ {
714
+ name: 'CHANGE_ID_CONTRACTOR_SREX',
715
+ title: 'Автор изменения',
716
+ sortable: true,
717
+ filtrable: true
718
+ },
719
+ {
720
+ name: 'DATE_INPUT_SREX',
721
+ title: 'Дата ввода',
722
+ sortable: true,
723
+ filtrable: true
724
+ },
725
+ {
726
+ name: 'DATE_CHANGE_SREX',
727
+ title: 'Дата изменения',
728
+ sortable: true,
729
+ filtrable: true
730
+ },
731
+ ];
732
+ }
733
+ authorNode.getColumns = function () {
734
+ return [
735
+ {
736
+ name: 'NUMBER_PP_SREX',
737
+ title: '№ п/п',
738
+ sortable: true,
739
+ filtrable: true
740
+ },
741
+ {
742
+ name: 'FIO_SREX',
743
+ title: 'ФИО',
744
+ sortable: true,
745
+ filtrable: true
746
+ },
747
+ {
748
+ name: 'LOGIN_SREX',
749
+ title: 'Логин',
750
+ sortable: true,
751
+ filtrable: true
752
+ },
753
+ {
754
+ name: 'LOGIN_IN_CHAT_SREX',
755
+ title: 'Логин в рабочем чате',
756
+ sortable: true,
757
+ filtrable: true
758
+ },
759
+ {
760
+ name: 'VVOD_ID_CONTRACTOR_SREX',
761
+ title: 'Автор ввода',
762
+ sortable: true,
763
+ filtrable: true
764
+ },
765
+ {
766
+ name: 'CHANGE_ID_CONTRACTOR_SREX',
767
+ title: 'Автор изменения',
768
+ sortable: true,
769
+ filtrable: true
770
+ },
771
+ {
772
+ name: 'DATE_INPUT_SREX',
773
+ title: 'Дата ввода',
774
+ sortable: true,
775
+ filtrable: true
776
+ },
777
+ {
778
+ name: 'DATE_CHANGE_SREX',
779
+ title: 'Дата изменения',
780
+ sortable: true,
781
+ filtrable: true
782
+ },
783
+ ];
784
+ }
785
+ */
786
+ function connect(child, parent) {
787
+ const link = { parent: parent, child: child };
788
+
789
+ const lkey = child.id + '_' + parent.id;
790
+ graph.linksDict[lkey] = link;
791
+
792
+ child.parents = child.parents || [];
793
+ child.parents.push(parent.uid);
794
+
795
+ parent.children = parent.children || [];
796
+ parent.children.push(child.uid);
797
+ }
798
+
799
+ for (let uid in graph.nodesDict) {
800
+ let node = graph.nodesDict[uid];
801
+ node.uid = uid;
802
+ node.children = node.children || [];
803
+ node.parents = node.parents || [];
804
+ }
805
+
806
+ for (let uid in graph.nodesDict) {
807
+ let node = graph.nodesDict[uid];
808
+
809
+ if (!node.parentGrids) continue;
810
+
811
+ let parentUids = ',' + node.parentGrids + ',';
812
+
813
+ for (let cid in graph.nodesDict) {
814
+ if (cid === node.uid) continue;
815
+ let pnode = graph.nodesDict[cid];
816
+
817
+ if (parentUids.indexOf(pnode.id) <= 0) continue;
818
+
819
+ connect(node, pnode);
820
+ }
821
+ }
822
+
823
+ graph.linksDict['7_11'].condition = 'SR_REMARK_SRRM.PARENT_REMARK_SRRM in (:id)';
824
+
825
+ graph.linksDict['7_0'].condition = 'SR_REMARK_SRRM.ID_SR_R_PROJECT_SRRM in (:id)';
826
+ graph.linksDict['7_1'].condition = 'SR_REMARK_SRRM.ID_SR_R_PROMPTNESS_SRRM in (:id)';
827
+ graph.linksDict['7_2'].condition = 'SR_REMARK_SRRM.ID_SR_R_STATUS_SRRM in (:id)';
828
+ graph.linksDict['7_3'].condition = 'SR_REMARK_SRRM.ID_WHOM_SRRM in (:id)';
829
+ graph.linksDict['7_4'].condition = 'SR_REMARK_SRRM.ID_FROM_WHOM_SRRM in (:id)';
830
+ graph.linksDict['7_5'].condition = 'SR_REMARK_SRRM.DATE_CREATE_SRRM >= :id';
831
+ graph.linksDict['7_6'].condition = 'SR_REMARK_SRRM.DATE_CREATE_SRRM <= :id';
832
+
833
+ graph.linksDict['9_7'].condition = 'SR_DETAIL_REMARK_SRDR.ID_SR_REMARK_SRDR in (:id)';
834
+ graph.linksDict['10_7'].condition = 'DD_OBJECT_DDOB.ID_OBJECT_DDOB in (:id)';
835
+
836
+ //connect(remarkNode, projectNode);
837
+ //connect(remarkNode, promptNode);
838
+ //connect(remarkNode, statusNode);
839
+ //connect(remarkNode, executorNode);
840
+ //connect(remarkNode, authorNode);
841
+ //connect(remarkNode, datefromNode);
842
+ //connect(remarkNode, datetoNode);
843
+ //connect(detailsNode, remarkNode);
844
+ //connect(addNode, remarkNode);
845
+
846
+ return graph;
847
+ }
848
+ }