@vuu-ui/vuu-data-remote 0.13.41 → 0.13.42

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.
@@ -20,28 +20,6 @@ function partition(array, test, pass = [], fail = []) {
20
20
  return [pass, fail];
21
21
  }
22
22
 
23
- // ../vuu-utils/src/column-utils.ts
24
- var KEY = 6;
25
- var metadataKeys = {
26
- IDX: 0,
27
- RENDER_IDX: 1,
28
- IS_LEAF: 2,
29
- IS_EXPANDED: 3,
30
- DEPTH: 4,
31
- COUNT: 5,
32
- KEY,
33
- SELECTED: 7,
34
- TIMESTAMP: 8,
35
- IS_NEW: 9,
36
- count: 10,
37
- // TODO following only used in datamodel
38
- PARENT_IDX: "parent_idx",
39
- IDX_POINTER: "idx_pointer",
40
- FILTER_COUNT: "filter_count",
41
- NEXT_FILTER_IDX: "next_filter_idx"
42
- };
43
- var { DEPTH, IS_LEAF } = metadataKeys;
44
-
45
23
  // ../vuu-utils/src/cookie-utils.ts
46
24
  var getCookieValue = (name) => {
47
25
  var _a, _b;
@@ -432,53 +410,6 @@ var KeySet = class {
432
410
  }
433
411
  };
434
412
 
435
- // ../vuu-utils/src/selection-utils.ts
436
- var { SELECTED } = metadataKeys;
437
- var RowSelected = {
438
- False: 0,
439
- True: 1,
440
- First: 2,
441
- Last: 4
442
- };
443
- var rangeIncludes = (range, index) => index >= range[0] && index <= range[1];
444
- var SINGLE_SELECTED_ROW = RowSelected.True + RowSelected.First + RowSelected.Last;
445
- var FIRST_SELECTED_ROW_OF_BLOCK = RowSelected.True + RowSelected.First;
446
- var LAST_SELECTED_ROW_OF_BLOCK = RowSelected.True + RowSelected.Last;
447
- var getSelectionStatus = (selected, itemIndex) => {
448
- for (const item of selected) {
449
- if (typeof item === "number") {
450
- if (item === itemIndex) {
451
- return SINGLE_SELECTED_ROW;
452
- }
453
- } else if (rangeIncludes(item, itemIndex)) {
454
- if (itemIndex === item[0]) {
455
- return FIRST_SELECTED_ROW_OF_BLOCK;
456
- } else if (itemIndex === item[1]) {
457
- return LAST_SELECTED_ROW_OF_BLOCK;
458
- } else {
459
- return RowSelected.True;
460
- }
461
- }
462
- }
463
- return RowSelected.False;
464
- };
465
- var expandSelection = (selected) => {
466
- if (selected.every((selectedItem) => typeof selectedItem === "number")) {
467
- return selected;
468
- }
469
- const expandedSelected = [];
470
- for (const selectedItem of selected) {
471
- if (typeof selectedItem === "number") {
472
- expandedSelected.push(selectedItem);
473
- } else {
474
- for (let i = selectedItem[0]; i <= selectedItem[1]; i++) {
475
- expandedSelected.push(i);
476
- }
477
- }
478
- }
479
- return expandedSelected;
480
- };
481
-
482
413
  // ../vuu-utils/src/promise-utils.ts
483
414
  var _promise, _resolve, _reject, _resolved;
