bruce-cesium 2.5.3 → 2.5.4

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 +279 -136
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +278 -135
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/entity-render-engine.js +134 -99
  7. package/dist/lib/rendering/entity-render-engine.js.map +1 -1
  8. package/dist/lib/rendering/menu-item-manager.js +1 -1
  9. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +17 -0
  11. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +17 -0
  13. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +1 -1
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +63 -34
  15. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +1 -1
  16. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +17 -0
  17. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +1 -1
  18. package/dist/lib/viewer/viewer-utils.js +29 -0
  19. package/dist/lib/viewer/viewer-utils.js.map +1 -1
  20. package/dist/types/bruce-cesium.d.ts +1 -1
  21. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +5 -1
  22. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +5 -1
  23. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +7 -1
  24. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +5 -1
  25. package/package.json +2 -2
@@ -2289,33 +2289,40 @@
2289
2289
  function RenderGroup(params) {
2290
2290
  var _a, _b, _c;
2291
2291
  return __awaiter(this, void 0, void 0, function () {
2292
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_2;
2293
- return __generator(this, function (_d) {
2294
- switch (_d.label) {
2292
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_2;
2293
+ return __generator(this, function (_e) {
2294
+ switch (_e.label) {
2295
2295
  case 0:
2296
2296
  api = params.apiGetter.getApi();
2297
2297
  cEntities = {};
2298
2298
  i = 0;
2299
- _d.label = 1;
2299
+ _e.label = 1;
2300
2300
  case 1:
2301
- if (!(i < params.entities.length)) return [3 /*break*/, 9];
2301
+ if (!(i < params.entities.length)) return [3 /*break*/, 11];
2302
2302
  entity = params.entities[i];
2303
2303
  zoomItem = params.zoomItems[entity.Bruce.ID];
2304
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2304
2305
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2305
2306
  case 2:
2306
- style = _d.sent();
2307
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2308
+ return [3 /*break*/, 4];
2309
+ case 3:
2310
+ _d = zoomItem.Style;
2311
+ _e.label = 4;
2312
+ case 4:
2313
+ style = _d;
2307
2314
  tagIds = entity.Bruce["Layer.ID"];
2308
2315
  tags = [];
2309
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2316
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2310
2317
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2311
2318
  api: api,
2312
2319
  tagIds: tagIds
2313
2320
  })];
2314
- case 3:
2315
- tags = (_d.sent()).tags;
2316
- _d.label = 4;
2317
- case 4:
2318
- pStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.pointStyle) !== null && _b !== void 0 ? _b : {};
2321
+ case 5:
2322
+ tags = (_e.sent()).tags;
2323
+ _e.label = 6;
2324
+ case 6:
2325
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.pointStyle) !== null && _b !== void 0 ? _b : {};
2319
2326
  return [4 /*yield*/, Render({
2320
2327
  entity: entity,
2321
2328
  style: pStyle,
@@ -2325,22 +2332,22 @@
2325
2332
  maxDistance: zoomItem.MaxZoom,
2326
2333
  minDistance: zoomItem.MinZoom
2327
2334
  })];
2328
- case 5:
2329
- cEntity = _d.sent();
2330
- if (!cEntity) return [3 /*break*/, 7];
2335
+ case 7:
2336
+ cEntity = _e.sent();
2337
+ if (!cEntity) return [3 /*break*/, 9];
2331
2338
  return [4 /*yield*/, getName(api, entity)];
2332
- case 6:
2333
- name_2 = _d.sent();
2339
+ case 8:
2340
+ name_2 = _e.sent();
2334
2341
  cEntity.name = name_2;
2335
2342
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2336
- _d.label = 7;
2337
- case 7:
2343
+ _e.label = 9;
2344
+ case 9:
2338
2345
  cEntities[entity.Bruce.ID] = cEntity;
2339
- _d.label = 8;
2340
- case 8:
2346
+ _e.label = 10;
2347
+ case 10:
2341
2348
  i++;
2342
2349
  return [3 /*break*/, 1];
2343
- case 9: return [2 /*return*/, cEntities];
2350
+ case 11: return [2 /*return*/, cEntities];
2344
2351
  }
2345
2352
  });
2346
2353
  });
