bruce-models 0.9.0 → 0.9.2

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 (137) hide show
  1. package/dist/bruce-models.es5.js +2532 -3859
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +2533 -3858
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account.js +67 -144
  6. package/dist/lib/account/account.js.map +1 -1
  7. package/dist/lib/ann-document/ann-document.js +33 -77
  8. package/dist/lib/ann-document/ann-document.js.map +1 -1
  9. package/dist/lib/api/abstract-api.js +137 -220
  10. package/dist/lib/api/abstract-api.js.map +1 -1
  11. package/dist/lib/api/api.js +6 -17
  12. package/dist/lib/api/api.js.map +1 -1
  13. package/dist/lib/api/bruce-api.js +109 -183
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +34 -85
  16. package/dist/lib/api/cam-api.js.map +1 -1
  17. package/dist/lib/api/global-api.js +33 -84
  18. package/dist/lib/api/global-api.js.map +1 -1
  19. package/dist/lib/api/idm-api.js +34 -85
  20. package/dist/lib/api/idm-api.js.map +1 -1
  21. package/dist/lib/bruce-models.js +1 -0
  22. package/dist/lib/bruce-models.js.map +1 -1
  23. package/dist/lib/calculator/calculator.js +35 -35
  24. package/dist/lib/calculator/calculator.js.map +1 -1
  25. package/dist/lib/client-file/client-file.js +60 -111
  26. package/dist/lib/client-file/client-file.js.map +1 -1
  27. package/dist/lib/common/bruce-event.js +19 -21
  28. package/dist/lib/common/bruce-event.js.map +1 -1
  29. package/dist/lib/common/bruce-variable.js +7 -7
  30. package/dist/lib/common/bruce-variable.js.map +1 -1
  31. package/dist/lib/common/cache.js +51 -55
  32. package/dist/lib/common/cache.js.map +1 -1
  33. package/dist/lib/common/camera.js +1 -1
  34. package/dist/lib/common/carto.js +3 -3
  35. package/dist/lib/common/carto.js.map +1 -1
  36. package/dist/lib/common/color.js +10 -10
  37. package/dist/lib/common/color.js.map +1 -1
  38. package/dist/lib/common/delay-queue.js +17 -21
  39. package/dist/lib/common/delay-queue.js.map +1 -1
  40. package/dist/lib/common/geometry.js +30 -30
  41. package/dist/lib/common/geometry.js.map +1 -1
  42. package/dist/lib/common/utc.js +1 -1
  43. package/dist/lib/custom-form/custom-form-content.js +2 -2
  44. package/dist/lib/custom-form/custom-form.js +37 -85
  45. package/dist/lib/custom-form/custom-form.js.map +1 -1
  46. package/dist/lib/data-lab/data-lab.js +22 -63
  47. package/dist/lib/data-lab/data-lab.js.map +1 -1
  48. package/dist/lib/entity/entity-attachment-type.js +32 -88
  49. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  50. package/dist/lib/entity/entity-attachment.js +70 -154
  51. package/dist/lib/entity/entity-attachment.js.map +1 -1
  52. package/dist/lib/entity/entity-comment.js +34 -91
  53. package/dist/lib/entity/entity-comment.js.map +1 -1
  54. package/dist/lib/entity/entity-coords.js +73 -138
  55. package/dist/lib/entity/entity-coords.js.map +1 -1
  56. package/dist/lib/entity/entity-link.js +34 -91
  57. package/dist/lib/entity/entity-link.js.map +1 -1
  58. package/dist/lib/entity/entity-lod.js +52 -117
  59. package/dist/lib/entity/entity-lod.js.map +1 -1
  60. package/dist/lib/entity/entity-relation-type.js +47 -106
  61. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  62. package/dist/lib/entity/entity-relation.js +64 -136
  63. package/dist/lib/entity/entity-relation.js.map +1 -1
  64. package/dist/lib/entity/entity-source.js +67 -136
  65. package/dist/lib/entity/entity-source.js.map +1 -1
  66. package/dist/lib/entity/entity-tag.js +79 -175
  67. package/dist/lib/entity/entity-tag.js.map +1 -1
  68. package/dist/lib/entity/entity-type-visual-settings.js +14 -0
  69. package/dist/lib/entity/entity-type-visual-settings.js.map +1 -0
  70. package/dist/lib/entity/entity-type.js +52 -111
  71. package/dist/lib/entity/entity-type.js.map +1 -1
  72. package/dist/lib/entity/entity.js +149 -245
  73. package/dist/lib/entity/entity.js.map +1 -1
  74. package/dist/lib/entity/getters/batched-data-getter.js +35 -42
  75. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  76. package/dist/lib/entity/getters/entity-filter-getter.js +163 -234
  77. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  78. package/dist/lib/entity/getters/entity-globe.js +64 -75
  79. package/dist/lib/entity/getters/entity-globe.js.map +1 -1
  80. package/dist/lib/import/import-cad.js +6 -37
  81. package/dist/lib/import/import-cad.js.map +1 -1
  82. package/dist/lib/import/import-csv.js +3 -32
  83. package/dist/lib/import/import-csv.js.map +1 -1
  84. package/dist/lib/import/import-json.js +3 -32
  85. package/dist/lib/import/import-json.js.map +1 -1
  86. package/dist/lib/import/import-kml.js +3 -32
  87. package/dist/lib/import/import-kml.js.map +1 -1
  88. package/dist/lib/import/imported-file.js +40 -84
  89. package/dist/lib/import/imported-file.js.map +1 -1
  90. package/dist/lib/markup/markup.js +20 -18
  91. package/dist/lib/markup/markup.js.map +1 -1
  92. package/dist/lib/program-key/program-key.js +44 -103
  93. package/dist/lib/program-key/program-key.js.map +1 -1
  94. package/dist/lib/project/menu-item.js +4 -4
  95. package/dist/lib/project/menu-item.js.map +1 -1
  96. package/dist/lib/project/project-view-bookmark.js +57 -125
  97. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  98. package/dist/lib/project/project-view-legacy-tile.js +22 -70
  99. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  100. package/dist/lib/project/project-view-tile.js +2 -2
  101. package/dist/lib/project/project-view.js +62 -124
  102. package/dist/lib/project/project-view.js.map +1 -1
  103. package/dist/lib/project/zoom-control.js +1 -1
  104. package/dist/lib/server/message-broker.js +50 -68
  105. package/dist/lib/server/message-broker.js.map +1 -1
  106. package/dist/lib/server/pending-action.js +24 -69
  107. package/dist/lib/server/pending-action.js.map +1 -1
  108. package/dist/lib/server/task.js +30 -85
  109. package/dist/lib/server/task.js.map +1 -1
  110. package/dist/lib/style/style.js +33 -86
  111. package/dist/lib/style/style.js.map +1 -1
  112. package/dist/lib/tileset/tileset-entities-map-tiles.js +1 -1
  113. package/dist/lib/tileset/tileset-ext-map-tiles.js +1 -1
  114. package/dist/lib/tileset/tileset.js +130 -267
  115. package/dist/lib/tileset/tileset.js.map +1 -1
  116. package/dist/lib/user/permission.js +2 -2
  117. package/dist/lib/user/session.js +43 -90
  118. package/dist/lib/user/session.js.map +1 -1
  119. package/dist/lib/user/user-group.js +34 -96
  120. package/dist/lib/user/user-group.js.map +1 -1
  121. package/dist/lib/user/user.js +165 -304
  122. package/dist/lib/user/user.js.map +1 -1
  123. package/dist/lib/util/encrypt-utils.js +3 -4
  124. package/dist/lib/util/encrypt-utils.js.map +1 -1
  125. package/dist/lib/util/math-utils.js +4 -5
  126. package/dist/lib/util/math-utils.js.map +1 -1
  127. package/dist/lib/util/object-utils.js +1 -1
  128. package/dist/lib/util/object-utils.js.map +1 -1
  129. package/dist/lib/util/path-utils.js +14 -14
  130. package/dist/lib/util/path-utils.js.map +1 -1
  131. package/dist/lib/util/url-utils.js +46 -59
  132. package/dist/lib/util/url-utils.js.map +1 -1
  133. package/dist/types/bruce-models.d.ts +1 -0
  134. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -0
  135. package/dist/types/entity/entity-type.d.ts +2 -0
  136. package/dist/types/markup/markup.d.ts +14 -18
  137. package/package.json +1 -1
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BatchedDataGetter = void 0;
4
- var bruce_event_1 = require("../../common/bruce-event");
5
- var MAX_AREA_IN_DEGREES = 90;
6
- var GETTER_DELAY = 50;
4
+ const bruce_event_1 = require("../../common/bruce-event");
5
+ const MAX_AREA_IN_DEGREES = 90;
6
+ const GETTER_DELAY = 50;
7
7
  /**
8
8
  * This is a batched "arbitrary data" getter.
9
9
  * You feed it an array of data, then it will emit that data in batches when the view changes.
10
10
  */
