@vertexvis/viewer 1.0.2-testing.5 → 1.1.1-canary.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.
- package/dist/cjs/{controller-C-I_MLA3.js → controller-C74GX70e.js} +138 -34
- package/dist/cjs/controller-C74GX70e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/vertex-scene-tree-notification-banner_4.cjs.entry.js +9 -9
- package/dist/cjs/vertex-scene-tree-table-column.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-header.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-box-query-tool.cjs.entry.js +2 -2
- package/dist/cjs/vertex-viewer-button_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-default-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-element_2.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-dom-group.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-hit-result-indicator.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-layer.cjs.entry.js +1 -1
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js.map +1 -1
- package/dist/cjs/vertex-viewer-pin-group.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-pin-label_2.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js +9 -4
- package/dist/cjs/vertex-viewer.cjs.entry.js.map +1 -1
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/scene-tree/lib/controller.js +48 -30
- package/dist/collection/components/scene-tree/lib/controller.js.map +1 -1
- package/dist/collection/components/scene-tree/lib/jwt.js +1 -1
- package/dist/collection/components/scene-tree/lib/jwt.js.map +1 -1
- package/dist/collection/components/scene-tree/scene-tree.js +2 -2
- package/dist/collection/components/scene-tree-notification-banner/scene-tree-notification-banner.js +1 -1
- package/dist/collection/components/scene-tree-search/scene-tree-search.js +3 -3
- package/dist/collection/components/scene-tree-table-column/scene-tree-table-column.js +1 -1
- package/dist/collection/components/scene-tree-table-header/scene-tree-table-header.js +1 -1
- package/dist/collection/components/scene-tree-table-layout/scene-tree-table-layout.js +5 -5
- package/dist/collection/components/viewer/viewer.css +45 -1
- package/dist/collection/components/viewer/viewer.js +18 -6
- package/dist/collection/components/viewer/viewer.js.map +1 -1
- package/dist/collection/components/viewer-box-query-tool/viewer-box-query-tool.js +2 -2
- package/dist/collection/components/viewer-button/viewer-button.js +1 -1
- package/dist/collection/components/viewer-default-toolbar/viewer-default-toolbar.js +1 -1
- package/dist/collection/components/viewer-dom-element/viewer-dom-element.js +1 -1
- package/dist/collection/components/viewer-dom-group/viewer-dom-group.js +1 -1
- package/dist/collection/components/viewer-hit-result-indicator/viewer-hit-result-indicator.js +1 -1
- package/dist/collection/components/viewer-layer/viewer-layer.js +1 -1
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js.map +1 -1
- package/dist/collection/components/viewer-pin-group/viewer-pin-group.js +2 -2
- package/dist/collection/components/viewer-pin-label/viewer-pin-label.js +3 -3
- package/dist/collection/components/viewer-pin-label-line/viewer-pin-label-line.js +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-DwnNhGFv.js → p-B4MsUZ3n.js} +2 -2
- package/dist/components/p-BAsg2_dY.js +5 -0
- package/dist/components/{p-BwtZ7wGg.js → p-BEkJ7rmE.js} +2 -2
- package/dist/components/{p-XmNH38dk.js → p-BmoTo_-J.js} +2 -2
- package/dist/components/{p-Dymd58Ac.js → p-C--Voxln.js} +2 -2
- package/dist/components/{p-BphxnS-a.js → p-CIuxJYJL.js} +2 -2
- package/dist/components/p-CnYEgl0H.js +5 -0
- package/dist/components/p-CnYEgl0H.js.map +1 -0
- package/dist/components/{p-1qJWPhfT.js → p-D97fhwcJ.js} +2 -2
- package/dist/components/{p-CaXlgCvb.js → p-Dva0y9cX.js} +2 -2
- package/dist/components/{p-BxYIAIHN.js → p-NXN0rSu2.js} +2 -2
- package/dist/components/{p-D0KZu516.js → p-Y8W_BXUk.js} +2 -2
- package/dist/components/{p-CXO1zq8l.js → p-mJhaiMMT.js} +2 -2
- package/dist/components/vertex-scene-tree-notification-banner.js +1 -1
- package/dist/components/vertex-scene-tree-search.js +1 -1
- package/dist/components/vertex-scene-tree-table-column.js +1 -1
- package/dist/components/vertex-scene-tree-table-header.js +1 -1
- package/dist/components/vertex-scene-tree-table-layout.js +1 -1
- package/dist/components/vertex-scene-tree.js +1 -1
- package/dist/components/vertex-viewer-box-query-tool.js +1 -1
- package/dist/components/vertex-viewer-button.js +1 -1
- package/dist/components/vertex-viewer-default-toolbar.js +1 -1
- package/dist/components/vertex-viewer-default-toolbar.js.map +1 -1
- package/dist/components/vertex-viewer-dom-element.js +1 -1
- package/dist/components/vertex-viewer-dom-group.js +1 -1
- package/dist/components/vertex-viewer-hit-result-indicator.js +1 -1
- package/dist/components/vertex-viewer-layer.js +1 -1
- package/dist/components/vertex-viewer-measurement-distance.js.map +1 -1
- package/dist/components/vertex-viewer-pin-group.js +1 -1
- package/dist/components/vertex-viewer-pin-label-line.js +1 -1
- package/dist/components/vertex-viewer-pin-label.js +1 -1
- package/dist/components/vertex-viewer-pin-tool.js +1 -1
- package/dist/components/vertex-viewer-toolbar.js +1 -1
- package/dist/components/vertex-viewer-view-cube.js +1 -1
- package/dist/components/vertex-viewer.js +1 -1
- package/dist/components/vertex-viewer.js.map +1 -1
- package/dist/esm/{controller-CwTBp6Da.js → controller-CE2DwTNf.js} +139 -35
- package/dist/esm/controller-CE2DwTNf.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/vertex-scene-tree-notification-banner_4.entry.js +9 -9
- package/dist/esm/vertex-scene-tree-table-column.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-header.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +3 -3
- package/dist/esm/vertex-viewer-box-query-tool.entry.js +2 -2
- package/dist/esm/vertex-viewer-button_3.entry.js +1 -1
- package/dist/esm/vertex-viewer-default-toolbar.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-element_2.entry.js +1 -1
- package/dist/esm/vertex-viewer-dom-group.entry.js +1 -1
- package/dist/esm/vertex-viewer-hit-result-indicator.entry.js +1 -1
- package/dist/esm/vertex-viewer-layer.entry.js +1 -1
- package/dist/esm/vertex-viewer-measurement-distance.entry.js.map +1 -1
- package/dist/esm/vertex-viewer-pin-group.entry.js +3 -3
- package/dist/esm/vertex-viewer-pin-label_2.entry.js +4 -4
- package/dist/esm/vertex-viewer.entry.js +9 -4
- package/dist/esm/vertex-viewer.entry.js.map +1 -1
- package/dist/types/components/scene-tree/lib/controller.d.ts +2 -0
- package/dist/types/components/scene-tree/lib/jwt.d.ts +1 -1
- package/dist/types/components/viewer/viewer.d.ts +9 -1
- package/dist/types/components.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/{p-4716c5d5.entry.js → p-06c99572.entry.js} +2 -2
- package/dist/viewer/p-15683a45.entry.js +5 -0
- package/dist/viewer/{p-78b4be75.entry.js → p-39129117.entry.js} +2 -2
- package/dist/viewer/p-5763b907.entry.js +5 -0
- package/dist/viewer/p-5763b907.entry.js.map +1 -0
- package/dist/viewer/{p-def7870b.entry.js → p-72479c7e.entry.js} +2 -2
- package/dist/viewer/{p-f3eff8c9.entry.js → p-7c767052.entry.js} +2 -2
- package/dist/viewer/{p-dd5d4304.entry.js → p-9c02567d.entry.js} +2 -2
- package/dist/viewer/p-CnYEgl0H.js +5 -0
- package/dist/viewer/p-CnYEgl0H.js.map +1 -0
- package/dist/viewer/p-a180d8a2.entry.js.map +1 -1
- package/dist/viewer/p-aceb3ef2.entry.js +5 -0
- package/dist/viewer/{p-21bacf72.entry.js.map → p-aceb3ef2.entry.js.map} +1 -1
- package/dist/viewer/p-b6dfbeec.entry.js +5 -0
- package/dist/viewer/{p-5963afa1.entry.js → p-c2c3579f.entry.js} +2 -2
- package/dist/viewer/p-d357d235.entry.js +5 -0
- package/dist/viewer/{p-c07dec9d.entry.js → p-dca0a6d8.entry.js} +2 -2
- package/dist/viewer/{p-5e162bd2.entry.js → p-ed965902.entry.js} +2 -2
- package/dist/viewer/{p-c76b6bc1.entry.js → p-ff5bb594.entry.js} +2 -2
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +11 -11
- package/readme.md +4 -4
- package/dist/cjs/controller-C-I_MLA3.js.map +0 -1
- package/dist/components/p-C-Bg5fev.js +0 -5
- package/dist/components/p-C-Bg5fev.js.map +0 -1
- package/dist/components/p-CDa0u-Gp.js +0 -5
- package/dist/esm/controller-CwTBp6Da.js.map +0 -1
- package/dist/viewer/p-21bacf72.entry.js +0 -5
- package/dist/viewer/p-27e68321.entry.js +0 -5
- package/dist/viewer/p-27e68321.entry.js.map +0 -1
- package/dist/viewer/p-686eef80.entry.js +0 -5
- package/dist/viewer/p-C-Bg5fev.js +0 -5
- package/dist/viewer/p-C-Bg5fev.js.map +0 -1
- package/dist/viewer/p-ba57a018.entry.js +0 -5
- package/dist/viewer/p-c7bd9aea.entry.js +0 -5
- /package/dist/components/{p-DwnNhGFv.js.map → p-B4MsUZ3n.js.map} +0 -0
- /package/dist/components/{p-CDa0u-Gp.js.map → p-BAsg2_dY.js.map} +0 -0
- /package/dist/components/{p-BwtZ7wGg.js.map → p-BEkJ7rmE.js.map} +0 -0
- /package/dist/components/{p-XmNH38dk.js.map → p-BmoTo_-J.js.map} +0 -0
- /package/dist/components/{p-Dymd58Ac.js.map → p-C--Voxln.js.map} +0 -0
- /package/dist/components/{p-BphxnS-a.js.map → p-CIuxJYJL.js.map} +0 -0
- /package/dist/components/{p-1qJWPhfT.js.map → p-D97fhwcJ.js.map} +0 -0
- /package/dist/components/{p-CaXlgCvb.js.map → p-Dva0y9cX.js.map} +0 -0
- /package/dist/components/{p-BxYIAIHN.js.map → p-NXN0rSu2.js.map} +0 -0
- /package/dist/components/{p-D0KZu516.js.map → p-Y8W_BXUk.js.map} +0 -0
- /package/dist/components/{p-CXO1zq8l.js.map → p-mJhaiMMT.js.map} +0 -0
- /package/dist/viewer/{p-4716c5d5.entry.js.map → p-06c99572.entry.js.map} +0 -0
- /package/dist/viewer/{p-c7bd9aea.entry.js.map → p-15683a45.entry.js.map} +0 -0
- /package/dist/viewer/{p-78b4be75.entry.js.map → p-39129117.entry.js.map} +0 -0
- /package/dist/viewer/{p-def7870b.entry.js.map → p-72479c7e.entry.js.map} +0 -0
- /package/dist/viewer/{p-f3eff8c9.entry.js.map → p-7c767052.entry.js.map} +0 -0
- /package/dist/viewer/{p-dd5d4304.entry.js.map → p-9c02567d.entry.js.map} +0 -0
- /package/dist/viewer/{p-ba57a018.entry.js.map → p-b6dfbeec.entry.js.map} +0 -0
- /package/dist/viewer/{p-5963afa1.entry.js.map → p-c2c3579f.entry.js.map} +0 -0
- /package/dist/viewer/{p-686eef80.entry.js.map → p-d357d235.entry.js.map} +0 -0
- /package/dist/viewer/{p-c07dec9d.entry.js.map → p-dca0a6d8.entry.js.map} +0 -0
- /package/dist/viewer/{p-5e162bd2.entry.js.map → p-ed965902.entry.js.map} +0 -0
- /package/dist/viewer/{p-c76b6bc1.entry.js.map → p-ff5bb594.entry.js.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { a as requireGoogleProtobuf, b as requireWrappers_pb, r as requireGrpcWebClient_umd, g as grpcWebClient_umdExports } from './wrappers_pb-Xw_x1jYm.js';
|
|
5
5
|
import { r as requireUuid_pb, f as requirePaging_pb, C as CustomError, u as uuid_pbExports, p as paging_pbExports } from './errors-Cs13_LRq.js';
|
|
6
|
-
import { E as EventDispatcher } from './bundle-CElJxyjH.js';
|
|
6
|
+
import { E as EventDispatcher, a as async } from './bundle-CElJxyjH.js';
|
|
7
7
|
import { i as isLoadedRow, f as fromNodeProto } from './row-CiSHWNC4.js';
|
|
8
8
|
|
|
9
9
|
var domain_pb = {};
|
|
@@ -2701,7 +2701,8 @@ function requireScene_tree_api_pb () {
|
|
|
2701
2701
|
var f, obj = {
|
|
2702
2702
|
viewId: (f = msg.getViewId()) && core_protos_uuid_pb.Uuid.toObject(includeInstance, f),
|
|
2703
2703
|
pager: (f = msg.getPager()) && core_protos_paging_pb.OffsetPager.toObject(includeInstance, f),
|
|
2704
|
-
additionalColumnKeysList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f
|
|
2704
|
+
additionalColumnKeysList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
|
|
2705
|
+
requireViewReady: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
|
|
2705
2706
|
};
|
|
2706
2707
|
|
|
2707
2708
|
if (includeInstance) {
|
|
@@ -2752,6 +2753,10 @@ function requireScene_tree_api_pb () {
|
|
|
2752
2753
|
var value = /** @type {string} */ (reader.readString());
|
|
2753
2754
|
msg.addAdditionalColumnKeys(value);
|
|
2754
2755
|
break;
|
|
2756
|
+
case 4:
|
|
2757
|
+
var value = /** @type {boolean} */ (reader.readBool());
|
|
2758
|
+
msg.setRequireViewReady(value);
|
|
2759
|
+
break;
|
|
2755
2760
|
default:
|
|
2756
2761
|
reader.skipField();
|
|
2757
2762
|
break;
|
|
@@ -2804,6 +2809,13 @@ function requireScene_tree_api_pb () {
|
|
|
2804
2809
|
f
|
|
2805
2810
|
);
|
|
2806
2811
|
}
|
|
2812
|
+
f = message.getRequireViewReady();
|
|
2813
|
+
if (f) {
|
|
2814
|
+
writer.writeBool(
|
|
2815
|
+
4,
|
|
2816
|
+
f
|
|
2817
|
+
);
|
|
2818
|
+
}
|
|
2807
2819
|
};
|
|
2808
2820
|
|
|
2809
2821
|
|
|
@@ -2918,6 +2930,24 @@ function requireScene_tree_api_pb () {
|
|
|
2918
2930
|
};
|
|
2919
2931
|
|
|
2920
2932
|
|
|
2933
|
+
/**
|
|
2934
|
+
* optional bool require_view_ready = 4;
|
|
2935
|
+
* @return {boolean}
|
|
2936
|
+
*/
|
|
2937
|
+
proto.vertexvis.protobuf.scenetree.v1alpha1.GetTreeRequest.prototype.getRequireViewReady = function() {
|
|
2938
|
+
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
|
|
2939
|
+
};
|
|
2940
|
+
|
|
2941
|
+
|
|
2942
|
+
/**
|
|
2943
|
+
* @param {boolean} value
|
|
2944
|
+
* @return {!proto.vertexvis.protobuf.scenetree.v1alpha1.GetTreeRequest} returns this
|
|
2945
|
+
*/
|
|
2946
|
+
proto.vertexvis.protobuf.scenetree.v1alpha1.GetTreeRequest.prototype.setRequireViewReady = function(value) {
|
|
2947
|
+
return jspb.Message.setProto3BooleanField(this, 4, value);
|
|
2948
|
+
};
|
|
2949
|
+
|
|
2950
|
+
|
|
2921
2951
|
|
|
2922
2952
|
/**
|
|
2923
2953
|
* List of repeated fields within this message type.
|
|
@@ -6509,10 +6539,66 @@ function webSocketSubscriptionTransportFactory(options) {
|
|
|
6509
6539
|
}
|
|
6510
6540
|
}
|
|
6511
6541
|
|
|
6512
|
-
|
|
6542
|
+
class InvalidTokenError extends Error {
|
|
6543
|
+
}
|
|
6544
|
+
InvalidTokenError.prototype.name = "InvalidTokenError";
|
|
6545
|
+
function b64DecodeUnicode(str) {
|
|
6546
|
+
return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {
|
|
6547
|
+
let code = p.charCodeAt(0).toString(16).toUpperCase();
|
|
6548
|
+
if (code.length < 2) {
|
|
6549
|
+
code = "0" + code;
|
|
6550
|
+
}
|
|
6551
|
+
return "%" + code;
|
|
6552
|
+
}));
|
|
6553
|
+
}
|
|
6554
|
+
function base64UrlDecode(str) {
|
|
6555
|
+
let output = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
6556
|
+
switch (output.length % 4) {
|
|
6557
|
+
case 0:
|
|
6558
|
+
break;
|
|
6559
|
+
case 2:
|
|
6560
|
+
output += "==";
|
|
6561
|
+
break;
|
|
6562
|
+
case 3:
|
|
6563
|
+
output += "=";
|
|
6564
|
+
break;
|
|
6565
|
+
default:
|
|
6566
|
+
throw new Error("base64 string is not of the correct length");
|
|
6567
|
+
}
|
|
6568
|
+
try {
|
|
6569
|
+
return b64DecodeUnicode(output);
|
|
6570
|
+
}
|
|
6571
|
+
catch (err) {
|
|
6572
|
+
return atob(output);
|
|
6573
|
+
}
|
|
6574
|
+
}
|
|
6575
|
+
function jwtDecode(token, options) {
|
|
6576
|
+
if (typeof token !== "string") {
|
|
6577
|
+
throw new InvalidTokenError("Invalid token specified: must be a string");
|
|
6578
|
+
}
|
|
6579
|
+
options || (options = {});
|
|
6580
|
+
const pos = options.header === true ? 0 : 1;
|
|
6581
|
+
const part = token.split(".")[pos];
|
|
6582
|
+
if (typeof part !== "string") {
|
|
6583
|
+
throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);
|
|
6584
|
+
}
|
|
6585
|
+
let decoded;
|
|
6586
|
+
try {
|
|
6587
|
+
decoded = base64UrlDecode(part);
|
|
6588
|
+
}
|
|
6589
|
+
catch (e) {
|
|
6590
|
+
throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);
|
|
6591
|
+
}
|
|
6592
|
+
try {
|
|
6593
|
+
return JSON.parse(decoded);
|
|
6594
|
+
}
|
|
6595
|
+
catch (e) {
|
|
6596
|
+
throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);
|
|
6597
|
+
}
|
|
6598
|
+
}
|
|
6513
6599
|
|
|
6514
6600
|
function decodeSceneTreeJwt(jwt) {
|
|
6515
|
-
return
|
|
6601
|
+
return jwtDecode(jwt);
|
|
6516
6602
|
}
|
|
6517
6603
|
|
|
6518
6604
|
/**
|
|
@@ -6883,25 +6969,23 @@ class SceneTreeController {
|
|
|
6883
6969
|
* @param index A 0 based index to fetch.
|
|
6884
6970
|
*/
|
|
6885
6971
|
async fetchPage(index) {
|
|
6886
|
-
|
|
6887
|
-
|
|
6888
|
-
|
|
6889
|
-
|
|
6890
|
-
|
|
6891
|
-
|
|
6892
|
-
|
|
6893
|
-
|
|
6894
|
-
|
|
6895
|
-
|
|
6896
|
-
|
|
6897
|
-
|
|
6898
|
-
|
|
6899
|
-
|
|
6900
|
-
|
|
6901
|
-
|
|
6902
|
-
|
|
6903
|
-
}
|
|
6904
|
-
});
|
|
6972
|
+
if (index < 0 || index > this.maxPages - 1) {
|
|
6973
|
+
return;
|
|
6974
|
+
}
|
|
6975
|
+
if (!this.pages.has(index)) {
|
|
6976
|
+
const offset = index * this.rowLimit;
|
|
6977
|
+
this.log('Scene tree fetching page', index, offset);
|
|
6978
|
+
const res = this.fetchTree(offset, this.rowLimit, () => this.ifConnectionHasJwt((jwt) => jwt));
|
|
6979
|
+
const id = this.nextPageId++;
|
|
6980
|
+
const page = { id, res, index, metadataKeys: this.metadataKeys };
|
|
6981
|
+
this.pages.set(index, page);
|
|
6982
|
+
page.done = this.handlePageResult(page);
|
|
6983
|
+
}
|
|
6984
|
+
const page = this.pages.get(index);
|
|
6985
|
+
const [resResult] = await Promise.allSettled([page === null || page === void 0 ? void 0 : page.res, page === null || page === void 0 ? void 0 : page.done]);
|
|
6986
|
+
if ((resResult === null || resResult === void 0 ? void 0 : resResult.status) === 'rejected') {
|
|
6987
|
+
throw resResult.reason;
|
|
6988
|
+
}
|
|
6905
6989
|
}
|
|
6906
6990
|
/**
|
|
6907
6991
|
* Fetches a page that contains the given row offset.
|
|
@@ -7323,16 +7407,34 @@ class SceneTreeController {
|
|
|
7323
7407
|
const pageEnd = this.getPageForOffset(end);
|
|
7324
7408
|
return [pageStart, pageEnd];
|
|
7325
7409
|
}
|
|
7326
|
-
async fetchTree(offset, limit,
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
|
|
7331
|
-
|
|
7332
|
-
|
|
7333
|
-
|
|
7334
|
-
|
|
7335
|
-
|
|
7410
|
+
async fetchTree(offset, limit, jwtProvider, currentAttempt = 1) {
|
|
7411
|
+
const maxAttempts = SceneTreeController.MAX_GET_TREE_ATTEMPTS;
|
|
7412
|
+
try {
|
|
7413
|
+
const jwt = await jwtProvider();
|
|
7414
|
+
return await this.requestUnary(jwt, (metadata, handler) => {
|
|
7415
|
+
const pager = new paging_pbExports.OffsetPager();
|
|
7416
|
+
pager.setOffset(offset);
|
|
7417
|
+
pager.setLimit(limit);
|
|
7418
|
+
const req = new scene_tree_api_pbExports.GetTreeRequest();
|
|
7419
|
+
req.setPager(pager);
|
|
7420
|
+
req.setAdditionalColumnKeysList(this.metadataKeys);
|
|
7421
|
+
req.setRequireViewReady(true);
|
|
7422
|
+
this.client.getTree(req, metadata, handler);
|
|
7423
|
+
});
|
|
7424
|
+
}
|
|
7425
|
+
catch (error) {
|
|
7426
|
+
if (!isGrpcServiceError(error) || error.code !== grpcWebClient_umdExports.grpc.Code.Unavailable) {
|
|
7427
|
+
throw error;
|
|
7428
|
+
}
|
|
7429
|
+
if (currentAttempt >= maxAttempts) {
|
|
7430
|
+
throw new Error(`Failed to retrieve scene tree after ${maxAttempts} attempts.`);
|
|
7431
|
+
}
|
|
7432
|
+
const delay = SceneTreeController.GET_TREE_RETRY_DELAYS_IN_MS[currentAttempt - 1];
|
|
7433
|
+
const nextAttempt = currentAttempt + 1;
|
|
7434
|
+
console.warn(`GetTree failed because the view is not ready. Retrying in ${delay}ms (attempt ${nextAttempt}/${maxAttempts}).`);
|
|
7435
|
+
await async.delay(delay);
|
|
7436
|
+
return this.fetchTree(offset, limit, jwtProvider, nextAttempt);
|
|
7437
|
+
}
|
|
7336
7438
|
}
|
|
7337
7439
|
// TODO(dan): used shared grpc lib
|
|
7338
7440
|
requestUnary(jwt, req) {
|
|
@@ -7434,8 +7536,10 @@ class SceneTreeController {
|
|
|
7434
7536
|
SceneTreeController.IDLE_RECONNECT_IN_SECONDS = 4 * 60;
|
|
7435
7537
|
SceneTreeController.LOST_CONNECTION_RECONNECT_IN_SECONDS = 2;
|
|
7436
7538
|
SceneTreeController.MAX_SUBSCRIPTION_RETRY_COUNT = 2;
|
|
7539
|
+
SceneTreeController.MAX_GET_TREE_ATTEMPTS = 6;
|
|
7540
|
+
SceneTreeController.GET_TREE_RETRY_DELAYS_IN_MS = [1000, 2000, 4000, 8000, 15000];
|
|
7437
7541
|
|
|
7438
7542
|
export { SceneTreeController as S, SceneTreeErrorCode as a, SceneTreeErrorDetails as b, scene_tree_api_pb_serviceExports as s, webSocketSubscriptionTransportFactory as w };
|
|
7439
|
-
//# sourceMappingURL=controller-
|
|
7543
|
+
//# sourceMappingURL=controller-CE2DwTNf.js.map
|
|
7440
7544
|
|
|
7441
|
-
//# sourceMappingURL=controller-
|
|
7545
|
+
//# sourceMappingURL=controller-CE2DwTNf.js.map
|