@@ -2453,33 +2460,40 @@
2453
2460
  function RenderGroup(params) {
2454
2461
  var _a, _b, _c;
2455
2462
  return __awaiter(this, void 0, void 0, function () {
2456
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, lStyle, cEntity, name_3;
2457
- return __generator(this, function (_d) {
2458
- switch (_d.label) {
2463
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, lStyle, cEntity, name_3;
2464
+ return __generator(this, function (_e) {
2465
+ switch (_e.label) {
2459
2466
  case 0:
2460
2467
  api = params.apiGetter.getApi();
2461
2468
  cEntities = {};
2462
2469
  i = 0;
2463
- _d.label = 1;
2470
+ _e.label = 1;
2464
2471
  case 1:
2465
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2472
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2466
2473
  entity = params.entities[i];
2467
2474
  zoomItem = params.zoomItems[entity.Bruce.ID];
2475
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2468
2476
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2469
2477
  case 2:
2470
- style = _d.sent();
2478
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2479
+ return [3 /*break*/, 4];
2480
+ case 3:
2481
+ _d = zoomItem.Style;
2482
+ _e.label = 4;
2483
+ case 4:
2484
+ style = _d;
2471
2485
  tagIds = entity.Bruce["Layer.ID"];
2472
2486
  tags = [];
2473
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2487
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2474
2488
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2475
2489
  api: api,
2476
2490
  tagIds: tagIds
2477
2491
  })];
2478
- case 3:
2479
- tags = (_d.sent()).tags;
2480
- _d.label = 4;
2481
- case 4:
2482
- lStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.polylineStyle) !== null && _b !== void 0 ? _b : {};
2492
+ case 5:
2493
+ tags = (_e.sent()).tags;
2494
+ _e.label = 6;
2495
+ case 6:
2496
+ lStyle = (_b = style === null || style === void 0 ? void 0 : style.polylineStyle) !== null && _b !== void 0 ? _b : {};
2483
2497
  cEntity = Render({
2484
2498
  entity: entity,
2485
2499
  style: lStyle,
@@ -2488,18 +2502,18 @@
2488
2502
  maxDistance: zoomItem.MaxZoom,
2489
2503
  minDistance: zoomItem.MinZoom
2490
2504
  });
2491
- if (!cEntity) return [3 /*break*/, 6];
2505
+ if (!cEntity) return [3 /*break*/, 8];
2492
2506
  return [4 /*yield*/, getName(api, entity)];
2493
- case 5:
2494
- name_3 = _d.sent();
2507
+ case 7:
2508
+ name_3 = _e.sent();
2495
2509
  cEntity.name = name_3;
2496
2510
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2497
2511
  cEntities[entity.Bruce.ID] = cEntity;
2498
- _d.label = 6;
2499
- case 6:
2512
+ _e.label = 8;
2513
+ case 8:
2500
2514
  i++;
2501
2515
  return [3 /*break*/, 1];
2502
- case 7: return [2 /*return*/, cEntities];
2516
+ case 9: return [2 /*return*/, cEntities];
2503
2517
  }
2504
2518
  });
2505
2519
  });
