@vuu-ui/vuu-data-test 2.3.0 → 3.0.0-beta.1
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/cjs/TickingArrayDataSource.js +37 -114
- package/cjs/TickingArrayDataSource.js.map +1 -1
- package/cjs/core/module/VuuModule.js +112 -81
- package/cjs/core/module/VuuModule.js.map +1 -1
- package/cjs/index.js +0 -2
- package/cjs/index.js.map +1 -1
- package/cjs/session-table-utils.js +21 -4
- package/cjs/session-table-utils.js.map +1 -1
- package/cjs/test/TestModule.js +51 -12
- package/cjs/test/TestModule.js.map +1 -1
- package/esm/TickingArrayDataSource.js +38 -115
- package/esm/TickingArrayDataSource.js.map +1 -1
- package/esm/core/module/VuuModule.js +113 -82
- package/esm/core/module/VuuModule.js.map +1 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +1 -1
- package/esm/session-table-utils.js +21 -5
- package/esm/session-table-utils.js.map +1 -1
- package/esm/test/TestModule.js +51 -12
- package/esm/test/TestModule.js.map +1 -1
- package/package.json +7 -6
- package/types/TickingArrayDataSource.d.ts +10 -28
- package/types/core/module/VuuModule.d.ts +9 -9
- package/types/index.d.ts +0 -1
- package/types/session-table-utils.d.ts +3 -1
- package/types/test/TestModule.d.ts +4 -4
- package/cjs/SessionTable.js +0 -98
- package/cjs/SessionTable.js.map +0 -1
- package/esm/SessionTable.js +0 -95
- package/esm/SessionTable.js.map +0 -1
- package/types/SessionTable.d.ts +0 -12
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { isDeleteSelectedRowsRpcRequest, isUndoRowChangeRpcRequest, isEditCellRpcRequest, isRpcSuccess, isCreateSessionTableRpcRequest, uuid, isBeginEditSessionRpcRequest, isAddRowRpcRequest, isEndEditSessionRpcRequest } from '@vuu-ui/vuu-utils';
|
|
2
2
|
import { Table, buildDataColumnMapFromSchema } from '../../Table.js';
|
|
3
|
-
import { SessionTable, isProxySessionTable } from '../../SessionTable.js';
|
|
4
3
|
import { TickingArrayDataSource } from '../../TickingArrayDataSource.js';
|
|
5
4
|
import { RuntimeVisualLink } from '../../RuntimeVisualLink.js';
|
|
6
5
|
import moduleContainer from './ModuleContainer.js';
|
|
7
|
-
import { sessionTableSchema } from '../../session-table-utils.js';
|
|
6
|
+
import { sessionTableSchema, sessionTableRow } from '../../session-table-utils.js';
|
|
8
7
|
|
|
9
8
|
var __defProp = Object.defineProperty;
|
|
10
9
|
var __typeError = (msg) => {
|
|
@@ -16,7 +15,7 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
16
15
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
17
16
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
18
17
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
19
|
-
var _name, _sessionTableMessageColumn, _runtimeVisualLinks, _sessionTableMap, _tableServices, _subscriptionMap, _moduleServices, _moduleMenuServices;
|
|
18
|
+
var _name, _sessionTableMessageColumn, _runtimeVisualLinks, _sessionSourceTableMap, _sessionTableMap, _tableServices, _subscriptionMap, _moduleServices, _moduleMenuServices;
|
|
20
19
|
const assertUpdateIsValid = (schema, column, data) => {
|
|
21
20
|
const col = schema.columns.find((col2) => col2.name === column);
|
|
22
21
|
if (col) {
|
|
@@ -32,6 +31,7 @@ class VuuModule {
|
|
|
32
31
|
__privateAdd(this, _name);
|
|
33
32
|
__privateAdd(this, _sessionTableMessageColumn);
|
|
34
33
|
__privateAdd(this, _runtimeVisualLinks, /* @__PURE__ */ new Map());
|
|
34
|
+
__privateAdd(this, _sessionSourceTableMap, {});
|
|
35
35
|
__privateAdd(this, _sessionTableMap, {});
|
|
36
36
|
__privateAdd(this, _tableServices);
|
|
37
37
|
__privateAdd(this, _subscriptionMap, /* @__PURE__ */ new Map());
|
|
@@ -190,7 +190,6 @@ class VuuModule {
|
|
|
190
190
|
menu: this.menus?.[tableName],
|
|
191
191
|
rpcServices: this.getServices(tableName),
|
|
192
192
|
rpcMenuServices: this.getMenuServices(tableName),
|
|
193
|
-
sessionTables: __privateGet(this, _sessionTableMap),
|
|
194
193
|
viewport,
|
|
195
194
|
visualLinkService: this.visualLinkService,
|
|
196
195
|
vuuModule
|
|
@@ -200,7 +199,9 @@ class VuuModule {
|
|
|
200
199
|
const existingSubscriptions = __privateGet(this, _subscriptionMap).get(tableName);
|
|
201
200
|
const subscription = {
|
|
202
201
|
viewportId: dataSource.viewport,
|
|
203
|
-
dataSource
|
|
202
|
+
dataSource,
|
|
203
|
+
sessionTableName: sessionTable ? tableName : void 0,
|
|
204
|
+
sourceTableName: __privateGet(this, _sessionSourceTableMap)[tableName]
|
|
204
205
|
};
|
|
205
206
|
if (existingSubscriptions) {
|
|
206
207
|
existingSubscriptions.push(subscription);
|
|
@@ -216,11 +217,7 @@ class VuuModule {
|
|
|
216
217
|
const sessionTable = this.getSessionTable(viewPortId, false);
|
|
217
218
|
if (sessionTable) {
|
|
218
219
|
if (mode === "soft") {
|
|
219
|
-
sessionTable.update(
|
|
220
|
-
key,
|
|
221
|
-
__privateGet(this, _sessionTableMessageColumn),
|
|
222
|
-
"SOFT_DELETED"
|
|
223
|
-
);
|
|
220
|
+
sessionTable.update(key, "vuu_action", "deleteRow");
|
|
224
221
|
} else {
|
|
225
222
|
sessionTable.delete(key);
|
|
226
223
|
}
|
|
@@ -251,23 +248,20 @@ class VuuModule {
|
|
|
251
248
|
const { viewPortId } = rpcRequest.context;
|
|
252
249
|
const { mode = "soft" } = rpcRequest.params;
|
|
253
250
|
const sessionTable = this.getSessionTable(viewPortId, false);
|
|
254
|
-
if (sessionTable
|
|
251
|
+
if (sessionTable) {
|
|
255
252
|
const { dataSource } = this.getSubscriptionByViewport(viewPortId);
|
|
256
253
|
const selectedRowIds = dataSource.getSelectedRowIds();
|
|
257
254
|
const deletedKeys = [];
|
|
258
255
|
if (selectedRowIds.length > 0) {
|
|
259
256
|
for (const key of selectedRowIds) {
|
|
260
257
|
if (mode === "soft") {
|
|
261
|
-
sessionTable.update(
|
|
262
|
-
key,
|
|
263
|
-
__privateGet(this, _sessionTableMessageColumn),
|
|
264
|
-
"SOFT_DELETED"
|
|
265
|
-
);
|
|
258
|
+
sessionTable.update(key, "vuu_action", "deleteRow");
|
|
266
259
|
} else {
|
|
267
260
|
sessionTable.delete(key);
|
|
268
261
|
}
|
|
269
262
|
deletedKeys.push(key);
|
|
270
263
|
}
|
|
264
|
+
dataSource.select?.({ type: "DESELECT_ALL" });
|
|
271
265
|
}
|
|
272
266
|
return { type: "SUCCESS_RESULT", data: { deletedKeys } };
|
|
273
267
|
}
|
|
@@ -286,34 +280,49 @@ class VuuModule {
|
|
|
286
280
|
const { viewPortId } = rpcRequest.context;
|
|
287
281
|
const { key } = rpcRequest.params;
|
|
288
282
|
const sessionTable = this.getSessionTable(viewPortId, false);
|
|
289
|
-
if (sessionTable
|
|
290
|
-
const
|
|
291
|
-
const
|
|
283
|
+
if (sessionTable) {
|
|
284
|
+
const subscription = this.getSubscriptionByViewport(viewPortId);
|
|
285
|
+
const { dataSource } = subscription;
|
|
286
|
+
const sourceTableName = subscription.sourceTableName ?? dataSource.table?.table;
|
|
287
|
+
const sourceTable = this.tables[sourceTableName];
|
|
292
288
|
if (!sourceTable) {
|
|
293
289
|
return {
|
|
294
290
|
type: "ERROR_RESULT",
|
|
295
291
|
errorMessage: `undoRowChange: source table not found for viewport ${viewPortId}`
|
|
296
292
|
};
|
|
297
293
|
}
|
|
298
|
-
const
|
|
299
|
-
if (!
|
|
294
|
+
const sessionRow = sessionTable.findByKey(key);
|
|
295
|
+
if (!sessionRow) {
|
|
296
|
+
return {
|
|
297
|
+
type: "ERROR_RESULT",
|
|
298
|
+
errorMessage: `undoRowChange: session row not found for key ${key}`
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
const action = sessionRow[sessionTable.map.vuu_action];
|
|
302
|
+
if (action === "addRow") {
|
|
300
303
|
sessionTable.delete(key);
|
|
301
304
|
return { type: "SUCCESS_RESULT", data: { wasInsertedRow: true } };
|
|
302
305
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
if (action === "deleteRow" || action === "editCell") {
|
|
307
|
+
const sourceRow = sourceTable.findByKey(key);
|
|
308
|
+
if (!sourceRow) {
|
|
309
|
+
return {
|
|
310
|
+
type: "ERROR_RESULT",
|
|
311
|
+
errorMessage: `undoRowChange: source row not found for key ${key}`
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
const restoredRow = sessionRow.slice();
|
|
315
|
+
for (const column of sourceTable.schema.columns) {
|
|
316
|
+
restoredRow[sessionTable.map[column.name]] = sourceRow[sourceTable.map[column.name]];
|
|
309
317
|
}
|
|
310
|
-
|
|
318
|
+
sessionTable.updateRow(restoredRow);
|
|
319
|
+
sessionTable.update(key, "vuu_action", "");
|
|
311
320
|
}
|
|
312
321
|
return { type: "SUCCESS_RESULT", data: void 0 };
|
|
313
322
|
}
|
|
314
323
|
return {
|
|
315
324
|
type: "ERROR_RESULT",
|
|
316
|
-
errorMessage: `undoRowChange: no active
|
|
325
|
+
errorMessage: `undoRowChange: no active session table for viewport ${viewPortId}`
|
|
317
326
|
};
|
|
318
327
|
}
|
|
319
328
|
return {
|
|
@@ -325,7 +334,8 @@ class VuuModule {
|
|
|
325
334
|
if (isEditCellRpcRequest(rpcRequest)) {
|
|
326
335
|
const { viewPortId } = rpcRequest.context;
|
|
327
336
|
const { column, data, key } = rpcRequest.params;
|
|
328
|
-
|
|
337
|
+
const sessionTable = __privateGet(this, _sessionTableMap)[viewPortId];
|
|
338
|
+
let targetTable = sessionTable;
|
|
329
339
|
if (!targetTable) {
|
|
330
340
|
const { dataSource } = this.getSubscriptionByViewport(viewPortId);
|
|
331
341
|
if (dataSource.table) {
|
|
@@ -334,8 +344,15 @@ class VuuModule {
|
|
|
334
344
|
}
|
|
335
345
|
if (targetTable) {
|
|
336
346
|
try {
|
|
347
|
+
const sessionRow = sessionTable?.findByKey(key);
|
|
348
|
+
if (sessionRow?.[sessionTable.map.vuu_action] === "deleteRow") {
|
|
349
|
+
throw Error("editCell: cannot edit a deleted row");
|
|
350
|
+
}
|
|
337
351
|
assertUpdateIsValid(targetTable.schema, column, data);
|
|
338
352
|
targetTable.update(key, column, data);
|
|
353
|
+
if (sessionTable && sessionTable.findByKey(key)?.[sessionTable.map.vuu_action] !== "addRow") {
|
|
354
|
+
sessionTable.update(key, "vuu_action", "editCell");
|
|
355
|
+
}
|
|
339
356
|
return {
|
|
340
357
|
type: "SUCCESS_RESULT",
|
|
341
358
|
data: void 0
|
|
@@ -351,7 +368,7 @@ class VuuModule {
|
|
|
351
368
|
throw Error("[VuuModule] editCell unable to find table for dataSource");
|
|
352
369
|
}
|
|
353
370
|
} else {
|
|
354
|
-
throw Error(
|
|
371
|
+
throw Error("[VuuModule] editCell invalid rpc type");
|
|
355
372
|
}
|
|
356
373
|
});
|
|
357
374
|
__publicField(this, "beginEditSessionMenuHandler", async ({
|
|
@@ -422,11 +439,10 @@ class VuuModule {
|
|
|
422
439
|
sourceTable,
|
|
423
440
|
sessionTableName,
|
|
424
441
|
copyOption,
|
|
425
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
426
|
-
// @ts-ignore
|
|
427
442
|
dataSource
|
|
428
443
|
);
|
|
429
444
|
__privateGet(this, _sessionTableMap)[sessionTableName] = sessionTable;
|
|
445
|
+
__privateGet(this, _sessionSourceTableMap)[sessionTableName] = vuuTable.table;
|
|
430
446
|
subscription.sessionTableName = sessionTableName;
|
|
431
447
|
return {
|
|
432
448
|
data: {
|
|
@@ -464,11 +480,10 @@ class VuuModule {
|
|
|
464
480
|
sourceTable,
|
|
465
481
|
sessionTableName,
|
|
466
482
|
editSessionMode,
|
|
467
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
468
|
-
// @ts-ignore
|
|
469
483
|
dataSource
|
|
470
484
|
);
|
|
471
485
|
__privateGet(this, _sessionTableMap)[sessionTableName] = sessionTable;
|
|
486
|
+
__privateGet(this, _sessionSourceTableMap)[sessionTableName] = vuuTable.table;
|
|
472
487
|
subscription.sessionTableName = sessionTableName;
|
|
473
488
|
return {
|
|
474
489
|
data: {
|
|
@@ -489,7 +504,7 @@ class VuuModule {
|
|
|
489
504
|
}
|
|
490
505
|
}
|
|
491
506
|
} else {
|
|
492
|
-
throw Error(
|
|
507
|
+
throw Error("[VuuModule] endEditSession invalid rpc type");
|
|
493
508
|
}
|
|
494
509
|
return {
|
|
495
510
|
type: "ERROR_RESULT",
|
|
@@ -500,7 +515,8 @@ class VuuModule {
|
|
|
500
515
|
if (isAddRowRpcRequest(rpcRequest)) {
|
|
501
516
|
const { viewPortId } = rpcRequest.context;
|
|
502
517
|
const subscription = this.getSubscriptionByViewport(viewPortId);
|
|
503
|
-
const
|
|
518
|
+
const sessionTableName = subscription.sessionTableName ?? viewPortId;
|
|
519
|
+
const sessionTable = __privateGet(this, _sessionTableMap)[sessionTableName];
|
|
504
520
|
if (!sessionTable) {
|
|
505
521
|
return {
|
|
506
522
|
type: "ERROR_RESULT",
|
|
@@ -511,6 +527,7 @@ class VuuModule {
|
|
|
511
527
|
const columnMap = sessionTable.map;
|
|
512
528
|
const columnCount = Object.keys(columnMap).length;
|
|
513
529
|
const row = new Array(columnCount).fill("");
|
|
530
|
+
row[columnMap.vuu_action] = "addRow";
|
|
514
531
|
for (const [col, idx] of Object.entries(columnMap)) {
|
|
515
532
|
if (data[col] !== void 0) {
|
|
516
533
|
row[idx] = data[col];
|
|
@@ -532,44 +549,53 @@ class VuuModule {
|
|
|
532
549
|
const sessionTable = __privateGet(this, _sessionTableMap)[sessionTableName];
|
|
533
550
|
const { dataSource } = subscription;
|
|
534
551
|
if (dataSource.table) {
|
|
535
|
-
const
|
|
552
|
+
const sourceTableName = subscription.sourceTableName ?? dataSource.table.table;
|
|
553
|
+
const sourceTable = this.tables[sourceTableName];
|
|
536
554
|
if (rpcRequest.params.save === true) {
|
|
537
555
|
let rejectedCount = 0;
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
556
|
+
const vuuMsgIdx = sessionTable.map[__privateGet(this, _sessionTableMessageColumn)];
|
|
557
|
+
const actionIdx = sessionTable.map.vuu_action;
|
|
558
|
+
const sessionTimestampIdx = sessionTable.map.vuuUpdatedTimestamp;
|
|
559
|
+
const sourceTimestampIdx = sourceTable.map.vuuUpdatedTimestamp;
|
|
560
|
+
const sourceColumns = sourceTable.schema.columns;
|
|
561
|
+
for (let i = 0; i < sessionTable.data.length; i++) {
|
|
562
|
+
const sessionRow = sessionTable.data[i];
|
|
563
|
+
const key = String(
|
|
564
|
+
sessionRow[sessionTable.map[sourceTable.schema.key]]
|
|
565
|
+
);
|
|
566
|
+
const currentRow = sourceTable.findByKey(key);
|
|
567
|
+
const action = sessionRow[actionIdx];
|
|
568
|
+
if (action === "deleteRow") {
|
|
569
|
+
if (currentRow) {
|
|
570
|
+
const sessionTimestamp = sessionRow[sessionTimestampIdx];
|
|
571
|
+
const sourceTimestamp = currentRow[sourceTimestampIdx];
|
|
572
|
+
if (typeof sessionTimestamp === "number" && typeof sourceTimestamp === "number" && sourceTimestamp > sessionTimestamp) {
|
|
573
|
+
rejectedCount += 1;
|
|
574
|
+
sessionTable.update(
|
|
575
|
+
key,
|
|
576
|
+
__privateGet(this, _sessionTableMessageColumn),
|
|
577
|
+
"stale delete"
|
|
578
|
+
);
|
|
579
|
+
} else {
|
|
580
|
+
sourceTable.delete(key);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
continue;
|
|
584
|
+
}
|
|
585
|
+
if (sessionRow[vuuMsgIdx]) continue;
|
|
586
|
+
if (action === "editCell" && currentRow) {
|
|
587
|
+
for (const column of sourceColumns) {
|
|
588
|
+
const value = sessionRow[sessionTable.map[column.name]];
|
|
589
|
+
if (currentRow[sourceTable.map[column.name]] !== value) {
|
|
590
|
+
sourceTable.update(key, column.name, value);
|
|
591
|
+
}
|
|
560
592
|
}
|
|
561
|
-
})
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
for (let i = 0; i < sessionTable.data.length; i++) {
|
|
567
|
-
const sessionRow = sessionTable.data[i];
|
|
568
|
-
if (sessionRow[vuuMsgIdx]) continue;
|
|
569
|
-
const sourceRow = sourceColumns.map(
|
|
570
|
-
(col) => sessionRow[sessionTable.map[col.name]]
|
|
593
|
+
} else if (action === "addRow" && !currentRow) {
|
|
594
|
+
sourceTable.insert(
|
|
595
|
+
sourceColumns.map(
|
|
596
|
+
(column) => sessionRow[sessionTable.map[column.name]]
|
|
597
|
+
)
|
|
571
598
|
);
|
|
572
|
-
sourceTable.insert(sourceRow);
|
|
573
599
|
}
|
|
574
600
|
}
|
|
575
601
|
if (rejectedCount > 0) {
|
|
@@ -577,12 +603,11 @@ class VuuModule {
|
|
|
577
603
|
errorMessage: "stale update",
|
|
578
604
|
type: "ERROR_RESULT"
|
|
579
605
|
};
|
|
580
|
-
} else {
|
|
581
|
-
return {
|
|
582
|
-
type: "SUCCESS_RESULT",
|
|
583
|
-
data: void 0
|
|
584
|
-
};
|
|
585
606
|
}
|
|
607
|
+
return {
|
|
608
|
+
type: "SUCCESS_RESULT",
|
|
609
|
+
data: void 0
|
|
610
|
+
};
|
|
586
611
|
} else {
|
|
587
612
|
return {
|
|
588
613
|
type: "SUCCESS_RESULT",
|
|
@@ -593,7 +618,7 @@ class VuuModule {
|
|
|
593
618
|
throw Error("[VuuModule], exitEditMode");
|
|
594
619
|
}
|
|
595
620
|
} else {
|
|
596
|
-
throw Error(
|
|
621
|
+
throw Error("[VuuModule] endEditSession invalid rpc type");
|
|
597
622
|
}
|
|
598
623
|
});
|
|
599
624
|
// Bulk-edit with input in session table
|
|
@@ -616,7 +641,7 @@ class VuuModule {
|
|
|
616
641
|
data: void 0
|
|
617
642
|
};
|
|
618
643
|
} else {
|
|
619
|
-
throw Error(
|
|
644
|
+
throw Error("[VuuModule] applyBulkEdits invalid rpc type");
|
|
620
645
|
}
|
|
621
646
|
});
|
|
622
647
|
/**
|
|
@@ -747,7 +772,7 @@ class VuuModule {
|
|
|
747
772
|
);
|
|
748
773
|
}
|
|
749
774
|
}
|
|
750
|
-
createSessionTable(sourceTable, sessionTableName, editSessionMode
|
|
775
|
+
createSessionTable(sourceTable, sessionTableName, editSessionMode, dataSource) {
|
|
751
776
|
if (editSessionMode === "All" || editSessionMode.endsWith("all-rows")) {
|
|
752
777
|
return this.createSessionTableWithAllRows(sourceTable, sessionTableName);
|
|
753
778
|
} else if (editSessionMode === "Selected" || editSessionMode === "selected-rows") {
|
|
@@ -764,8 +789,13 @@ class VuuModule {
|
|
|
764
789
|
);
|
|
765
790
|
}
|
|
766
791
|
}
|
|
767
|
-
createSessionTableWithAllRows(
|
|
768
|
-
|
|
792
|
+
createSessionTableWithAllRows({ data, schema }, _sessionTableName) {
|
|
793
|
+
const sessionSchema = sessionTableSchema(schema);
|
|
794
|
+
return new Table(
|
|
795
|
+
sessionSchema,
|
|
796
|
+
data.map((row) => sessionTableRow(row, schema)),
|
|
797
|
+
buildDataColumnMapFromSchema(sessionSchema)
|
|
798
|
+
);
|
|
769
799
|
}
|
|
770
800
|
createEmptySessionTable({ schema }, sessionTableName) {
|
|
771
801
|
const sessionSchema = sessionTableSchema({
|
|
@@ -785,7 +815,7 @@ class VuuModule {
|
|
|
785
815
|
for (let i = 0; i < selectedRowIds.length; i++) {
|
|
786
816
|
for (let j = 0; j < data.length; j++) {
|
|
787
817
|
if (data[j][keyIndex] === selectedRowIds[i]) {
|
|
788
|
-
sessionData.push(data[j]);
|
|
818
|
+
sessionData.push(sessionTableRow(data[j], schema));
|
|
789
819
|
}
|
|
790
820
|
}
|
|
791
821
|
}
|
|
@@ -800,6 +830,7 @@ class VuuModule {
|
|
|
800
830
|
_name = new WeakMap();
|
|
801
831
|
_sessionTableMessageColumn = new WeakMap();
|
|
802
832
|
_runtimeVisualLinks = new WeakMap();
|
|
833
|
+
_sessionSourceTableMap = new WeakMap();
|
|
803
834
|
_sessionTableMap = new WeakMap();
|
|
804
835
|
_tableServices = new WeakMap();
|
|
805
836
|
_subscriptionMap = new WeakMap();
|