11
11
  var BatchedDataGetter;
12
12
  (function (BatchedDataGetter) {
13
- var Getter = /** @class */ (function () {
14
- function Getter(data, viewPort, batchSize) {
13
+ class Getter {
14
+ constructor(data, viewPort, batchSize) {
15
15
  this.viewPortRemoval = null;
16
16
  this.viewRect = null;
17
17
  this.viewCenter = null;
@@ -20,34 +20,29 @@ var BatchedDataGetter;
20
20
  this.viewPort = viewPort;
21
21
  this.batchSize = batchSize;
22
22
  }
23
- Object.defineProperty(Getter.prototype, "OnUpdate", {
24
- get: function () {
25
- if (!this.onUpdate) {
26
- this.onUpdate = new bruce_event_1.BruceEvent();
27
- }
28
- return this.onUpdate;
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- Getter.prototype.Start = function () {
34
- var _this = this;
35
- this.viewPortRemoval = this.viewPort.Updated().Subscribe(function () {
36
- _this.updateViewport();
23
+ get OnUpdate() {
24
+ if (!this.onUpdate) {
25
+ this.onUpdate = new bruce_event_1.BruceEvent();
26
+ }
27
+ return this.onUpdate;
28
+ }
29
+ Start() {
30
+ this.viewPortRemoval = this.viewPort.Updated().Subscribe(() => {
31
+ this.updateViewport();
37
32
  });
38
33
  this.updateViewport();
39
- };
40
- Getter.prototype.Dispose = function () {
34
+ }
35
+ Dispose() {
41
36
  var _a;
42
37
  (_a = this.viewPortRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
43
- };
44
- Getter.prototype.updateViewport = function () {
38
+ }
39
+ updateViewport() {
45
40
  this.updateBounds();
46
41
  this.startGetterLoop();
47
- };
48
- Getter.prototype.updateBounds = function () {
49
- var viewRect = this.viewPort.GetBounds();
50
- var poi = this.viewPort.GetTarget();
42
+ }
43
+ updateBounds() {
44
+ const viewRect = this.viewPort.GetBounds();
45
+ const poi = this.viewPort.GetTarget();
51
46
  if (viewRect && poi) {
52
47
  if (Math.abs(viewRect.west - viewRect.east) > MAX_AREA_IN_DEGREES) {
53
48
  return;
@@ -58,35 +53,33 @@ var BatchedDataGetter;
58
53
  this.viewRect = viewRect;
59
54
  this.viewCenter = poi;
60
55
  }
61
- };
62
- Getter.prototype.startGetterLoop = function () {
63
- var _this = this;
56
+ }
57
+ startGetterLoop() {
64
58
  clearInterval(this.getterInterval);
65
59
  if (!this.viewRect || !this.viewCenter) {
66
60
  return;
67
61
  }
68
- var index = 0;
69
- var onTick = function () {
70
- _this.processBatch(_this.data.slice(index, index + _this.batchSize));
71
- index += _this.batchSize;
72
- return index >= _this.data.length;
62
+ let index = 0;
63
+ const onTick = () => {
64
+ this.processBatch(this.data.slice(index, index + this.batchSize));
65
+ index += this.batchSize;
66
+ return index >= this.data.length;
73
67
  };
74
68
  if (!onTick()) {
75
- this.getterInterval = setInterval(function () {
69
+ this.getterInterval = setInterval(() => {
76
70
  if (onTick()) {
77
- clearInterval(_this.getterInterval);
71
+ clearInterval(this.getterInterval);
78
72
  }
79
73
  }, GETTER_DELAY);
80
74
  }
81
- };
82
- Getter.prototype.processBatch = function (batch) {
75
+ }
76
+ processBatch(batch) {
83
77
  var _a;
84
78
  if (batch.length > 0) {
85
79
  (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(batch);
86
80
  }
87
- };
88
- return Getter;
89
- }());
81
+ }
82
+ }
90
83
  BatchedDataGetter.Getter = Getter;
91
84
  })(BatchedDataGetter = exports.BatchedDataGetter || (exports.BatchedDataGetter = {}));
92
85
  //# sourceMappingURL=batched-data-getter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batched-data-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/batched-data-getter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batched-data-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/batched-data-getter.ts"],"names":[],"mappings":"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"}
@@ -8,59 +8,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
11
  Object.defineProperty(exports, "__esModule", { value: true });
39
12
  exports.EntityFilterGetter = void 0;
40
- var api_1 = require("../../api/api");
41
- var bruce_event_1 = require("../../common/bruce-event");
42
- var entity_1 = require("../entity");
43
- var entity_globe_1 = require("./entity-globe");
44
- var MAX_AREA_IN_DEGREES = 90;
45
- var MAX_RETRY_ATTEMPTS = 1;
46
- var RETRY_DELAY_INCREMENT = 500;
47
- var REQUEST_PAGE_DELAY = 50;
48
- var regMenuItemGetter = /** @class */ (function () {
49
- function regMenuItemGetter(tagIds, minHeight, maxHeight) {
13
+ const api_1 = require("../../api/api");
14
+ const bruce_event_1 = require("../../common/bruce-event");
15
+ const entity_1 = require("../entity");
16
+ const entity_globe_1 = require("./entity-globe");
17
+ const MAX_AREA_IN_DEGREES = 90;
18
+ const MAX_RETRY_ATTEMPTS = 1;
19
+ const RETRY_DELAY_INCREMENT = 500;
20
+ const REQUEST_PAGE_DELAY = 50;
21
+ class regMenuItemGetter {
22
+ constructor(tagIds, minHeight, maxHeight) {
50
23
  this.TagIds = tagIds;
51
24
  this.MinHeight = minHeight;
52
25
  this.MaxHeight = maxHeight;
53
26
  }
54
- return regMenuItemGetter;
55
- }());
27
+ }
56
28
  function delay(milliseconds) {
57
- return __awaiter(this, void 0, void 0, function () {
58
- return __generator(this, function (_a) {
59
- return [2 /*return*/, new Promise(function (res) {
60
- setTimeout(function () {
61
- res();
62
- }, milliseconds);
63
- })];
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return new Promise((res) => {
31
+ setTimeout(() => {
32
+ res();
33
+ }, milliseconds);
64
34
  });
65
35
  });
66
36
  }
@@ -71,13 +41,13 @@ function delay(milliseconds) {
71
41
  */
72
42
  var EntityFilterGetter;
73
43
  (function (EntityFilterGetter) {
74
- var EStatus;
44
+ let EStatus;
75
45
  (function (EStatus) {
76
46
  EStatus["Scanning"] = "SCANNING";
77
47
  EStatus["Loading"] = "LOADING";
78
48
  })(EStatus = EntityFilterGetter.EStatus || (EntityFilterGetter.EStatus = {}));
79
- var Getter = /** @class */ (function () {
80
- function Getter(api, viewPort, typeId, batchSize, attrFilter) {
49
+ class Getter {
50
+ constructor(api, viewPort, typeId, batchSize, attrFilter) {
81
51
  this.onUpdate = null;
82
52
  this.LastStateUpdates = {};
83
53
  this.onStateUpdate = null;
@@ -97,53 +67,44 @@ var EntityFilterGetter;
97
67
  this.attrFilter = attrFilter;
98
68
  this.updateBounds();
99
69
  }
100
- Object.defineProperty(Getter.prototype, "OnUpdate", {
101
- get: function () {
102
- if (!this.onUpdate) {
103
- this.onUpdate = new bruce_event_1.BruceEvent();
104
- }
105
- return this.onUpdate;
106
- },
107
- enumerable: false,
108
- configurable: true
109
- });
110
- Object.defineProperty(Getter.prototype, "OnStateUpdate", {
111
- get: function () {
112
- if (!this.onStateUpdate) {
113
- this.onStateUpdate = new bruce_event_1.BruceEvent();
114
- }
115
- return this.onStateUpdate;
116
- },
117
- enumerable: false,
118
- configurable: true
119
- });
120
- Getter.prototype.viewAreaSub = function () {
121
- var _this = this;
70
+ get OnUpdate() {
71
+ if (!this.onUpdate) {
72
+ this.onUpdate = new bruce_event_1.BruceEvent();
73
+ }
74
+ return this.onUpdate;
75
+ }
76
+ get OnStateUpdate() {
77
+ if (!this.onStateUpdate) {
78
+ this.onStateUpdate = new bruce_event_1.BruceEvent();
79
+ }
80
+ return this.onStateUpdate;
81
+ }
82
+ viewAreaSub() {
122
83
  this.viewAreaDispose();
123
- this.viewPortChangeRemoval = this.viewPort.Updated().Subscribe(function () {
124
- _this.updateBounds();
125
- _this.startGetterLoop();
84
+ this.viewPortChangeRemoval = this.viewPort.Updated().Subscribe(() => {
85
+ this.updateBounds();
86
+ this.startGetterLoop();
126
87
  });
127
- };
128
- Getter.prototype.viewAreaDispose = function () {
88
+ }
89
+ viewAreaDispose() {
129
90
  var _a;
130
91
  (_a = this.viewPortChangeRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
131
- };
132
- Getter.prototype.GetMenuItems = function () {
92
+ }
93
+ GetMenuItems() {
133
94
  return Object.keys(this.registeredItems);
134
- };
135
- Getter.prototype.IncludeMenuItem = function (menuItemId, layerIds, minHeight, maxHeight) {
95
+ }
96
+ IncludeMenuItem(menuItemId, layerIds, minHeight, maxHeight) {
136
97
  this.registeredItems[menuItemId] = new regMenuItemGetter(layerIds, minHeight, maxHeight);
137
98
  this.updateState();
138
- };
139
- Getter.prototype.ExcludeMenuItem = function (menuItemId) {
99
+ }
100
+ ExcludeMenuItem(menuItemId) {
140
101
  this.registeredItems[menuItemId] = null;
141
102
  delete this.registeredItems[menuItemId];
142
103
  this.updateState();
143
- };
144
- Getter.prototype.updateBounds = function () {
145
- var viewRect = this.viewPort.GetBounds();
146
- var poi = this.viewPort.GetTarget();
104
+ }
105
+ updateBounds() {
106
+ const viewRect = this.viewPort.GetBounds();
107
+ const poi = this.viewPort.GetTarget();
147
108
  if (viewRect && poi) {
148
109
  if (Math.abs(viewRect.west - viewRect.east) > MAX_AREA_IN_DEGREES) {
149
110
  return;
@@ -154,14 +115,14 @@ var EntityFilterGetter;
154
115
  this.viewRect = viewRect;
155
116
  this.viewCenter = poi;
156
117
  }
157
- };
158
- Getter.prototype.updateState = function () {
159
- var tagIds = [];
160
- var menuItemIds = this.GetMenuItems();
161
- var minHeight = null;
162
- var maxHeight = null;
163
- for (var i = 0; i < menuItemIds.length; i++) {
164
- var menuItem = this.registeredItems[menuItemIds[i]];
118
+ }
119
+ updateState() {
120
+ const tagIds = [];
121
+ const menuItemIds = this.GetMenuItems();
122
+ let minHeight = null;
123
+ let maxHeight = null;
124
+ for (let i = 0; i < menuItemIds.length; i++) {
125
+ const menuItem = this.registeredItems[menuItemIds[i]];
165
126
  if (menuItem) {
166
127
  if (maxHeight == null || maxHeight < menuItem.MaxHeight) {
167
128
  maxHeight = menuItem.MaxHeight;
@@ -169,10 +130,10 @@ var EntityFilterGetter;
169
130
  if (minHeight == null || minHeight > menuItem.MinHeight) {
170
131
  minHeight = menuItem.MinHeight;
171
132
  }
172
- var itemLayerIds = menuItem.TagIds;
133
+ const itemLayerIds = menuItem.TagIds;
173
134
  if (itemLayerIds) {
174
- for (var j = 0; j < itemLayerIds.length; j++) {
175
- var itemLayerId = itemLayerIds[j];
135
+ for (let j = 0; j < itemLayerIds.length; j++) {
136
+ const itemLayerId = itemLayerIds[j];
176
137
  if (!tagIds.includes(itemLayerId)) {
177
138
  tagIds.push(itemLayerId);
178
139
  }
@@ -194,152 +155,120 @@ var EntityFilterGetter;
194
155
  this.getterLoopId = -1;
195
156
  this.viewAreaDispose();
196
157
  }
197
- };
198
- Getter.prototype.postStatus = function (status) {
158
+ }
159
+ postStatus(status) {
199
160
  var _a;
200
161
  this.LastStateUpdates[status.msg] = status;
201
162
  (_a = this.onStateUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(status);
202
- };
203
- Getter.prototype.startGetterLoop = function () {
204
- var _this = this;
163
+ }
164
+ startGetterLoop() {
205
165
  // Increase id so that existing loops stop.
206
166
  this.getterLoopId += 1;
207
- var loopId = this.getterLoopId;
208
- new Promise(function () { return __awaiter(_this, void 0, void 0, function () {
209
- var MIN_HEIGHT, MAX_HEIGHT, PAGE_SIZE, retryAttempts, retryDelay, prevFirstId, prevLastId, alt, cells, curCellIndex, postedScanning, postedLoading, curCell, page, first, last, e_1;
167
+ const loopId = this.getterLoopId;
168
+ new Promise(() => __awaiter(this, void 0, void 0, function* () {
210
169
  var _a, _b, _c, _d, _e;
211
- return __generator(this, function (_f) {
212
- switch (_f.label) {
213
- case 0:
214
- // Minor delay to stop 50 menu items enabling doing their first request all together.
215
- // This gives it time to recognize only 1 request is needed.
216
- // Would be better to not use this delay but we're on a clock.
217
- return [4 /*yield*/, delay(100)];
218
- case 1:
219
- // Minor delay to stop 50 menu items enabling doing their first request all together.
220
- // This gives it time to recognize only 1 request is needed.
221
- // Would be better to not use this delay but we're on a clock.
222
- _f.sent();
223
- MIN_HEIGHT = this.minHeight;
224
- MAX_HEIGHT = this.maxHeight;
225
- PAGE_SIZE = this.batchSize;
226
- retryAttempts = MAX_RETRY_ATTEMPTS;
227
- retryDelay = 0;
228
- prevFirstId = "";
229
- prevLastId = "";
230
- _f.label = 2;
231
- case 2:
232
- if (!((!this.viewCenter || !this.viewRect) && this.getterLoopId == loopId)) return [3 /*break*/, 4];
233
- return [4 /*yield*/, delay(RETRY_DELAY_INCREMENT)];
234
- case 3:
235
- _f.sent();
236
- return [3 /*break*/, 2];
237
- case 4:
238
- if (this.getterLoopId != loopId) {
239
- return [2 /*return*/];
240
- }
241
- alt = this.viewRect.alt;
242
- if (alt > MAX_HEIGHT || (alt < MIN_HEIGHT && MIN_HEIGHT > 0)) {
243
- return [2 /*return*/];
244
- }
245
- cells = this.cells.GetCellsForView(this.viewRect);
246
- curCellIndex = cells.length > 0 ? 0 : null;
247
- postedScanning = false;
248
- postedLoading = false;
249
- _f.label = 5;
250
- case 5:
251
- if (!(retryAttempts > 0 && curCellIndex != null)) return [3 /*break*/, 13];
252
- if (this.getterLoopId != loopId) {
253
- return [3 /*break*/, 13];
254
- }
255
- if (!(retryDelay > 0)) return [3 /*break*/, 7];
256
- return [4 /*yield*/, delay(retryDelay)];
257
- case 6:
258
- _f.sent();
259
- _f.label = 7;
260
- case 7:
261
- if (!postedScanning) {
262
- this.postStatus({ msg: EStatus.Scanning, revoking: false });
263
- postedScanning = true;
264
- }
265
- curCell = cells[curCellIndex];
266
- if (curCell.IsFetched()) {
267
- curCellIndex += 1;
268
- if (!cells[curCellIndex]) {
269
- curCellIndex = null;
270
- }
271
- return [3 /*break*/, 5];
272
- }
273
- _f.label = 8;
274
- case 8:
275
- _f.trys.push([8, 10, , 11]);
276
- return [4 /*yield*/, entity_1.Entity.Filter.V1.GetList(this.api, {
277
- pageSize: PAGE_SIZE,
278
- pageIndex: curCell.FetchPageIndex,
279
- entityTypeId: this.typeId,
280
- layerIds: this.tagIds,
281
- bounds: curCell.GetBounds(),
282
- sortOrder: api_1.Api.ESortOrder.Asc,
283
- entityTypeConditions: this.attrFilter
284
- })];
285
- case 9:
286
- page = _f.sent();
287
- if (this.getterLoopId != loopId) {
288
- return [3 /*break*/, 13];
289
- }
290
- if (page) {
291
- (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(page);
292
- }
293
- if (!postedLoading) {
294
- this.postStatus({ msg: EStatus.Loading, revoking: false });
295
- postedLoading = true;
296
- }
297
- if (page.length <= 0) {
298
- curCell.Fetched = true; // Only mark as fetched when ALL pages are done.
299
- return [3 /*break*/, 5];
300
- }
301
- // Checking to make sure it's not just the same batch over and over again.
302
- if (page.length > 0) {
303
- first = (_c = (_b = page[0]) === null || _b === void 0 ? void 0 : _b.Bruce) === null || _c === void 0 ? void 0 : _c.ID;
304
- last = (_e = (_d = page[page.length - 1]) === null || _d === void 0 ? void 0 : _d.Bruce) === null || _e === void 0 ? void 0 : _e.ID;
305
- if (prevFirstId == first && prevLastId == last) {
306
- return [3 /*break*/, 13];
307
- }
308
- else {
309
- prevFirstId = first;
310
- prevLastId = last;
311
- }
312
- }
313
- curCell.FetchPageIndex++;
314
- // Request passed so let's assume it was server hiccup and refresh counts.
315
- retryAttempts = MAX_RETRY_ATTEMPTS;
316
- retryDelay = 0;
317
- return [3 /*break*/, 11];
318
- case 10:
319
- e_1 = _f.sent();
320
- console.log(e_1);
321
- // Request failed so let's add a delay and try again soon.
322
- retryDelay += RETRY_DELAY_INCREMENT;
323
- retryAttempts -= 1;
324
- return [3 /*break*/, 11];
325
- case 11: return [4 /*yield*/, delay(REQUEST_PAGE_DELAY)];
326
- case 12:
327
- _f.sent();
328
- return [3 /*break*/, 5];
329
- case 13:
330
- if (postedLoading) {
331
- this.postStatus({ msg: EStatus.Loading, revoking: true });
170
+ // Minor delay to stop 50 menu items enabling doing their first request all together.
171
+ // This gives it time to recognize only 1 request is needed.
172
+ // Would be better to not use this delay but we're on a clock.
173
+ yield delay(100);
174
+ const MIN_HEIGHT = this.minHeight;
175
+ const MAX_HEIGHT = this.maxHeight;
176
+ const PAGE_SIZE = this.batchSize;
177
+ let retryAttempts = MAX_RETRY_ATTEMPTS;
178
+ let retryDelay = 0;
179
+ let prevFirstId = "";
180
+ let prevLastId = "";
181
+ while ((!this.viewCenter || !this.viewRect) && this.getterLoopId == loopId) {
182
+ yield delay(RETRY_DELAY_INCREMENT);
183
+ }
184
+ if (this.getterLoopId != loopId) {
185
+ return;
186
+ }
187
+ const alt = this.viewRect.alt;
188
+ if (alt > MAX_HEIGHT || (alt < MIN_HEIGHT && MIN_HEIGHT > 0)) {
189
+ return;
190
+ }
191
+ const cells = this.cells.GetCellsForView(this.viewRect);
192
+ let curCellIndex = cells.length > 0 ? 0 : null;
193
+ let postedScanning = false;
194
+ let postedLoading = false;
195
+ while (retryAttempts > 0 && curCellIndex != null) {
196
+ if (this.getterLoopId != loopId) {
197
+ break;
198
+ }
199
+ if (retryDelay > 0) {
200
+ yield delay(retryDelay);
201
+ }
202
+ if (!postedScanning) {
203
+ this.postStatus({ msg: EStatus.Scanning, revoking: false });
204
+ postedScanning = true;
205
+ }
206
+ const curCell = cells[curCellIndex];
207
+ if (curCell.IsFetched()) {
208
+ curCellIndex += 1;
209
+ if (!cells[curCellIndex]) {
210
+ curCellIndex = null;
211
+ }
212
+ continue;
213
+ }
214
+ try {
215
+ const page = yield entity_1.Entity.Filter.V1.GetList(this.api, {
216
+ pageSize: PAGE_SIZE,
217
+ pageIndex: curCell.FetchPageIndex,
218
+ entityTypeId: this.typeId,
219
+ layerIds: this.tagIds,
220
+ bounds: curCell.GetBounds(),
221
+ sortOrder: api_1.Api.ESortOrder.Asc,
222
+ entityTypeConditions: this.attrFilter
223
+ });
224
+ if (this.getterLoopId != loopId) {
225
+ break;
226
+ }
227
+ if (page) {
228
+ (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(page);
229
+ }
230
+ if (!postedLoading) {
231
+ this.postStatus({ msg: EStatus.Loading, revoking: false });
232
+ postedLoading = true;
233
+ }
234
+ if (page.length <= 0) {
235
+ curCell.Fetched = true; // Only mark as fetched when ALL pages are done.
236
+ continue;
237
+ }
238
+ // Checking to make sure it's not just the same batch over and over again.
239
+ if (page.length > 0) {
240
+ const first = (_c = (_b = page[0]) === null || _b === void 0 ? void 0 : _b.Bruce) === null || _c === void 0 ? void 0 : _c.ID;
241
+ const last = (_e = (_d = page[page.length - 1]) === null || _d === void 0 ? void 0 : _d.Bruce) === null || _e === void 0 ? void 0 : _e.ID;
242
+ if (prevFirstId == first && prevLastId == last) {
243
+ break;
332
244
  }
333
- if (postedScanning) {
334
- this.postStatus({ msg: EStatus.Scanning, revoking: true });
245
+ else {
246
+ prevFirstId = first;
247
+ prevLastId = last;
335
248
  }
336
- return [2 /*return*/];
249
+ }
250
+ curCell.FetchPageIndex++;
251
+ // Request passed so let's assume it was server hiccup and refresh counts.
252
+ retryAttempts = MAX_RETRY_ATTEMPTS;
253
+ retryDelay = 0;
337
254
  }
338
- });
339
- }); });
340
- };
341
- return Getter;
342
- }());
255
+ catch (e) {
256
+ console.log(e);
257
+ // Request failed so let's add a delay and try again soon.
258
+ retryDelay += RETRY_DELAY_INCREMENT;
259
+ retryAttempts -= 1;
260
+ }
261
+ yield delay(REQUEST_PAGE_DELAY);
262
+ }
263
+ if (postedLoading) {
264
+ this.postStatus({ msg: EStatus.Loading, revoking: true });
265
+ }
266
+ if (postedScanning) {
267
+ this.postStatus({ msg: EStatus.Scanning, revoking: true });
268
+ }
269
+ }));
270
+ }
271
+ }
343
272
  EntityFilterGetter.Getter = Getter;
344
273
  })(EntityFilterGetter = exports.EntityFilterGetter || (exports.EntityFilterGetter = {}));
345
274
  //# sourceMappingURL=entity-filter-getter.js.map