@@ -2665,33 +2679,40 @@
2665
2679
  function RenderGroup(params) {
2666
2680
  var _a, _b, _c;
2667
2681
  return __awaiter(this, void 0, void 0, function () {
2668
- var api, cEntities, i, entity, zoomItem, style, tagIds, tags, pStyle, cEntity, name_4;
2669
- return __generator(this, function (_d) {
2670
- switch (_d.label) {
2682
+ var api, cEntities, i, entity, zoomItem, style, _d, tagIds, tags, pStyle, cEntity, name_4;
2683
+ return __generator(this, function (_e) {
2684
+ switch (_e.label) {
2671
2685
  case 0:
2672
2686
  api = params.apiGetter.getApi();
2673
2687
  cEntities = {};
2674
2688
  i = 0;
2675
- _d.label = 1;
2689
+ _e.label = 1;
2676
2690
  case 1:
2677
- if (!(i < params.entities.length)) return [3 /*break*/, 7];
2691
+ if (!(i < params.entities.length)) return [3 /*break*/, 9];
2678
2692
  entity = params.entities[i];
2679
2693
  zoomItem = params.zoomItems[entity.Bruce.ID];
2694
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2680
2695
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2681
2696
  case 2:
2682
- style = _d.sent();
2697
+ _d = (_a = (_e.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2698
+ return [3 /*break*/, 4];
2699
+ case 3:
2700
+ _d = zoomItem.Style;
2701
+ _e.label = 4;
2702
+ case 4:
2703
+ style = _d;
2683
2704
  tagIds = entity.Bruce["Layer.ID"];
2684
2705
  tags = [];
2685
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2706
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2686
2707
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2687
2708
  api: api,
2688
2709
  tagIds: tagIds
2689
2710
  })];
2690
- case 3:
2691
- tags = (_d.sent()).tags;
2692
- _d.label = 4;
2693
- case 4:
2694
- pStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.polygonStyle) !== null && _b !== void 0 ? _b : {};
2711
+ case 5:
2712
+ tags = (_e.sent()).tags;
2713
+ _e.label = 6;
2714
+ case 6:
2715
+ pStyle = (_b = style === null || style === void 0 ? void 0 : style.polygonStyle) !== null && _b !== void 0 ? _b : {};
2695
2716
  cEntity = Render({
2696
2717
  entity: entity,
2697
2718
  style: pStyle,
@@ -2700,18 +2721,18 @@
2700
2721
  maxDistance: zoomItem.MaxZoom,
2701
2722
  minDistance: zoomItem.MinZoom
2702
2723
  });
2703
- if (!cEntity) return [3 /*break*/, 6];
2724
+ if (!cEntity) return [3 /*break*/, 8];
2704
2725
  return [4 /*yield*/, getName(api, entity)];
2705
- case 5:
2706
- name_4 = _d.sent();
2726
+ case 7:
2727
+ name_4 = _e.sent();
2707
2728
  cEntity.name = name_4;
2708
2729
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_c = params.viewer) === null || _c === void 0 ? void 0 : _c.terrainProvider);
2709
2730
  cEntities[entity.Bruce.ID] = cEntity;
2710
- _d.label = 6;
2711
- case 6:
2731
+ _e.label = 8;
2732
+ case 8:
2712
2733
  i++;
2713
2734
  return [3 /*break*/, 1];
2714
- case 7: return [2 /*return*/, cEntities];
2735
+ case 9: return [2 /*return*/, cEntities];
2715
2736
  }
2716
2737
  });
2717
2738
  });
