@vertexvis/viewer 0.17.4 → 0.17.5-testing.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.
Files changed (63) hide show
  1. package/dist/cjs/{controller-029b37d6.js → controller-4e9ef328.js} +64 -33
  2. package/dist/cjs/controller-4e9ef328.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +3 -1
  6. package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +3 -1
  8. package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js.map +1 -1
  9. package/dist/cjs/vertex-scene-tree.cjs.entry.js +7 -3
  10. package/dist/cjs/vertex-scene-tree.cjs.entry.js.map +1 -1
  11. package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +1 -1
  12. package/dist/cjs/viewer.cjs.js +1 -1
  13. package/dist/collection/components/scene-tree/lib/controller.js +63 -32
  14. package/dist/collection/components/scene-tree/lib/controller.js.map +1 -1
  15. package/dist/collection/components/scene-tree/scene-tree.css +2 -1
  16. package/dist/collection/components/scene-tree/scene-tree.js +7 -0
  17. package/dist/collection/components/scene-tree/scene-tree.js.map +1 -1
  18. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js +3 -1
  19. package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.js.map +1 -1
  20. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +3 -1
  21. package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js.map +1 -1
  22. package/dist/collection/testing/sceneTree.js +19 -2
  23. package/dist/collection/testing/sceneTree.js.map +1 -1
  24. package/dist/custom-elements/index.js +76 -37
  25. package/dist/custom-elements/index.js.map +1 -1
  26. package/dist/esm/{controller-6afbaeb0.js → controller-53f803d9.js} +64 -33
  27. package/dist/esm/controller-53f803d9.js.map +1 -0
  28. package/dist/esm/index.js +1 -1
  29. package/dist/esm/index.mjs +1 -1
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/loader.mjs +1 -1
  32. package/dist/esm/vertex-scene-tree-search_3.entry.js +3 -1
  33. package/dist/esm/vertex-scene-tree-search_3.entry.js.map +1 -1
  34. package/dist/esm/vertex-scene-tree-table-cell.entry.js +3 -1
  35. package/dist/esm/vertex-scene-tree-table-cell.entry.js.map +1 -1
  36. package/dist/esm/vertex-scene-tree.entry.js +7 -3
  37. package/dist/esm/vertex-scene-tree.entry.js.map +1 -1
  38. package/dist/esm/vertex-viewer-pin-group.entry.js +1 -1
  39. package/dist/esm/viewer.js +1 -1
  40. package/dist/types/components/scene-tree/lib/controller.d.ts +5 -0
  41. package/dist/types/components/scene-tree/scene-tree.d.ts +1 -0
  42. package/dist/types/testing/sceneTree.d.ts +5 -2
  43. package/dist/viewer/index.esm.js +1 -1
  44. package/dist/viewer/{p-4348176f.entry.js → p-073d15e9.entry.js} +2 -2
  45. package/dist/viewer/p-073d15e9.entry.js.map +1 -0
  46. package/dist/viewer/{p-d3009499.entry.js → p-1815d19b.entry.js} +2 -2
  47. package/dist/viewer/{p-f40b8476.entry.js → p-59f38a92.entry.js} +2 -2
  48. package/dist/viewer/p-59f38a92.entry.js.map +1 -0
  49. package/dist/viewer/{p-32f18b4c.js → p-921ec41b.js} +2 -2
  50. package/dist/viewer/p-921ec41b.js.map +1 -0
  51. package/dist/viewer/p-9b8dae4a.entry.js +5 -0
  52. package/dist/viewer/p-9b8dae4a.entry.js.map +1 -0
  53. package/dist/viewer/viewer.esm.js +1 -1
  54. package/dist/viewer/viewer.esm.js.map +1 -1
  55. package/package.json +7 -7
  56. package/dist/cjs/controller-029b37d6.js.map +0 -1
  57. package/dist/esm/controller-6afbaeb0.js.map +0 -1
  58. package/dist/viewer/p-32f18b4c.js.map +0 -1
  59. package/dist/viewer/p-4348176f.entry.js.map +0 -1
  60. package/dist/viewer/p-a4d67e65.entry.js +0 -5
  61. package/dist/viewer/p-a4d67e65.entry.js.map +0 -1
  62. package/dist/viewer/p-f40b8476.entry.js.map +0 -1
  63. /package/dist/viewer/{p-d3009499.entry.js.map → p-1815d19b.entry.js.map} +0 -0
@@ -6877,7 +6877,8 @@ class SceneTreeController {
6877
6877
  connection.subscriptionStatusState.stream.cancel();
6878
6878
  this.clearHandshakeTimer();
6879
6879
  const stream = await this.subscribe();
6880
- this.invalidatePage(0);
6880
+ this.invalidateAfterOffset(0);
6881
+ this.fetchUnloadedPagesInActiveRows();
6881
6882
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connection), { type: 'connected', subscription: {
6882
6883
  dispose: () => stream.cancel(),
6883
6884
  }, subscriptionStatusState: {
@@ -6922,19 +6923,21 @@ class SceneTreeController {
6922
6923
  this.fetchPage(0),
6923
6924
  this.subscribe(),
6924
6925
  ]);
6925
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6926
- jwtProvider,
6927
- sceneViewId,
6928
- type: 'connected',
6929
- subscription: { dispose: () => stream.cancel() },
6930
- subscriptionStatusState: {
6931
- attempt: 0,
6932
- stream,
6933
- },
6934
- } }));
6935
- this.subscriptionHandshakeTimer = window.setTimeout(() => {
6936
- this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6937
- }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6926
+ if (this.state.connection.type !== 'cancelled') {
6927
+ this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6928
+ jwtProvider,
6929
+ sceneViewId,
6930
+ type: 'connected',
6931
+ subscription: { dispose: () => stream.cancel() },
6932
+ subscriptionStatusState: {
6933
+ attempt: 0,
6934
+ stream,
6935
+ },
6936
+ } }));
6937
+ this.subscriptionHandshakeTimer = window.setTimeout(() => {
6938
+ this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6939
+ }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6940
+ }
6938
6941
  }
6939
6942
  catch (e) {
6940
6943
  this.ifErrorIsFatal(e, () => {
@@ -6949,9 +6952,6 @@ class SceneTreeController {
6949
6952
  });
6950
6953
  }
6951
6954
  this.startIdleReconnectTimer();
6952
- if (this.metadataKeys.length > 0) {
6953
- this.setMetadataKeys(this.metadataKeys);
6954
- }
6955
6955
  }
6956
6956
  clearReconnectTimer() {
6957
6957
  if (this.reconnectTimer != null) {
@@ -7015,6 +7015,9 @@ class SceneTreeController {
7015
7015
  this.activeRowRange = [];
7016
7016
  }
7017
7017
  const { connection } = this.state;
7018
+ if (connection.type === 'connected') {
7019
+ connection.subscription.dispose();
7020
+ }
7018
7021
  this.updateState({
7019
7022
  connection: {
7020
7023
  type: 'disconnected',
@@ -7024,6 +7027,11 @@ class SceneTreeController {
7024
7027
  isSearching: false,
7025
7028
  totalRows: reset ? 0 : this.state.totalRows,
7026
7029
  rows: reset ? [] : this.state.rows,
7030
+ filterTerm: reset ? undefined : this.state.filterTerm,
7031
+ totalFilteredRows: reset ? undefined : this.state.totalFilteredRows,
7032
+ shouldShowEmptyResults: reset
7033
+ ? undefined
7034
+ : this.state.shouldShowEmptyResults,
7027
7035
  });
7028
7036
  }
7029
7037
  cancel() {
@@ -7198,7 +7206,7 @@ class SceneTreeController {
7198
7206
  */
7199
7207
  async filter(term, options = {}) {
7200
7208
  return this.ifConnectionHasJwt(async (jwt) => {
7201
- this.updateState(Object.assign(Object.assign({}, this.state), { isSearching: true }));
7209
+ this.updateState(Object.assign(Object.assign({}, this.state), { isSearching: true, filterTerm: term !== '' ? term : undefined }));
7202
7210
  try {
7203
7211
  const res = await this.requestUnary(jwt, (metadata, handler) => {
7204
7212
  var _a;
@@ -7299,6 +7307,7 @@ class SceneTreeController {
7299
7307
  */
7300
7308
  async updateActiveRowRange(start, end) {
7301
7309
  this.activeRowRange = this.constrainRowOffsets(start, end);
7310
+ this.tryClearLoadingTimer(this.state);
7302
7311
  await this.fetchUnloadedPagesInActiveRows();
7303
7312
  }
7304
7313
  /**
@@ -7360,7 +7369,9 @@ class SceneTreeController {
7360
7369
  });
7361
7370
  stream.on('end', () => {
7362
7371
  this.invalidateAfterOffset(0);
7363
- this.startConnectionLostReconnectTimer();
7372
+ if (this.state.connection.type === 'connected') {
7373
+ this.startConnectionLostReconnectTimer();
7374
+ }
7364
7375
  });
7365
7376
  return stream;
7366
7377
  });
@@ -7397,13 +7408,13 @@ class SceneTreeController {
7397
7408
  const fill = new Array(Math.max(0, totalRows - start.length - fetchedRows.length - end.length));
7398
7409
  const rows = [...start, ...fetchedRows, ...end, ...fill];
7399
7410
  if (this.isViewLoading(rows) && this.loadingTimer == null) {
7400
- this.loadingTimer = window.setTimeout(() => {
7401
- this.updateState(Object.assign(Object.assign({}, this.getState()), { shouldShowLoading: true }));
7402
- }, this.connectOptions.spinnerDelay);
7403
- this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows }));
7411
+ this.restartLoadingTimer();
7412
+ this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows, shouldShowEmptyResults: this.state.filterTerm != null &&
7413
+ (rows.length === 0 || this.state.totalFilteredRows === 0) }));
7404
7414
  }
7405
7415
  else {
7406
- this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows }));
7416
+ this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows, shouldShowEmptyResults: this.state.filterTerm != null &&
7417
+ (rows.length === 0 || this.state.totalFilteredRows === 0) }));
7407
7418
  }
7408
7419
  }
7409
7420
  }
@@ -7433,19 +7444,39 @@ class SceneTreeController {
7433
7444
  return this.state;
7434
7445
  }
7435
7446
  isViewLoading(rows) {
7436
- return (rows[this.activeRowRange[0]] == null &&
7447
+ return (this.state.filterTerm == null &&
7448
+ rows[this.activeRowRange[0]] == null &&
7437
7449
  rows[this.activeRowRange[1]] == null);
7438
7450
  }
7439
- updateState(newState) {
7440
- const updateLoadingTimer = this.loadingTimer && !this.isViewLoading(newState.rows);
7441
- if (updateLoadingTimer) {
7451
+ restartLoadingTimer() {
7452
+ if (this.loadingTimer != null) {
7453
+ this.clearLoadingTimer();
7454
+ }
7455
+ this.loadingTimer = window.setTimeout(() => {
7456
+ this.loadingTimer = undefined;
7457
+ this.updateState(Object.assign(Object.assign({}, this.getState()), { shouldShowLoading: true }));
7458
+ }, this.connectOptions.spinnerDelay);
7459
+ }
7460
+ clearLoadingTimer() {
7461
+ if (this.loadingTimer != null) {
7442
7462
  clearTimeout(this.loadingTimer);
7443
7463
  this.loadingTimer = undefined;
7444
- this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: false });
7445
7464
  }
7446
- else {
7447
- this.state = Object.assign({}, newState);
7465
+ }
7466
+ tryClearLoadingTimer(state) {
7467
+ const loadingShowingOrTimerStarted = this.state.shouldShowLoading || this.loadingTimer != null;
7468
+ const updateLoadingTimer = loadingShowingOrTimerStarted && !this.isViewLoading(state.rows);
7469
+ if (updateLoadingTimer) {
7470
+ this.clearLoadingTimer();
7471
+ return true;
7448
7472
  }
7473
+ return false;
7474
+ }
7475
+ updateState(newState) {
7476
+ const didClearLoadingTimer = this.tryClearLoadingTimer(newState);
7477
+ this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: didClearLoadingTimer
7478
+ ? false
7479
+ : newState.shouldShowLoading });
7449
7480
  this.onStateChange.emit(this.state);
7450
7481
  }
7451
7482
  getPageForOffset(offset) {
@@ -7559,7 +7590,7 @@ class SceneTreeController {
7559
7590
  return connection.type === 'connected';
7560
7591
  }
7561
7592
  }
7562
- SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 60;
7593
+ SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 1;
7563
7594
  SceneTreeController.LOST_CONNECTION_RECONNECT_IN_SECONDS = 2;
7564
7595
  SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT = 2;
7565
7596
 
@@ -7568,4 +7599,4 @@ exports.SceneTreeController = SceneTreeController;
7568
7599
  exports.SceneTreeErrorDetails = SceneTreeErrorDetails;
7569
7600
  exports.webSocketSubscriptionTransportFactory = webSocketSubscriptionTransportFactory;
7570
7601
 
7571
- //# sourceMappingURL=controller-029b37d6.js.map
7602
+ //# sourceMappingURL=controller-4e9ef328.js.map