bruce-cesium 0.2.5 → 0.2.7

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 (25) hide show
  1. package/dist/bruce-cesium.es5.js +210 -201
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +205 -196
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/rendering/menu-item-manager.js +7 -5
  6. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  7. package/dist/lib/rendering/render-managers/common/shared-getters.js +2 -4
  8. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +1 -1
  9. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +4 -3
  10. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  11. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +4 -3
  12. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  13. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +5 -4
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +4 -3
  16. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  17. package/dist/lib/viewer/cesium-view-monitor.js +1 -0
  18. package/dist/lib/viewer/cesium-view-monitor.js.map +1 -1
  19. package/dist/types/rendering/menu-item-manager.d.ts +1 -0
  20. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +2 -3
  21. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +3 -1
  22. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +3 -1
  23. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +3 -1
  24. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +3 -1
  25. package/package.json +2 -2
@@ -86,6 +86,7 @@
86
86
  this.disposed = false;
87
87
  this.updatedEvent = null;
88
88
  this.viewer = viewer;
89
+ this.tryEmitUpdate();
89
90
  this.checkInterval = setInterval(function () {
90
91
  _this.updateQueue();
91
92
  }, POSITION_CHECK_TIMER);
@@ -1371,7 +1372,7 @@
1371
1372
 
1372
1373
  (function (EntitiesRenderManager) {
1373
1374
  var Manager = /** @class */ (function () {
1374
- function Manager(viewer, visualsManager, apiGetter, item, sharedGetters) {
1375
+ function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
1375
1376
  this.getter = null;
1376
1377
  this.getterSub = null;
1377
1378
  this.disposed = false;
@@ -1382,6 +1383,7 @@
1382
1383
  this.viewMonitorRemoval = null;
1383
1384
  this.viewer = viewer;
1384
1385
  this.sharedGetters = sharedGetters;
1386
+ this.monitor = monitor;
1385
1387
  this.apiGetter = apiGetter;
1386
1388
  this.item = item;
1387
1389
  this.visualsManager = visualsManager;
@@ -1407,14 +1409,15 @@
1407
1409
  api: api,
1408
1410
  attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
1409
1411
  batchSize: 500,
1410
- typeId: this.item.BruceEntity["EntityType.ID"]
1412
+ typeId: this.item.BruceEntity["EntityType.ID"],
1413
+ monitor: this.monitor
1411
1414
  });
1412
1415
  minMax = exports.RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
1413
1416
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
1414
1417
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1415
1418
  _this.onGetterUpdate(entities);
1416
1419
  });
1417
- this.viewMonitorRemoval = new CesiumViewMonitor(this.viewer).Updated().Subscribe(function () {
1420
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
1418
1421
  _this.entityCheckQueue.Call();
1419
1422
  });
1420
1423
  this.entityCheckQueue = new bruceModels.DelayQueue(function () {
@@ -1555,13 +1558,14 @@
1555
1558
 
1556
1559
  (function (EntitiesLoadedRenderManager) {
1557
1560
  var Manager = /** @class */ (function () {
1558
- function Manager(viewer, visualsManager, apiGetter, item) {
1561
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
1559
1562
  this.getter = null;
1560
1563
  this.getterSub = null;
1561
1564
  this.disposed = false;
1562
1565
  this.renderedEntities = {};
1563
1566
  this.viewer = viewer;
1564
1567
  this.apiGetter = apiGetter;
1568
+ this.monitor = monitor;
1565
1569
  this.item = item;
1566
1570
  this.visualsManager = visualsManager;
1567
1571
  }
@@ -1579,10 +1583,11 @@
1579
1583
  if (this.disposed) {
1580
1584
  throw (new Error("This item is disposed."));
1581
1585
  }
1582
- this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, new CesiumViewMonitor(this.viewer), 500);
1586
+ this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
1583
1587
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
1584
1588
  _this.onGetterUpdate(entities);
1585
1589
  });
1590
+ this.getter.Start();
1586
1591
  return [2 /*return*/];
1587
1592
  });
1588
1593
  });
@@ -2027,13 +2032,14 @@
2027
2032
 