@@ -2797,9 +2818,9 @@
2797
2818
  function RenderGroup(params) {
2798
2819
  var _a, _b, _c, _d, _e;
2799
2820
  return __awaiter(this, void 0, void 0, function () {
2800
- var api, cEntities, reqBody, i, entity, zoomItem, style, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2801
- return __generator(this, function (_f) {
2802
- switch (_f.label) {
2821
+ var api, cEntities, reqBody, i, entity, zoomItem, style, _f, tagIds, tags, mStyle, group, level, catId, lodData, _loop_2, i;
2822
+ return __generator(this, function (_g) {
2823
+ switch (_g.label) {
2803
2824
  case 0:
2804
2825
  api = params.apiGetter.getApi();
2805
2826
  cEntities = {};
@@ -2809,26 +2830,33 @@
2809
2830
  "Items": []
2810
2831
  };
2811
2832
  i = 0;
2812
- _f.label = 1;
2833
+ _g.label = 1;
2813
2834
  case 1:
2814
- if (!(i < params.entities.length)) return [3 /*break*/, 6];
2835
+ if (!(i < params.entities.length)) return [3 /*break*/, 8];
2815
2836
  entity = params.entities[i];
2816
2837
  zoomItem = params.zoomItems[entity.Bruce.ID];
2838
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 3];
2817
2839
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2818
2840
  case 2:
2819
- style = _f.sent();
2841
+ _f = (_a = (_g.sent())) === null || _a === void 0 ? void 0 : _a.Settings;
2842
+ return [3 /*break*/, 4];
2843
+ case 3:
2844
+ _f = zoomItem.Style;
2845
+ _g.label = 4;
2846
+ case 4:
2847
+ style = _f;
2820
2848
  tagIds = entity.Bruce["Layer.ID"];
2821
2849
  tags = [];
2822
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 4];
2850
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 6];
2823
2851
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2824
2852
  api: api,
2825
2853
  tagIds: tagIds
2826
2854
  })];
2827
- case 3:
2828
- tags = (_f.sent()).tags;
2829
- _f.label = 4;
2830
- case 4:
2831
- mStyle = (_b = (_a = style === null || style === void 0 ? void 0 : style.Settings) === null || _a === void 0 ? void 0 : _a.modelStyle) !== null && _b !== void 0 ? _b : {};
2855
+ case 5:
2856
+ tags = (_g.sent()).tags;
2857
+ _g.label = 6;
2858
+ case 6:
2859
+ mStyle = (_b = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _b !== void 0 ? _b : {};
2832
2860
  group = mStyle.lodGroup ? bruceModels.Calculator.GetString(mStyle.lodGroup, entity, tags) : null;
2833
2861
  if (!group) {
2834
2862
  group = "DEFAULT";
@@ -2847,42 +2875,49 @@
2847
2875
  "group": group,
2848
2876
  "level": level
2849
2877
  });
2850
- _f.label = 5;
2851
- case 5:
2878
+ _g.label = 7;
2879
+ case 7:
2852
2880
  i++;
2853
2881
  return [3 /*break*/, 1];
2854
- case 6: return [4 /*yield*/, bruceModels.EntityLod.GetLods({
2882
+ case 8: return [4 /*yield*/, bruceModels.EntityLod.GetLods({
2855
2883
  api: api,
2856
2884
  filter: reqBody
2857
2885
  })];
2858
- case 7:
2859
- lodData = (_f.sent()).lods;
2886
+ case 9:
2887
+ lodData = (_g.sent()).lods;
2860
2888
  _loop_2 = function (i) {
2861
- var entity, zoomItem, style, tagIds, tags, lod, mStyle, cEntity, name_5;
2862
- return __generator(this, function (_g) {
2863
- switch (_g.label) {
2889
+ var entity, zoomItem, style, _h, tagIds, tags, lod, mStyle, cEntity, name_5;
2890
+ return __generator(this, function (_j) {
2891
+ switch (_j.label) {
2864
2892
  case 0:
2865
2893
  entity = params.entities[i];
2866
2894
  zoomItem = params.zoomItems[entity.Bruce.ID];
2895
+ if (!(zoomItem.StyleID != -1)) return [3 /*break*/, 2];
2867
2896
  return [4 /*yield*/, getStyle(api, entity, zoomItem.StyleID)];
2868
2897
  case 1:
2869
- style = _g.sent();
2898
+ _h = (_c = (_j.sent())) === null || _c === void 0 ? void 0 : _c.Settings;
2899
+ return [3 /*break*/, 3];
2900
+ case 2:
2901
+ _h = zoomItem.Style;
2902
+ _j.label = 3;
2903
+ case 3:
2904
+ style = _h;
2870
2905
  tagIds = entity.Bruce["Layer.ID"];
2871
2906
  tags = [];
2872
- if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 3];
2907
+ if (!(tagIds && tagIds.length > 0)) return [3 /*break*/, 5];
2873
2908
  return [4 /*yield*/, bruceModels.EntityTag.GetListByIds({
2874
2909
  api: api,
2875
2910
  tagIds: tagIds
2876
2911
  })];
2877
- case 2:
2878
- tags = (_g.sent()).tags;
2879
- _g.label = 3;
2880
- case 3:
2912
+ case 4:
2913
+ tags = (_j.sent()).tags;
2914
+ _j.label = 5;
2915
+ case 5:
2881
2916
  lod = lodData.find(function (x) { return x.entityId == entity.Bruce.ID; });
2882
2917
  if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
2883
2918
  return [2 /*return*/, "continue"];
2884
2919
  }
2885
- mStyle = (_d = (_c = style === null || style === void 0 ? void 0 : style.Settings) === null || _c === void 0 ? void 0 : _c.modelStyle) !== null && _d !== void 0 ? _d : {};
2920
+ mStyle = (_d = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _d !== void 0 ? _d : {};
2886
2921
  cEntity = Render({
2887
2922
  entity: entity,
2888
2923
  style: mStyle,
@@ -2896,30 +2931,30 @@
2896
2931
  maxDistance: zoomItem.MaxZoom,
2897
2932
  minDistance: zoomItem.MinZoom
2898
2933
  });
2899
- if (!cEntity) return [3 /*break*/, 5];
2934
+ if (!cEntity) return [3 /*break*/, 7];
2900
2935
  return [4 /*yield*/, getName(api, entity)];
2901
- case 4:
2902
- name_5 = _g.sent();
2936
+ case 6:
2937
+ name_5 = _j.sent();
2903
2938
  cEntity.name = name_5;
2904
2939
  cEntity._renderGroup = getRenderGroupId(zoomItem, (_e = params.viewer) === null || _e === void 0 ? void 0 : _e.terrainProvider);
2905
2940
  cEntities[entity.Bruce.ID] = cEntity;
2906
- _g.label = 5;
2907
- case 5: return [2 /*return*/];
2941
+ _j.label = 7;
2942
+ case 7: return [2 /*return*/];
2908
2943
  }
2909
2944
  });
2910
2945
  };
2911
2946
  i = 0;
2912
- _f.label = 8;
2913
- case 8:
2914
- if (!(i < params.entities.length)) return [3 /*break*/, 11];
2915
- return [5 /*yield**/, _loop_2(i)];
2916
- case 9:
2917
- _f.sent();
2918
- _f.label = 10;
2947
+ _g.label = 10;
2919
2948
  case 10:
2949
+ if (!(i < params.entities.length)) return [3 /*break*/, 13];
2950
+ return [5 /*yield**/, _loop_2(i)];
2951
+ case 11:
2952
+ _g.sent();
2953
+ _g.label = 12;
2954
+ case 12:
2920
2955
  i++;
2921
- return [3 /*break*/, 8];
2922
- case 11: return [2 /*return*/, cEntities];
2956
+ return [3 /*break*/, 10];
2957
+ case 13: return [2 /*return*/, cEntities];
2923
2958
  }
2924
2959
  });
2925
2960
  });
@@ -5247,7 +5282,7 @@
5247
5282
  });
