bruce-cesium 2.0.0 → 2.0.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/dist/bruce-cesium.es5.js +80 -33
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +79 -32
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/rendering/menu-item-creator.js +50 -22
- package/dist/lib/rendering/menu-item-creator.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +19 -5
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +12 -4
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +9 -1
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/rendering/visuals-register.d.ts +1 -0
- package/package.json +77 -77
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -2600,10 +2600,18 @@
|
|
|
2600
2600
|
clearInterval(this.renderQueueInterval);
|
|
2601
2601
|
this.renderQueueInterval = null;
|
|
2602
2602
|
this.renderQueue = [];
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2603
|
+
// Remove just the ones that shouldn't be rendered.
|
|
2604
|
+
// Eg: for a tag menu item we can see what tags are selected and only render those.
|
|
2605
|
+
if (shouldRender) {
|
|
2606
|
+
this.visualsManager.RemoveRegos({
|
|
2607
|
+
menuItemId: this.item.id,
|
|
2608
|
+
retainTagIds: tagsToRender
|
|
2609
|
+
});
|
|
2610
|
+
}
|
|
2611
|
+
else {
|
|
2612
|
+
this.visualsManager.RemoveRegos({
|
|
2613
|
+
menuItemId: this.item.id
|
|
2614
|
+
});
|
|
2607
2615
|
return;
|
|
2608
2616
|
}
|
|
2609
2617
|
var api = this.apiGetter.getApi();
|
|
@@ -4145,10 +4153,13 @@
|
|
|
4145
4153
|
*/
|
|
4146
4154
|
Register.prototype.RemoveRegos = function (params) {
|
|
4147
4155
|
var _a, _b, _c;
|
|
4148
|
-
var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation;
|
|
4156
|
+
var entityId = params.entityId, menuItemId = params.menuItemId, doUpdate = params.doUpdate, relation = params.relation, retainTagIds = params.retainTagIds;
|
|
4149
4157
|
if (doUpdate == null) {
|
|
4150
4158
|
doUpdate = true;
|
|
4151
4159
|
}
|
|
4160
|
+
if (retainTagIds == null) {
|
|
4161
|
+
retainTagIds = [];
|
|
4162
|
+
}
|
|
4152
4163
|
// TODO: refactor.
|
|
4153
4164
|
// Currently this was made by merging two functions.
|
|
4154
4165
|
if (menuItemId && !entityId) {
|
|
@@ -4159,6 +4170,11 @@
|
|
|
4159
4170
|
if (!rego) {
|
|
4160
4171
|
continue;
|
|
4161
4172
|
}
|
|
4173
|
+
var regoTagIds = rego.tagIds ? rego.tagIds : [];
|
|
4174
|
+
var shouldRetain = regoTagIds.some(function (tagId) { return retainTagIds.includes(tagId); });
|
|
4175
|
+
if (shouldRetain) {
|
|
4176
|
+
continue;
|
|
4177
|
+
}
|
|
4162
4178
|
removeEntity(this.viewer, rego.visual);
|
|
4163
4179
|
var doesInclude = this.rego[entityId_3].find(function (r) { return r.menuItemId === menuItemId; });
|
|
4164
4180
|
if (doesInclude) {
|
|
@@ -7245,14 +7261,28 @@
|
|
|
7245
7261
|
* @returns
|
|
7246
7262
|
*/
|
|
7247
7263
|
Manager.prototype.RenderItem = function (params) {
|
|
7248
|
-
var _a, _b, _c;
|
|
7264
|
+
var _a, _b, _c, _d;
|
|
7249
7265
|
if (this.viewer.isDestroyed()) {
|
|
7250
7266
|
return null;
|
|
7251
7267
|
}
|
|
7252
7268
|
var rItem = this.items.find(function (x) { return x.id == params.item.id; });
|
|
7253
|
-
if (
|
|
7269
|
+
if (rItem) {
|
|
7270
|
+
// This means we're updating a tag menu item.
|
|
7271
|
+
// Tag menu items have alternative states based on bookmark settings.
|
|
7272
|
+
// Eg: different tags that were enabled.
|
|
7273
|
+
if (rItem.type == bruceModels.MenuItem.EType.Entities && params.item.Type == bruceModels.MenuItem.EType.Entities) {
|
|
7274
|
+
var eItem = rItem.item;
|
|
7275
|
+
if ((_a = eItem === null || eItem === void 0 ? void 0 : eItem.BruceEntity) === null || _a === void 0 ? void 0 : _a.ExpandLayers) {
|
|
7276
|
+
rItem.renderManager.Init({
|
|
7277
|
+
item: params.item,
|
|
7278
|
+
});
|
|
7279
|
+
rItem.item = params.item;
|
|
7280
|
+
}
|
|
7281
|
+
}
|
|
7282
|
+
}
|
|
7283
|
+
else {
|
|
7254
7284
|
rItem = {
|
|
7255
|
-
id: (
|
|
7285
|
+
id: (_b = params.item.id) !== null && _b !== void 0 ? _b : bruceModels.ObjectUtils.UId(),
|
|
7256
7286
|
childIds: [],
|
|
7257
7287
|
item: params.item,
|
|
7258
7288
|
renderManager: null,
|
|
@@ -7387,8 +7417,8 @@
|
|
|
7387
7417
|
rItem.childIds.push(childId);
|
|
7388
7418
|
}
|
|
7389
7419
|
}
|
|
7390
|
-
if (
|
|
7391
|
-
(
|
|
7420
|
+
if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
|
|
7421
|
+
(_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
7392
7422
|
}
|
|
7393
7423
|
rItem.id;
|
|
7394
7424
|
};
|
|
@@ -7731,28 +7761,29 @@
|
|
|
7731
7761
|
}
|
|
7732
7762
|
MenuItemCreator.RenderTileset = RenderTileset;
|
|
7733
7763
|
function RenderBookmarkItems(params) {
|
|
7764
|
+
var _a;
|
|
7734
7765
|
return __awaiter(this, void 0, void 0, function () {
|
|
7735
|
-
var viewId, bookmarkId, api, view,
|
|
7766
|
+
var viewId, bookmarkId, api, view, _b, bookmark, _c, enabledIds, menuItems, version, vSettings, bSettings, vSettings, bSettings, alternations, renderedItemIds, traverseItems_1, i;
|
|
7736
7767
|
var _this = this;
|
|
7737
|
-
return __generator(this, function (
|
|
7738
|
-
switch (
|
|
7768
|
+
return __generator(this, function (_d) {
|
|
7769
|
+
switch (_d.label) {
|
|
7739
7770
|
case 0:
|
|
7740
7771
|
viewId = params.viewId, bookmarkId = params.bookmarkId;
|
|
7741
7772
|
api = params.apiGetter.getApi();
|
|
7742
7773
|
if (!params.view) return [3 /*break*/, 1];
|
|
7743
|
-
|
|
7774
|
+
_b = params.view;
|
|
7744
7775
|
return [3 /*break*/, 3];
|
|
7745
7776
|
case 1: return [4 /*yield*/, bruceModels.ProjectView.Get({
|
|
7746
7777
|
api: api,
|
|
7747
7778
|
viewId: viewId
|
|
7748
7779
|
})];
|
|
7749
7780
|
case 2:
|
|
7750
|
-
|
|
7751
|
-
|
|
7781
|
+
_b = (_d.sent()).view;
|
|
7782
|
+
_d.label = 3;
|
|
7752
7783
|
case 3:
|
|
7753
|
-
view =
|
|
7784
|
+
view = _b;
|
|
7754
7785
|
if (!params.bookmark) return [3 /*break*/, 4];
|
|
7755
|
-
|
|
7786
|
+
_c = params.bookmark;
|
|
7756
7787
|
return [3 /*break*/, 6];
|
|
7757
7788
|
case 4: return [4 /*yield*/, bruceModels.ProjectViewBookmark.Get({
|
|
7758
7789
|
api: api,
|
|
@@ -7760,10 +7791,10 @@
|
|
|
7760
7791
|
bookmarkId: bookmarkId
|
|
7761
7792
|
})];
|
|
7762
7793
|
case 5:
|
|
7763
|
-
|
|
7764
|
-
|
|
7794
|
+
_c = (_d.sent()).bookmark;
|
|
7795
|
+
_d.label = 6;
|
|
7765
7796
|
case 6:
|
|
7766
|
-
bookmark =
|
|
7797
|
+
bookmark = _c;
|
|
7767
7798
|
if (view.DataVersion != bookmark.DataVersion) {
|
|
7768
7799
|
throw new Error("View and bookmark settings version mismatch.");
|
|
7769
7800
|
}
|
|
@@ -7784,32 +7815,48 @@
|
|
|
7784
7815
|
enabledIds = bSettings.selectedItemIds;
|
|
7785
7816
|
}
|
|
7786
7817
|
}
|
|
7818
|
+
alternations = (_a = bookmark.Settings) === null || _a === void 0 ? void 0 : _a.menuItemAlternations;
|
|
7819
|
+
if (!alternations) {
|
|
7820
|
+
alternations = {};
|
|
7821
|
+
}
|
|
7787
7822
|
renderedItemIds = [];
|
|
7788
7823
|
if (!((menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) && (enabledIds === null || enabledIds === void 0 ? void 0 : enabledIds.length))) return [3 /*break*/, 10];
|
|
7789
7824
|
traverseItems_1 = function (item) { return __awaiter(_this, void 0, void 0, function () {
|
|
7790
|
-
var itemId, i;
|
|
7791
|
-
|
|
7792
|
-
|
|
7825
|
+
var eItem, eItemAlt, itemId, i;
|
|
7826
|
+
var _a;
|
|
7827
|
+
return __generator(this, function (_b) {
|
|
7828
|
+
switch (_b.label) {
|
|
7793
7829
|
case 0:
|
|
7830
|
+
if (alternations[item.id]) {
|
|
7831
|
+
// The only alternation we support right now is tag menu item ones.
|
|
7832
|
+
// The project view menu item contains the instruction to enable tags, the bookmark specifies which ones.
|
|
7833
|
+
if (item.Type == bruceModels.MenuItem.EType.Entities) {
|
|
7834
|
+
eItem = item;
|
|
7835
|
+
if (eItem.BruceEntity.ExpandLayers) {
|
|
7836
|
+
eItemAlt = alternations[item.id];
|
|
7837
|
+
eItem.BruceEntity = __assign(__assign({}, eItem.BruceEntity), { SelectedExpandLayers: (_a = eItemAlt.BruceEntity) === null || _a === void 0 ? void 0 : _a.SelectedExpandLayers });
|
|
7838
|
+
}
|
|
7839
|
+
}
|
|
7840
|
+
}
|
|
7794
7841
|
if (!enabledIds.includes(item.id)) return [3 /*break*/, 2];
|
|
7795
7842
|
return [4 /*yield*/, params.manager.RenderItem({
|
|
7796
7843
|
item: item,
|
|
7797
7844
|
apiGetter: params.apiGetter
|
|
7798
7845
|
})];
|
|
7799
7846
|
case 1:
|
|
7800
|
-
itemId =
|
|
7847
|
+
itemId = _b.sent();
|
|
7801
7848
|
renderedItemIds.push(itemId);
|
|
7802
|
-
|
|
7849
|
+
_b.label = 2;
|
|
7803
7850
|
case 2:
|
|
7804
7851
|
if (!item.Children) return [3 /*break*/, 6];
|
|
7805
7852
|
i = 0;
|
|
7806
|
-
|
|
7853
|
+
_b.label = 3;
|
|
7807
7854
|
case 3:
|
|
7808
7855
|
if (!(i < item.Children.length)) return [3 /*break*/, 6];
|
|
7809
7856
|
return [4 /*yield*/, traverseItems_1(item.Children[i])];
|
|
7810
7857
|
case 4:
|
|
7811
|
-
|
|
7812
|
-
|
|
7858
|
+
_b.sent();
|
|
7859
|
+
_b.label = 5;
|
|
7813
7860
|
case 5:
|
|
7814
7861
|
i++;
|
|
7815
7862
|
return [3 /*break*/, 3];
|
|
@@ -7818,13 +7865,13 @@
|
|
|
7818
7865
|
});
|
|
7819
7866
|
}); };
|
|
7820
7867
|
i = 0;
|
|
7821
|
-
|
|
7868
|
+
_d.label = 7;
|
|
7822
7869
|
case 7:
|
|
7823
7870
|
if (!(i < menuItems.length)) return [3 /*break*/, 10];
|
|
7824
7871
|
return [4 /*yield*/, traverseItems_1(menuItems[i])];
|
|
7825
7872
|
case 8:
|
|
7826
|
-
|
|
7827
|
-
|
|
7873
|
+
_d.sent();
|
|
7874
|
+
_d.label = 9;
|
|
7828
7875
|
case 9:
|
|
7829
7876
|
i++;
|
|
7830
7877
|
return [3 /*break*/, 7];
|