2028
2033
  (function (EntitiesIdsRenderManager) {
2029
2034
  var Manager = /** @class */ (function () {
2030
- function Manager(viewer, visualsManager, apiGetter, item) {
2035
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
2031
2036
  this.getter = null;
2032
2037
  this.getterSub = null;
2033
2038
  this.disposed = false;
2034
2039
  this.renderedEntities = {};
2035
2040
  this.viewer = viewer;
2036
2041
  this.apiGetter = apiGetter;
2042
+ this.monitor = monitor;
2037
2043
  this.item = item;
2038
2044
  this.visualsManager = visualsManager;
2039
2045
  }
@@ -2051,10 +2057,11 @@
2051
2057
  if (this.disposed) {
2052
2058
  throw (new Error("This item is disposed."));
2053
2059
  }
2054
- this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, new CesiumViewMonitor(this.viewer), 500);
2060
+ this.getter = new bruceModels.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
2055
2061
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2056
2062
  _this.onGetterUpdate(ids);
2057
2063
  });
2064
+ this.getter.Start();
2058
2065
  return [2 /*return*/];
2059
2066
  });
2060
2067
  });
@@ -2124,12 +2131,13 @@
2124
2131
 
2125
2132
  (function (EntityRenderManager) {
2126
2133
  var Manager = /** @class */ (function () {
2127
- function Manager(viewer, visualsManager, apiGetter, item) {
2134
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
2128
2135
  this.getter = null;
2129
2136
  this.getterSub = null;
2130
2137
  this.disposed = false;
2131
2138
  this.viewer = viewer;
2132
2139
  this.apiGetter = apiGetter;
2140
+ this.monitor = monitor;
2133
2141
  this.item = item;
2134
2142
  this.visualsManager = visualsManager;
2135
2143
  }
@@ -2147,10 +2155,11 @@
2147
2155
  if (this.disposed) {
2148
2156
  throw (new Error("This item is disposed."));
2149
2157
  }
2150
- this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], new CesiumViewMonitor(this.viewer), 1);
2158
+ this.getter = new bruceModels.BatchedDataGetter.Getter([this.item.BruceEntity.EntityId], this.monitor, 1);
2151
2159
  this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
2152
2160
  _this.onGetterUpdate(ids[0]);
2153
2161
  });
2162
+ this.getter.Start();
2154
2163
  return [2 /*return*/];
2155
2164
  });
2156
2165
  });
@@ -2840,15 +2849,14 @@
2840
2849
  }