484
415
  var DeferredPromise = class {
@@ -524,6 +455,7 @@ var MENU_RPC_TYPES = [
524
455
  "VP_EDIT_DELETE_ROW_RPC",
525
456
  "VP_EDIT_SUBMIT_FORM_RPC"
526
457
  ];
458
+ var isSelectRequest = (message) => "type" in message && (message.type === "SELECT_ROW" || message.type === "DESELECT_ROW" || message.type === "SELECT_ROW_RANGE" || message.type === "SELECT_ALL" || message.type === "DESELECT_ALL");
527
459
  var isRpcServiceRequest = (message) => message.type === "RPC_REQUEST";
528
460
  var hasViewPortContext = (message) => message.context.type === "VIEWPORT_CONTEXT";
529
461
  var isVuuMenuRpcRequest = (message) => MENU_RPC_TYPES.includes(message["type"]);
@@ -543,6 +475,9 @@ function isSessionTableActionMessage(rpcResponse) {
543
475
  }
544
476
 
545
477
  // src/message-utils.ts
478
+ var hasRequestId = (message) => {
479
+ return "requestId" in message;
480
+ };
546
481
  var stripRequestId = ({
547
482
  requestId,
548
483
  ...rest
@@ -638,7 +573,6 @@ var LOGIN = "LOGIN";
638
573
  var OPEN_TREE_NODE = "OPEN_TREE_NODE";
639
574
  var OPEN_TREE_SUCCESS = "OPEN_TREE_SUCCESS";
640
575
  var REMOVE_VP = "REMOVE_VP";
641
- var SET_SELECTION_SUCCESS = "SET_SELECTION_SUCCESS";
642
576
 
643
577
  // src/server-proxy/array-backed-moving-window.ts
644
578
  var EMPTY_ARRAY = [];
@@ -916,7 +850,6 @@ var Viewport = class {
916
850
  __publicField(this, "pendingRangeRequests", []);
917
851
  __publicField(this, "postMessageToClient");
918
852
  __publicField(this, "rowCountChanged", false);
919
- __publicField(this, "selectedRows", []);
920
853
  __publicField(this, "lastUpdateStatus", NO_UPDATE_STATUS);
921
854
  __publicField(this, "updateThrottleTimer");
922
855
  __publicField(this, "lastRowsReturnedToClient", [-1, -1]);
@@ -1256,7 +1189,7 @@ var Viewport = class {
1256
1189
  return [
1257
1190
  serverRequest,
1258
1191
  clientRows.map((row) => {
1259
- return toClient(row, this.keys, this.selectedRows);
1192
+ return toClient(row, this.keys);
1260
1193
  })
1261
1194
  ];
1262
1195
  } else if (debounceRequest) {
@@ -1340,7 +1273,7 @@ var Viewport = class {
1340
1273
  const toClient = this.isTree ? toClientRowTree : toClientRow;
1341
1274
  for (const row of records) {
1342
1275
  if (row) {
1343
- out.push(toClient(row, keys, this.selectedRows));
1276
+ out.push(toClient(row, keys));
1344
1277
  }
1345
1278
  }
1346
1279
  }
@@ -1385,15 +1318,18 @@ var Viewport = class {
1385
1318
  true
1386
1319
  );
1387
1320
  }
1388
- selectRequest(requestId, selected) {
1389
- this.selectedRows = selected;
1390
- this.awaitOperation(requestId, { type: "selection", data: selected });
1391
- info == null ? void 0 : info(\`selectRequest: \${selected}\`);
1392
- return {
1393
- type: "SET_SELECTION",
1394
- vpId: this.serverViewportId,
1395
- selection: expandSelection(selected)
1396
- };
1321
+ selectRequest(request) {
1322
+ info == null ? void 0 : info(\`selectRequest: \${request.type}\`);
1323
+ if (this.serverViewportId) {
1324
+ return {
1325
+ ...request,
1326
+ vpId: this.serverViewportId
1327
+ };
1328
+ } else {
1329
+ throw Error(
1330
+ \`[Viewport] cannot process \${request.type} before serverViewportId has been set\`
1331
+ );
1332
+ }
1397
1333
  }
1398
1334
  removePendingRangeRequest(firstIndex, lastIndex) {
1399
1335
  for (let i = this.pendingRangeRequests.length - 1; i >= 0; i--) {
@@ -1461,7 +1397,7 @@ var Viewport = class {
1461
1397
  return NO_DATA_UPDATE;
1462
1398
  }
1463
1399
  if (this.hasUpdates) {
1464
- const { keys, selectedRows } = this;
1400
+ const { keys } = this;
1465
1401
  const toClient = this.isTree ? toClientRowTree : toClientRow;
1466
1402
  if (this.updateThrottleTimer) {
1467
1403
  self.clearTimeout(this.updateThrottleTimer);
@@ -1479,20 +1415,20 @@ var Viewport = class {
1479
1415
  for (let i = missingRows.from; i < missingRows.to; i++) {
1480
1416
  const row = this.dataWindow.getAtIndex(i);
1481
1417
  if (row) {
1482
- out.push(toClient(row, keys, selectedRows));
1418
+ out.push(toClient(row, keys));
1483
1419
  } else {
1484
1420
  console.warn("[Viewport] missing row not in data cache");
1485
1421
  }
1486
1422
  }
1487
1423
  for (const row of this.pendingUpdates) {
1488
- out.push(toClient(row, keys, selectedRows));
1424
+ out.push(toClient(row, keys));
1489
1425
  }
1490
1426
  out.sort(
1491
1427
  ([idx1], [idx2]) => idx1 - idx2
1492
1428
  );
1493
1429
  } else {
1494
1430
  for (const row of this.pendingUpdates) {
1495
- out.push(toClient(row, keys, selectedRows));
1431
+ out.push(toClient(row, keys));
1496
1432
  }
1497
1433
  }
1498
1434
  this.lastRowsReturnedToClient[0] = (_b = (_a = out.at(0)) == null ? void 0 : _a[0]) != null ? _b : -1;
@@ -1533,7 +1469,7 @@ var Viewport = class {
1533
1469
  _status = new WeakMap();
1534
1470
  _clientRange = new WeakMap();
1535
1471
  var isNew = false;
1536
- var toClientRow = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys, selectedRows) => {
1472
+ var toClientRow = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys) => {
1537
1473
  return [
1538
1474
  rowIndex,
1539
1475
  keys.keyFor(rowIndex),
@@ -1542,12 +1478,12 @@ var toClientRow = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys, select
1542
1478
  0,
1543
1479
  0,
1544
1480
  rowKey,
1545
- isSelected ? getSelectionStatus(selectedRows, rowIndex) : 0,
1481
+ isSelected,
1546
1482
  ts,
1547
1483
  isNew
1548
1484
  ].concat(data);
1549
1485
  };
1550
- var toClientRowTree = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys, selectedRows) => {
1486
+ var toClientRowTree = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys) => {
1551
1487
  const [depth, isExpanded, , isLeaf, , count, ...rest] = data;
1552
1488
  return [
1553
1489
  rowIndex,
@@ -1557,7 +1493,7 @@ var toClientRowTree = ({ rowIndex, rowKey, sel: isSelected, data, ts }, keys, se
1557
1493
  depth,
1558
1494
  count,
1559
1495
  rowKey,
1560
- isSelected ? getSelectionStatus(selectedRows, rowIndex) : 0,
1496
+ isSelected,
1561
1497
  ts,
1562
1498
  isNew
1563
1499
  ].concat(rest);
@@ -1700,10 +1636,6 @@ var ServerProxy = class {
1700
1636
  );
1701
1637
  }
1702
1638
  }
1703
- if (message.selectedIndexValues) {
1704
- infoEnabled2 && info2(\`selected = \${JSON.stringify(message.selectedIndexValues)}\`);
1705
- this.select(viewport, { selected: message.selectedIndexValues });
1706
- }
1707
1639
  if (viewport.disabled) {
1708
1640
  this.disableViewport(viewport);
1709
1641
  }
@@ -1863,10 +1795,9 @@ var ServerProxy = class {
1863
1795
  }
1864
1796
  }
1865
1797
  select(viewport, message) {
1866
- const requestId = nextRequestId();
1867
- const { selected } = message;
1868
- const request = viewport.selectRequest(requestId, selected);
1869
- this.sendIfReady(request, requestId, viewport.status === "subscribed");
1798
+ const [requestId, selectRequest] = stripRequestId(message);
1799
+ const request = viewport.selectRequest(selectRequest);
1800
+ this.sendMessageToServer(request, requestId);
1870
1801
  }
1871
1802
  disableViewport(viewport) {
1872
1803
  const requestId = nextRequestId();
@@ -2021,8 +1952,6 @@ var ServerProxy = class {
2021
1952
  return this.setViewRange(viewport, message);
2022
1953
  case "config":
2023
1954
  return this.setConfig(viewport, message);
2024
- case "select":
2025
- return this.select(viewport, message);
2026
1955
  case "suspend":
2027
1956
  return this.suspendViewport(viewport);
2028
1957
  case "resume":
@@ -2042,6 +1971,13 @@ var ServerProxy = class {
2042
1971
  default:
2043
1972
  }
2044
1973
  }
1974
+ } else if (isSelectRequest(message)) {
1975
+ if (hasRequestId(message)) {
1976
+ const viewport = this.getViewportForClient(message.vpId);
1977
+ return this.select(viewport, message);
1978
+ } else {
1979
+ console.warn(\`selectRequest must have requestId\`);
1980
+ }
2045
1981
  } else if (isRpcServiceRequest(message)) {
2046
1982
  return this.rpcRequest(message);
2047
1983
  } else if (isVuuMenuRpcRequest(message)) {
@@ -2170,13 +2106,33 @@ var ServerProxy = class {
2170
2106
  }
2171
2107
  }
2172
2108
  break;
2173
- case SET_SELECTION_SUCCESS:
2174
- {
2175
- const viewport = this.viewports.get(body.vpId);
2176
- if (viewport) {
2177
- viewport.completeOperation(requestId);
2178
- }
2179
- }
2109
+ case "SELECT_ALL_SUCCESS":
2110
+ case "SELECT_ROW_SUCCESS":
2111
+ case "SELECT_ROW_RANGE_SUCCESS":
2112
+ case "DESELECT_ROW_SUCCESS": {
2113
+ const { type, selectedRowCount } = body;
2114
+ this.postMessageToClient({
2115
+ requestId,
2116
+ type,
2117
+ selectedRowCount
2118
+ });
2119
+ break;
2120
+ }
2121
+ case "DESELECT_ALL_SUCCESS": {
2122
+ const { type } = body;
2123
+ this.postMessageToClient({
2124
+ requestId,
2125
+ type,
2126
+ selectedRowCount: 0
2127
+ });
2128
+ break;
2129
+ }
2130
+ case "SELECT_ROW_REJECT":
2131
+ case "DESELECT_ROW_REJECT":
2132
+ case "SELECT_ROW_RANGE_REJECT":
2133
+ case "SELECT_ALL_REJECT":
2134
+ case "DESELECT_ALL_REJECT":
2135
+ console.warn(\`select error \${body.type} \${body.errorMsg}\`);
2180
2136
  break;
2181
2137
  case CHANGE_VP_SUCCESS:
2182
2138
  case DISABLE_VP_SUCCESS: