@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
@@ -6875,7 +6875,8 @@ class SceneTreeController {
6875
6875
  connection.subscriptionStatusState.stream.cancel();
6876
6876
  this.clearHandshakeTimer();
6877
6877
  const stream = await this.subscribe();
6878
- this.invalidatePage(0);
6878
+ this.invalidateAfterOffset(0);
6879
+ this.fetchUnloadedPagesInActiveRows();
6879
6880
  this.updateState(Object.assign(Object.assign({}, this.state), { connection: Object.assign(Object.assign({}, connection), { type: 'connected', subscription: {
6880
6881
  dispose: () => stream.cancel(),
6881
6882
  }, subscriptionStatusState: {
@@ -6920,19 +6921,21 @@ class SceneTreeController {
6920
6921
  this.fetchPage(0),
6921
6922
  this.subscribe(),
6922
6923
  ]);
6923
- this.updateState(Object.assign(Object.assign({}, this.state), { connection: {
6924
- jwtProvider,
6925
- sceneViewId,
6926
- type: 'connected',
6927
- subscription: { dispose: () => stream.cancel() },
6928
- subscriptionStatusState: {
6929
- attempt: 0,
6930
- stream,
6931
- },
6932
- } }));
6933
- this.subscriptionHandshakeTimer = window.setTimeout(() => {
6934
- this.handleSubscriptionHandshakeTimeout(jwtProvider, sceneViewId);
6935
- }, this.connectOptions.subscriptionHandshakeGracePeriodInMs);
6924
+ if (this.state.connection.type !== 'cancelled') {
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);
6938
+ }
6936
6939
  }
6937
6940
  catch (e) {
6938
6941
  this.ifErrorIsFatal(e, () => {
@@ -6947,9 +6950,6 @@ class SceneTreeController {
6947
6950
  });
6948
6951
  }
6949
6952
  this.startIdleReconnectTimer();
6950
- if (this.metadataKeys.length > 0) {
6951
- this.setMetadataKeys(this.metadataKeys);
6952
- }
6953
6953
  }
6954
6954
  clearReconnectTimer() {
6955
6955
  if (this.reconnectTimer != null) {
@@ -7013,6 +7013,9 @@ class SceneTreeController {
7013
7013
  this.activeRowRange = [];
7014
7014
  }
7015
7015
  const { connection } = this.state;
7016
+ if (connection.type === 'connected') {
7017
+ connection.subscription.dispose();
7018
+ }
7016
7019
  this.updateState({
7017
7020
  connection: {
7018
7021
  type: 'disconnected',
@@ -7022,6 +7025,11 @@ class SceneTreeController {
7022
7025
  isSearching: false,
7023
7026
  totalRows: reset ? 0 : this.state.totalRows,
7024
7027
  rows: reset ? [] : this.state.rows,
7028
+ filterTerm: reset ? undefined : this.state.filterTerm,
7029
+ totalFilteredRows: reset ? undefined : this.state.totalFilteredRows,
7030
+ shouldShowEmptyResults: reset
7031
+ ? undefined
7032
+ : this.state.shouldShowEmptyResults,
7025
7033
  });
7026
7034
  }
7027
7035
  cancel() {
@@ -7196,7 +7204,7 @@ class SceneTreeController {
7196
7204
  */
7197
7205
  async filter(term, options = {}) {
7198
7206
  return this.ifConnectionHasJwt(async (jwt) => {
7199
- this.updateState(Object.assign(Object.assign({}, this.state), { isSearching: true }));
7207
+ this.updateState(Object.assign(Object.assign({}, this.state), { isSearching: true, filterTerm: term !== '' ? term : undefined }));
7200
7208
  try {
7201
7209
  const res = await this.requestUnary(jwt, (metadata, handler) => {
7202
7210
  var _a;
@@ -7297,6 +7305,7 @@ class SceneTreeController {
7297
7305
  */
7298
7306
  async updateActiveRowRange(start, end) {
7299
7307
  this.activeRowRange = this.constrainRowOffsets(start, end);
7308
+ this.tryClearLoadingTimer(this.state);
7300
7309
  await this.fetchUnloadedPagesInActiveRows();
7301
7310
  }
7302
7311
  /**
@@ -7358,7 +7367,9 @@ class SceneTreeController {
7358
7367
  });
7359
7368
  stream.on('end', () => {
7360
7369
  this.invalidateAfterOffset(0);
7361
- this.startConnectionLostReconnectTimer();
7370
+ if (this.state.connection.type === 'connected') {
7371
+ this.startConnectionLostReconnectTimer();
7372
+ }
7362
7373
  });
7363
7374
  return stream;
7364
7375
  });
@@ -7395,13 +7406,13 @@ class SceneTreeController {
7395
7406
  const fill = new Array(Math.max(0, totalRows - start.length - fetchedRows.length - end.length));
7396
7407
  const rows = [...start, ...fetchedRows, ...end, ...fill];
7397
7408
  if (this.isViewLoading(rows) && this.loadingTimer == null) {
7398
- this.loadingTimer = window.setTimeout(() => {
7399
- this.updateState(Object.assign(Object.assign({}, this.getState()), { shouldShowLoading: true }));
7400
- }, this.connectOptions.spinnerDelay);
7401
- this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows }));
7409
+ this.restartLoadingTimer();
7410
+ this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows, shouldShowEmptyResults: this.state.filterTerm != null &&
7411
+ (rows.length === 0 || this.state.totalFilteredRows === 0) }));
7402
7412
  }
7403
7413
  else {
7404
- this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows }));
7414
+ this.updateState(Object.assign(Object.assign({}, this.state), { totalRows: totalRows, rows: rows, shouldShowEmptyResults: this.state.filterTerm != null &&
7415
+ (rows.length === 0 || this.state.totalFilteredRows === 0) }));
7405
7416
  }
7406
7417
  }
7407
7418
  }
@@ -7431,19 +7442,39 @@ class SceneTreeController {
7431
7442
  return this.state;
7432
7443
  }
7433
7444
  isViewLoading(rows) {
7434
- return (rows[this.activeRowRange[0]] == null &&
7445
+ return (this.state.filterTerm == null &&
7446
+ rows[this.activeRowRange[0]] == null &&
7435
7447
  rows[this.activeRowRange[1]] == null);
7436
7448
  }
7437
- updateState(newState) {
7438
- const updateLoadingTimer = this.loadingTimer && !this.isViewLoading(newState.rows);
7439
- if (updateLoadingTimer) {
7449
+ restartLoadingTimer() {
7450
+ if (this.loadingTimer != null) {
7451
+ this.clearLoadingTimer();
7452
+ }
7453
+ this.loadingTimer = window.setTimeout(() => {
7454
+ this.loadingTimer = undefined;
7455
+ this.updateState(Object.assign(Object.assign({}, this.getState()), { shouldShowLoading: true }));
7456
+ }, this.connectOptions.spinnerDelay);
7457
+ }
7458
+ clearLoadingTimer() {
7459
+ if (this.loadingTimer != null) {
7440
7460
  clearTimeout(this.loadingTimer);
7441
7461
  this.loadingTimer = undefined;
7442
- this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: false });
7443
7462
  }
7444
- else {
7445
- this.state = Object.assign({}, newState);
7463
+ }
7464
+ tryClearLoadingTimer(state) {
7465
+ const loadingShowingOrTimerStarted = this.state.shouldShowLoading || this.loadingTimer != null;
7466
+ const updateLoadingTimer = loadingShowingOrTimerStarted && !this.isViewLoading(state.rows);
7467
+ if (updateLoadingTimer) {
7468
+ this.clearLoadingTimer();
7469
+ return true;
7446
7470
  }
7471
+ return false;
7472
+ }
7473
+ updateState(newState) {
7474
+ const didClearLoadingTimer = this.tryClearLoadingTimer(newState);
7475
+ this.state = Object.assign(Object.assign({}, newState), { shouldShowLoading: didClearLoadingTimer
7476
+ ? false
7477
+ : newState.shouldShowLoading });
7447
7478
  this.onStateChange.emit(this.state);
7448
7479
  }
7449
7480
  getPageForOffset(offset) {
@@ -7557,10 +7588,10 @@ class SceneTreeController {
7557
7588
  return connection.type === 'connected';
7558
7589
  }
7559
7590
  }
7560
- SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 60;
7591
+ SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 1;
7561
7592
  SceneTreeController.LOST_CONNECTION_RECONNECT_IN_SECONDS = 2;
7562
7593
  SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT = 2;
7563
7594
 
7564
7595
  export { SceneTreeController as S, SceneTreeAPIClient_1 as a, SceneTreeErrorDetails as b, SceneTreeErrorCode as c, webSocketSubscriptionTransportFactory as w };
7565
7596
 
7566
- //# sourceMappingURL=controller-6afbaeb0.js.map
7597
+ //# sourceMappingURL=controller-53f803d9.js.map