2841
2850
  (function (SharedGetters) {
2842
2851
  var Cache = /** @class */ (function () {
2843
- function Cache(viewer) {
2852
+ function Cache() {
2844
2853
  this.data = {};
2845
- this.viewer = viewer;
2846
2854
  }
2847
2855
  Cache.prototype.GetOrCreateFilterGetter = function (params) {
2848
2856
  var cacheKey = createFilterGetterCacheKey(params);
2849
2857
  var getter = this.data[cacheKey];
2850
2858
  if (!getter) {
2851
- getter = new bruceModels.EntityFilterGetter.Getter(params.api, new CesiumViewMonitor(this.viewer), params.typeId, params.batchSize, params.attrFilter);
2859
+ getter = new bruceModels.EntityFilterGetter.Getter(params.api, params.monitor, params.typeId, params.batchSize, params.attrFilter);
2852
2860
  this.data[cacheKey] = getter;
2853
2861
  }
2854
2862
  return getter;
@@ -2858,190 +2866,6 @@
2858
2866
  SharedGetters.Cache = Cache;
2859
2867
  })(exports.SharedGetters || (exports.SharedGetters = {}));
2860
2868
 
2861
- (function (MenuItemManager) {
2862
- var Manager = /** @class */ (function () {
2863
- function Manager(viewer, visualsRegister) {
2864
- this.items = [];
2865
- this.onUpdate = null;
2866
- this.viewer = viewer;
2867
- if (!visualsRegister) {
2868
- visualsRegister = new exports.VisualsRegister.Register(viewer);
2869
- }
2870
- this.visualsRegister = visualsRegister;
2871
- this.sharedGetters = new exports.SharedGetters.Cache(this.viewer);
2872
- }
2873
- Object.defineProperty(Manager.prototype, "Viewer", {
2874
- get: function () {
2875
- return this.viewer;
2876
- },
2877
- enumerable: false,
2878
- configurable: true
2879
- });
2880
- Object.defineProperty(Manager.prototype, "VisualsRegister", {
2881
- get: function () {
2882
- return this.visualsRegister;
2883
- },
2884
- enumerable: false,
2885
- configurable: true
2886
- });
2887
- Object.defineProperty(Manager.prototype, "OnUpdate", {
2888
- get: function () {
2889
- if (!this.onUpdate) {
2890
- this.onUpdate = new bruceModels.BruceEvent();
2891
- }
2892
- return this.onUpdate;
2893
- },
2894
- enumerable: false,
2895
- configurable: true
2896
- });
2897
- /**
2898
- * Renders a given menu item and all ids children.
2899
- * Will return the enabled item id.
2900
- * @param params
2901
- * @returns
2902
- */
2903
- Manager.prototype.RenderItem = function (params) {
2904
- var _a, _b;
2905
- return __awaiter(this, void 0, void 0, function () {
2906
- var rItem, i, childId;
2907
- return __generator(this, function (_c) {
2908
- switch (_c.label) {
2909
- case 0:
2910
- if (this.items.find(function (x) { return x.id == params.item.id; })) {
2911
- return [2 /*return*/, params.item.id];
2912
- }
2913
- rItem = {
2914
- id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
2915
- childIds: [],
2916
- item: params.item,
2917
- renderManager: null,
2918
- type: params.item.Type
2919
- };
2920
- switch (params.item.Type) {
2921
- case bruceModels.MenuItem.EType.Entities:
2922
- rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item, this.sharedGetters);
2923
- break;
2924
- case bruceModels.MenuItem.EType.EntitiesLoaded:
2925
- rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2926
- break;
2927
- case bruceModels.MenuItem.EType.EntitiesIds:
2928
- rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2929
- break;
2930
- case bruceModels.MenuItem.EType.Entity:
2931
- rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2932
- break;
2933
- case bruceModels.MenuItem.EType.CadTileset:
2934
- rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
2935
- break;
2936
- case bruceModels.MenuItem.EType.Osm:
2937
- // TODO;
2938
- break;
2939
- case bruceModels.MenuItem.EType.PointCloud:
2940
- // TODO;
2941
- break;
2942
- case bruceModels.MenuItem.EType.EntityTileset:
2943
- // TODO;
2944
- break;
2945
- case bruceModels.MenuItem.EType.Kml:
2946
- // TODO;
2947
- break;
2948
- // Any "none" type can be ignored. These are just containers for other items.
2949
- case bruceModels.MenuItem.EType.None:
2950
- break;
2951
- default:
2952
- console.error("Menu item type is not implemented.", params.item.Type);
2953
- }
2954
- if (!rItem.renderManager) return [3 /*break*/, 2];
2955
- return [4 /*yield*/, rItem.renderManager.Init()];
2956
- case 1:
2957
- _c.sent();
2958
- _c.label = 2;
2959
- case 2:
2960
- this.items.push(rItem);
2961
- if (!params.item.Children) return [3 /*break*/, 6];
2962
- i = 0;
2963
- _c.label = 3;
2964
- case 3:
2965
- if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
2966
- return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
2967
- case 4:
2968
- childId = _c.sent();
2969
- rItem.childIds.push(childId);
2970
- _c.label = 5;
2971
- case 5:
2972
- i++;
2973
- return [3 /*break*/, 3];
2974
- case 6:
2975
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
2976
- return [2 /*return*/, rItem.id];
2977
- }
2978
- });
2979
- });
2980
- };
2981
- /**
2982
- * Disables a menu item by ids id.
2983
- * This will disable all children as well.
2984
- * @param id
2985
- */
2986
- Manager.prototype.RemoveItemById = function (id) {
2987
- var _a, _b;
2988
- return __awaiter(this, void 0, void 0, function () {
2989
- var item, _loop_1, this_1, i;
2990
- return __generator(this, function (_c) {
2991
- switch (_c.label) {
2992
- case 0:
2993
- item = this.items.find(function (x) { return x.id === id; });
2994
- if (!item) return [3 /*break*/, 5];
2995
- _loop_1 = function (i) {
2996
- var child;
2997
- return __generator(this, function (_a) {
2998
- switch (_a.label) {
2999
- case 0:
3000
- child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3001
- if (!child) return [3 /*break*/, 2];
3002
- return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3003
- case 1:
3004
- _a.sent();
3005
- _a.label = 2;
3006
- case 2: return [2 /*return*/];
3007
- }
3008
- });
3009
- };
3010
- this_1 = this;
3011
- i = 0;
3012
- _c.label = 1;
3013
- case 1:
3014
- if (!(i < item.childIds.length)) return [3 /*break*/, 4];
3015
- return [5 /*yield**/, _loop_1(i)];
3016
- case 2:
3017
- _c.sent();
3018
- _c.label = 3;
3019
- case 3:
3020
- i++;
3021
- return [3 /*break*/, 1];
3022
- case 4:
3023
- try {
3024
- (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
3025
- }
3026
- catch (e) {
3027
- console.error(e);
3028
- }
3029
- this.items = this.items.filter(function (x) { return x.id !== id; });
3030
- (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
3031
- _c.label = 5;
3032
- case 5: return [2 /*return*/];
3033
- }
3034
- });
3035
- });
3036
- };
3037
- Manager.prototype.GetEnabledItemIds = function () {
3038
- return this.items.map(function (x) { return x.id; });
3039
- };
3040
- return Manager;
3041
- }());
3042
- MenuItemManager.Manager = Manager;
3043
- })(exports.MenuItemManager || (exports.MenuItemManager = {}));
3044
-
3045
2869
  (function (RenderHelper) {
3046
2870
  function RenderEntities(params, entityIds) {
3047
2871
  return __awaiter(this, void 0, void 0, function () {
@@ -4018,6 +3842,191 @@
4018
3842
  return MeasureAddon;
4019
3843
  }());
4020
3844
 
3845
+ (function (MenuItemManager) {
3846
+ var Manager = /** @class */ (function () {
3847
+ function Manager(viewer, visualsRegister) {
3848
+ this.items = [];
3849
+ this.onUpdate = null;
3850
+ this.viewer = viewer;
3851
+ if (!visualsRegister) {
3852
+ visualsRegister = new exports.VisualsRegister.Register(viewer);
3853
+ }
3854
+ this.visualsRegister = visualsRegister;
3855
+ this.sharedGetters = new exports.SharedGetters.Cache();
3856
+ this.sharedMonitor = new CesiumViewMonitor(this.viewer);
3857
+ }
3858
+ Object.defineProperty(Manager.prototype, "Viewer", {
3859
+ get: function () {
3860
+ return this.viewer;
3861
+ },
3862
+ enumerable: false,
3863
+ configurable: true
3864
+ });
3865
+ Object.defineProperty(Manager.prototype, "VisualsRegister", {
3866
+ get: function () {
3867
+ return this.visualsRegister;
3868
+ },
3869
+ enumerable: false,
3870
+ configurable: true
3871
+ });
3872
+ Object.defineProperty(Manager.prototype, "OnUpdate", {
3873
+ get: function () {
3874
+ if (!this.onUpdate) {
3875
+ this.onUpdate = new bruceModels.BruceEvent();
3876
+ }
3877
+ return this.onUpdate;
3878
+ },
3879
+ enumerable: false,
3880
+ configurable: true
3881
+ });
3882
+ /**
3883
+ * Renders a given menu item and all ids children.
3884
+ * Will return the enabled item id.
3885
+ * @param params
3886
+ * @returns
3887
+ */
3888
+ Manager.prototype.RenderItem = function (params) {
3889
+ var _a, _b;
3890
+ return __awaiter(this, void 0, void 0, function () {
3891
+ var rItem, i, childId;
3892
+ return __generator(this, function (_c) {
3893
+ switch (_c.label) {
3894
+ case 0:
3895
+ if (this.items.find(function (x) { return x.id == params.item.id; })) {
3896
+ return [2 /*return*/, params.item.id];
3897
+ }
3898
+ rItem = {
3899
+ id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruceModels.ObjectUtils.UId(),
3900
+ childIds: [],
3901
+ item: params.item,
3902
+ renderManager: null,
3903
+ type: params.item.Type
3904
+ };
3905
+ switch (params.item.Type) {
3906
+ case bruceModels.MenuItem.EType.Entities:
3907
+ rItem.renderManager = new exports.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
3908
+ break;
3909
+ case bruceModels.MenuItem.EType.EntitiesLoaded:
3910
+ rItem.renderManager = new exports.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3911
+ break;
3912
+ case bruceModels.MenuItem.EType.EntitiesIds:
3913
+ rItem.renderManager = new exports.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3914
+ break;
3915
+ case bruceModels.MenuItem.EType.Entity:
3916
+ rItem.renderManager = new exports.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
3917
+ break;
3918
+ case bruceModels.MenuItem.EType.CadTileset:
3919
+ rItem.renderManager = new exports.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
3920
+ break;
3921
+ case bruceModels.MenuItem.EType.Osm:
3922
+ // TODO;
3923
+ break;
3924
+ case bruceModels.MenuItem.EType.PointCloud:
3925
+ // TODO;
3926
+ break;
3927
+ case bruceModels.MenuItem.EType.EntityTileset:
3928
+ // TODO;
3929
+ break;
3930
+ case bruceModels.MenuItem.EType.Kml:
3931
+ // TODO;
3932
+ break;
3933
+ // Any "none" type can be ignored. These are just containers for other items.
3934
+ case bruceModels.MenuItem.EType.None:
3935
+ break;
3936
+ default:
3937
+ console.error("Menu item type is not implemented.", params.item.Type);
3938
+ }
3939
+ if (!rItem.renderManager) return [3 /*break*/, 2];
3940
+ return [4 /*yield*/, rItem.renderManager.Init()];
3941
+ case 1:
3942
+ _c.sent();
3943
+ _c.label = 2;
3944
+ case 2:
3945
+ this.items.push(rItem);
3946
+ if (!params.item.Children) return [3 /*break*/, 6];
3947
+ i = 0;
3948
+ _c.label = 3;
3949
+ case 3:
3950
+ if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
3951
+ return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
3952
+ case 4:
3953
+ childId = _c.sent();
3954
+ rItem.childIds.push(childId);
3955
+ _c.label = 5;
3956
+ case 5:
3957
+ i++;
3958
+ return [3 /*break*/, 3];
3959
+ case 6:
3960
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
3961
+ return [2 /*return*/, rItem.id];
3962
+ }
3963
+ });
3964
+ });
3965
+ };
3966
+ /**
3967
+ * Disables a menu item by ids id.
3968
+ * This will disable all children as well.
3969
+ * @param id
3970
+ */
3971
+ Manager.prototype.RemoveItemById = function (id) {
3972
+ var _a, _b;
3973
+ return __awaiter(this, void 0, void 0, function () {
3974
+ var item, _loop_1, this_1, i;
3975
+ return __generator(this, function (_c) {
3976
+ switch (_c.label) {
3977
+ case 0:
3978
+ item = this.items.find(function (x) { return x.id === id; });
3979
+ if (!item) return [3 /*break*/, 5];
3980
+ _loop_1 = function (i) {
3981
+ var child;
3982
+ return __generator(this, function (_a) {
3983
+ switch (_a.label) {
3984
+ case 0:
3985
+ child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
3986
+ if (!child) return [3 /*break*/, 2];
3987
+ return [4 /*yield*/, this_1.RemoveItemById(child.id)];
3988
+ case 1:
3989
+ _a.sent();
3990
+ _a.label = 2;
3991
+ case 2: return [2 /*return*/];
3992
+ }
3993
+ });
3994
+ };
3995
+ this_1 = this;
3996
+ i = 0;
3997
+ _c.label = 1;
3998
+ case 1:
3999
+ if (!(i < item.childIds.length)) return [3 /*break*/, 4];
4000
+ return [5 /*yield**/, _loop_1(i)];
4001
+ case 2:
4002
+ _c.sent();
4003
+ _c.label = 3;
4004
+ case 3:
4005
+ i++;
4006
+ return [3 /*break*/, 1];
4007
+ case 4:
4008
+ try {
4009
+ (_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
4010
+ }
4011
+ catch (e) {
4012
+ console.error(e);
4013
+ }
4014
+ this.items = this.items.filter(function (x) { return x.id !== id; });
4015
+ (_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
4016
+ _c.label = 5;
4017
+ case 5: return [2 /*return*/];
4018
+ }
4019
+ });
4020
+ });
4021
+ };
4022
+ Manager.prototype.GetEnabledItemIds = function () {
4023
+ return this.items.map(function (x) { return x.id; });
4024
+ };
4025
+ return Manager;
4026
+ }());
4027
+ MenuItemManager.Manager = Manager;
4028
+ })(exports.MenuItemManager || (exports.MenuItemManager = {}));
4029
+
4021
4030
  exports.CesiumViewMonitor = CesiumViewMonitor;
4022
4031
  exports.MeasureAddon = MeasureAddon;
4023
4032