5248
5283
  Manager.prototype.Init = function (params) {
5249
5284
  var _this = this;
5250
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5285
+ var _a, _b, _c, _d, _e, _f;
5251
5286
  if (this.disposed) {
5252
5287
  throw (new Error("This item is disposed."));
5253
5288
  }
@@ -5273,13 +5308,10 @@
5273
5308
  }
5274
5309
  tagsToRender = [].concat(tagsToRender);
5275
5310
  var shouldRender = !isTagItem || tagsToRender.length > 0;
5276
- (_b = this.getter) === null || _b === void 0 ? void 0 : _b.ExcludeMenuItem(this.item.id);
5277
- this.getter = null;
5278
- (_c = this.getterSub) === null || _c === void 0 ? void 0 : _c.call(this);
5279
- this.getterSub = null;
5280
- (_d = this.viewMonitorRemoval) === null || _d === void 0 ? void 0 : _d.call(this);
5311
+ this.unsetGetter();
5312
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5281
5313
  this.viewMonitorRemoval = null;
5282
- (_e = this.entityCheckQueue) === null || _e === void 0 ? void 0 : _e.Dispose();
5314
+ (_c = this.entityCheckQueue) === null || _c === void 0 ? void 0 : _c.Dispose();
5283
5315
  this.entityCheckQueue = null;
5284
5316
  clearInterval(this.renderQueueInterval);
5285
5317
  this.renderQueueInterval = null;
@@ -5291,22 +5323,39 @@
5291
5323
  menuItemId: this.item.id,
5292
5324
  retainTagIds: tagsToRender
5293
5325
  });
5294
- (_f = this.clustering) === null || _f === void 0 ? void 0 : _f.Dispose();
5326
+ (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5295
5327
  }
5296
5328
  else {
5297
5329
  this.visualsManager.RemoveRegos({
5298
5330
  menuItemId: this.item.id
5299
5331
  });
5300
- (_g = this.clustering) === null || _g === void 0 ? void 0 : _g.Dispose();
5332
+ (_e = this.clustering) === null || _e === void 0 ? void 0 : _e.Dispose();
5301
5333
  return;
5302
5334
  }
5303
5335
  if (this.item.enableClustering) {
5304
- this.clustering = new PointClustering(this.visualsManager, this.item.id, (_h = this.item) === null || _h === void 0 ? void 0 : _h.clustering);
5336
+ this.clustering = new PointClustering(this.visualsManager, this.item.id, (_f = this.item) === null || _f === void 0 ? void 0 : _f.clustering);
5305
5337
  }
5306
- var api = this.apiGetter.getApi();
5338
+ this.setGetter();
5339
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5340
+ _this.entityCheckQueue.Call();
5341
+ });
5342
+ this.entityCheckQueue = new bruceModels.DelayQueue(function () {
5343
+ var _a;
5344
+ // Don't bother checking for zoom control changes if we only have 1 item.
5345
+ // We'll let Cesium handle hide/show at max zoom range.
5346
+ var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5347
+ if (shouldCheck) {
5348
+ _this.doEntityCheck(Object.keys(_this.renderedEntities));
5349
+ }
5350
+ }, 3000);
5351
+ };
5352
+ Manager.prototype.setGetter = function () {
5353
+ var _this = this;
5354
+ var _a;
5355
+ this.unsetGetter();
5307
5356
  this.getter = this.sharedGetters.GetOrCreateFilterGetter({
5308
- api: api,
5309
- attrFilter: (_j = this.item.BruceEntity.Filter) !== null && _j !== void 0 ? _j : {},
5357
+ api: this.apiGetter.getApi(),
5358
+ attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
5310
5359
  batchSize: BATCH_SIZE,
5311
5360
  typeId: this.item.BruceEntity["EntityType.ID"],
5312
5361
  monitor: this.monitor,
@@ -5318,6 +5367,12 @@
5318
5367
  zoomControl: this.item.CameraZoomSettings
5319
5368
  });
5320
5369
  this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
5370
+ var isTagItem = Boolean(this.item.BruceEntity.ExpandLayers);
5371
+ var tagsToRender = isTagItem ? this.item.BruceEntity.SelectedExpandLayers : null;
5372
+ if (!tagsToRender) {
5373
+ tagsToRender = [];
5374
+ }
5375
+ tagsToRender = [].concat(tagsToRender);
5321
5376
  this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
5322
5377
  if (isTagItem) {
5323
5378
  _this.distributeForRender(entities.filter(function (entity) {
@@ -5334,18 +5389,13 @@
5334
5389
  _this.distributeForRender(entities);
5335
5390
  }
5336
5391
  });
5337
- this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
5338
- _this.entityCheckQueue.Call();
5339
- });
5340
- this.entityCheckQueue = new bruceModels.DelayQueue(function () {
5341
- var _a;
5342
- // Don't bother checking for zoom control changes if we only have 1 item.
5343
- // We'll let Cesium handle hide/show at max zoom range.
5344
- var shouldCheck = ((_a = _this.item) === null || _a === void 0 ? void 0 : _a.CameraZoomSettings) && _this.item.CameraZoomSettings.length > 1;
5345
- if (shouldCheck) {
5346
- _this.doEntityCheck(Object.keys(_this.renderedEntities));
5347
- }
5348
- }, 3000);
5392
+ };
5393
+ Manager.prototype.unsetGetter = function () {
5394
+ var _a, _b;
5395
+ (_a = this.getter) === null || _a === void 0 ? void 0 : _a.ExcludeMenuItem(this.item.id);
5396
+ this.getter = null;
5397
+ (_b = this.getterSub) === null || _b === void 0 ? void 0 : _b.call(this);
5398
+ this.getterSub = null;
5349
5399
  };
5350
5400
  Manager.prototype.Dispose = function () {
5351
5401
  if (this.disposed) {
@@ -5354,21 +5404,17 @@
5354
5404
  this.doDispose();
5355
5405
  };
5356
5406
  Manager.prototype.doDispose = function () {
5357
- var _a, _b, _c, _d;
5358
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
5359
- this.getterSub = null;
5360
- if (this.getter) {
5361
- this.getter.ExcludeMenuItem(this.item.id);
5362
- }
5407
+ var _a, _b, _c;
5408
+ this.unsetGetter();
5363
5409
  this.disposed = true;
5364
5410
  this.visualsManager.RemoveRegos({
5365
5411
  menuItemId: this.item.id
5366
5412
  });
5367
- (_b = this.entityCheckRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5368
- (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
5413
+ (_a = this.entityCheckRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
5414
+ (_b = this.viewMonitorRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
5369
5415
  clearInterval(this.renderQueueInterval);
5370
5416
  this.renderQueue = [];
5371
- (_d = this.clustering) === null || _d === void 0 ? void 0 : _d.Dispose();
5417
+ (_c = this.clustering) === null || _c === void 0 ? void 0 : _c.Dispose();
5372
5418
  };
5373
5419
  Manager.prototype.ReRender = function (params) {
5374
5420
  return __awaiter(this, void 0, void 0, function () {
@@ -5422,6 +5468,24 @@
5422
5468
  });
5423
5469
  });
5424
5470
  };
5471
+ Manager.prototype.UpdateSettings = function (params) {
5472
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5473
+ if (this.disposed) {
5474
+ return;
5475
+ }
5476
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5477
+ this.item.CameraZoomSettings = CameraZoomSettings;
5478
+ this.setGetter();
5479
+ }
5480
+ if (queueRerender != false) {
5481
+ var entityIds = Object.keys(this.renderedEntities);
5482
+ this.visualsManager.MarkStale({
5483
+ entityIds: entityIds,
5484
+ menuItemIds: [this.item.id]
5485
+ });
5486
+ this.doEntityCheck(entityIds);
5487
+ }
5488
+ };
5425
5489
  Manager.prototype.doEntityCheck = function (ids) {
5426
5490
  return __awaiter(this, void 0, void 0, function () {
5427
5491
  var api, checkBatch, e_2;
@@ -5698,6 +5762,23 @@
5698
5762
  });
5699
5763
  });
5700
5764
  };
5765
+ Manager.prototype.UpdateSettings = function (params) {
5766
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
5767
+ if (this.disposed) {
5768
+ return;
5769
+ }
5770
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
5771
+ this.item.CameraZoomSettings = CameraZoomSettings;
5772
+ }
5773
+ if (queueRerender != false) {
5774
+ var entityIds = Object.keys(this.renderedEntities);
5775
+ this.visualsManager.MarkStale({
5776
+ entityIds: entityIds,
5777
+ menuItemIds: [this.item.id]
5778
+ });
5779
+ this.doEntityCheck(entityIds);
5780
+ }
5781
+ };
5701
5782
  Manager.prototype.doEntityCheck = function (ids, force) {
5702
5783
  if (force === void 0) { force = false; }
5703
5784
  return __awaiter(this, void 0, void 0, function () {
@@ -5924,6 +6005,23 @@
5924
6005
  });
5925
6006
  });
5926
6007
  };
6008
+ Manager.prototype.UpdateSettings = function (params) {
6009
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6010
+ if (this.disposed) {
6011
+ return;
6012
+ }
6013
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6014
+ this.item.CameraZoomSettings = CameraZoomSettings;
6015
+ }
6016
+ if (queueRerender != false) {
6017
+ var entityIds = Object.keys(this.renderedEntities);
6018
+ this.visualsManager.MarkStale({
6019
+ entityIds: entityIds,
6020
+ menuItemIds: [this.item.id]
6021
+ });
6022
+ this.onGetterUpdate(entityIds);
6023
+ }
6024
+ };
5927
6025
  Manager.prototype.onGetterUpdate = function (entityIds, force) {
5928
6026
  if (force === void 0) { force = false; }
5929
6027
  return __awaiter(this, void 0, void 0, function () {
@@ -6154,6 +6252,23 @@
6154
6252
  });
6155
6253
  });
6156
6254
  };
6255
+ Manager.prototype.UpdateSettings = function (params) {
6256
+ var CameraZoomSettings = params.zoomControl, queueRerender = params.queueRerender;
6257
+ if (this.disposed) {
6258
+ return;
6259
+ }
6260
+ if (CameraZoomSettings === null || CameraZoomSettings === void 0 ? void 0 : CameraZoomSettings.length) {
6261
+ this.item.CameraZoomSettings = CameraZoomSettings;
6262
+ }
6263
+ if (queueRerender != false) {
6264
+ var entityId = this.item.BruceEntity.EntityId;
6265
+ this.visualsManager.MarkStale({
6266
+ entityIds: [entityId],
6267
+ menuItemIds: [this.item.id]
6268
+ });
6269
+ this.onGetterUpdate(entityId, true);
6270
+ }
6271
+ };
6157
6272
  Manager.prototype.renderEntity = function (entity, force) {
6158
6273
  var _a;
6159
6274
  if (force === void 0) { force = false; }
@@ -9089,7 +9204,7 @@
9089
9204
  if (rItem.renderManager && !((_c = rItem.renderManager) === null || _c === void 0 ? void 0 : _c.Disposed)) {
9090
9205
  (_d = this.onUpdate) === null || _d === void 0 ? void 0 : _d.Trigger({ isEnabling: true, itemId: rItem.id });
9091
9206
  }
9092
- rItem.id;
9207
+ return rItem.id;
9093
9208
  };
9094
9209
  /**
9095
9210
  * Disables a menu item by its id.
@@ -14661,6 +14776,30 @@
14661
14776
  }(Widget.AWidget));
14662
14777
 
14663
14778
  var CESIUM_VIEWER_MANAGER_KEY = "_cesiumViewerManager";
14779
+ /**
14780
+ * Bug related to entities not being visible after they were added then a render was requested.
14781
+ * It was 4 point entities in York. They would not appear until a request render was recalled.
14782
+ * Adding this slow render loop as a band-aid fix.
14783
+ */
14784
+ var BACKGROUND_RENDERING_KEY = "_backgroundRendering";
14785
+ function backgroundRendering(viewer) {
14786
+ if (viewer[BACKGROUND_RENDERING_KEY]) {
14787
+ return;
14788
+ }
14789
+ viewer[BACKGROUND_RENDERING_KEY] = true;
14790
+ var interval = setInterval(function () {
14791
+ if (!(viewer === null || viewer === void 0 ? void 0 : viewer.scene) || viewer.isDestroyed()) {
14792
+ clearInterval(interval);
14793
+ return;
14794
+ }
14795
+ // Check if last render time is greater than 3 seconds ago.
14796
+ // We check in case something else is also requesting renders.
14797
+ var lastRenderTime = viewer.scene.lastRenderTime;
14798
+ if (!lastRenderTime || Cesium.JulianDate.secondsDifference(Cesium.JulianDate.now(), lastRenderTime) > 3) {
14799
+ viewer.scene.requestRender();
14800
+ }
14801
+ }, 3500);
14802
+ }
14664
14803
  (function (ViewerUtils) {
14665
14804
  /**
14666
14805
  * Destroys all the junk that cesium viewer ships with.
@@ -14685,6 +14824,7 @@
14685
14824
  viewer: viewer
14686
14825
  });
14687
14826
  }
14827
+ backgroundRendering(viewer);
14688
14828
  return data;
14689
14829
  }
14690
14830
  ViewerUtils.InitViewer = InitViewer;
@@ -14702,6 +14842,9 @@
14702
14842
  var _a;
14703
14843
  var viewer = params.viewer;
14704
14844
  var container = viewer.container;
14845
+ if (!container.style.position) {
14846
+ container.style.position = "relative";
14847
+ }
14705
14848
  var genContainer = (_a = container.getElementsByClassName("cesium-viewer")) === null || _a === void 0 ? void 0 : _a[0];
14706
14849
  if (genContainer) {
14707
14850
  var children = genContainer.children;
@@ -14805,7 +14948,7 @@
14805
14948
  ViewerUtils.CreateWidgets = CreateWidgets;
14806
14949
  })(exports.ViewerUtils || (exports.ViewerUtils = {}));
14807
14950
 
14808
- var VERSION$1 = "2.5.3";
14951
+ var VERSION$1 = "2.5.4";
14809
14952
 
14810
14953
  exports.VERSION = VERSION$1;
14811
14954
  exports.CesiumViewMonitor = CesiumViewMonitor;