@vitrosoftware/common-ui-ts 1.1.82 → 1.1.84

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 (154) hide show
  1. package/css/std/controls/pdf-viewer/compare.css +5 -2
  2. package/css/std/controls/pdf-viewer/pdf-viewer-index.css +11 -4
  3. package/css/std/controls/pdf-viewer/pdf-viewer.css +6 -2
  4. package/dist/index.js +90 -32
  5. package/dist/index.js.map +1 -1
  6. package/package.json +3 -5
  7. package/src/controls/BimViewer/js/bim-viewer.js +620 -4
  8. package/src/controls/PdfViewer/js/pdf-viewer.js +3 -4
  9. package/dist/constants/Control.d.ts +0 -11
  10. package/dist/constants/Ctrl.d.ts +0 -30
  11. package/dist/constants/Event.d.ts +0 -13
  12. package/dist/constants/Factory.d.ts +0 -3
  13. package/dist/constants/KeyCode.d.ts +0 -3
  14. package/dist/constants/Placement.d.ts +0 -7
  15. package/dist/constants/Unit.d.ts +0 -3
  16. package/dist/controls/ActionHandler/ActionHandler.d.ts +0 -31
  17. package/dist/controls/ActionHandler/ActionHandlerConstants.d.ts +0 -32
  18. package/dist/controls/ActionHandler/ActionInfo.d.ts +0 -12
  19. package/dist/controls/ActionHandler/ActionInfoItem.d.ts +0 -13
  20. package/dist/controls/ActionHandler/UpdatingPopover.d.ts +0 -2
  21. package/dist/controls/Activity/Activity.d.ts +0 -9
  22. package/dist/controls/ActivityItem/ActivityItem.d.ts +0 -16
  23. package/dist/controls/ActivityItem/ActivityMessage.d.ts +0 -6
  24. package/dist/controls/ActivityItem/ChangedValue.d.ts +0 -6
  25. package/dist/controls/Alert/Alert.d.ts +0 -19
  26. package/dist/controls/Alert/AlertConstants.d.ts +0 -5
  27. package/dist/controls/Avatar/Avatar.d.ts +0 -8
  28. package/dist/controls/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  29. package/dist/controls/Breadcrumbs/BreadcrumbsItem.d.ts +0 -4
  30. package/dist/controls/Breadcrumbs/Item.d.ts +0 -10
  31. package/dist/controls/Button/Button.d.ts +0 -14
  32. package/dist/controls/Checkbox/Checkbox.d.ts +0 -11
  33. package/dist/controls/CommandMenu/CommandMenu.d.ts +0 -6
  34. package/dist/controls/CommandMenu/CommandMenuButton.d.ts +0 -13
  35. package/dist/controls/CommandMenu/CommandMenuDropdownButton.d.ts +0 -18
  36. package/dist/controls/CommandMenu/CommandMenuItemHeader.d.ts +0 -11
  37. package/dist/controls/CommandMenu/CommandMenuLookupPicker.d.ts +0 -32
  38. package/dist/controls/CommandMenu/CommandMenuSubItem.d.ts +0 -13
  39. package/dist/controls/ComponentLoader/ComponentLoader.d.ts +0 -8
  40. package/dist/controls/ComponentLoader/ComponentLoaderContext.d.ts +0 -6
  41. package/dist/controls/ComponentLoader/ComponentLoaderContextImpl.d.ts +0 -11
  42. package/dist/controls/ControlGroup/ControlGroup.d.ts +0 -7
  43. package/dist/controls/Criterion/Condition.d.ts +0 -6
  44. package/dist/controls/Criterion/ConditionSelect.d.ts +0 -9
  45. package/dist/controls/Criterion/Criterion.d.ts +0 -23
  46. package/dist/controls/Criterion/Operator.d.ts +0 -4
  47. package/dist/controls/DatePicker/DatePicker.d.ts +0 -29
  48. package/dist/controls/DatePicker/DatePickerConstants.d.ts +0 -12
  49. package/dist/controls/Dialog/Dialog.d.ts +0 -23
  50. package/dist/controls/Dialog/DialogButton.d.ts +0 -8
  51. package/dist/controls/Dialog/DialogCloseButton.d.ts +0 -8
  52. package/dist/controls/Dialog/DialogComponent.d.ts +0 -8
  53. package/dist/controls/Dialog/DialogConstants.d.ts +0 -5
  54. package/dist/controls/Dialog/DialogContent.d.ts +0 -7
  55. package/dist/controls/Dialog/DialogFooter.d.ts +0 -11
  56. package/dist/controls/Dialog/DialogHeader.d.ts +0 -8
  57. package/dist/controls/DropdownButton/DropdownButton.d.ts +0 -13
  58. package/dist/controls/DropdownButton/DropdownItem.d.ts +0 -11
  59. package/dist/controls/FieldIterator/FieldIterator.d.ts +0 -24
  60. package/dist/controls/Icon/Icon.d.ts +0 -11
  61. package/dist/controls/ImagePicker/ImagePicker.d.ts +0 -16
  62. package/dist/controls/ImagePicker/ImagePickerConstants.d.ts +0 -8
  63. package/dist/controls/Input/Input.d.ts +0 -32
  64. package/dist/controls/Input/InputConstants.d.ts +0 -4
  65. package/dist/controls/IssueTile/IssueTile.d.ts +0 -26
  66. package/dist/controls/IssueTile/IssueTileConstants.d.ts +0 -3
  67. package/dist/controls/IssueTile/IssueTileFooter.d.ts +0 -8
  68. package/dist/controls/IssueTile/IssueTileHeader.d.ts +0 -18
  69. package/dist/controls/Label/Label.d.ts +0 -9
  70. package/dist/controls/Label/LabelConstants.d.ts +0 -3
  71. package/dist/controls/Login/Login.d.ts +0 -16
  72. package/dist/controls/Login/LoginConstants.d.ts +0 -17
  73. package/dist/controls/Login/LoginFooter.d.ts +0 -10
  74. package/dist/controls/Login/LoginInput.d.ts +0 -17
  75. package/dist/controls/LookupPicker/LookupPicker.d.ts +0 -39
  76. package/dist/controls/LookupPicker/LookupPickerConstants.d.ts +0 -3
  77. package/dist/controls/LookupPicker/SelectedValueList.d.ts +0 -14
  78. package/dist/controls/LookupPicker/ValueList.d.ts +0 -22
  79. package/dist/controls/LookupPicker/ValueListItem.d.ts +0 -11
  80. package/dist/controls/MessageInput/MessageInput.d.ts +0 -12
  81. package/dist/controls/MessageInput/MessageInputConstants.d.ts +0 -3
  82. package/dist/controls/MicroFrontend/MicroFrontend.d.ts +0 -8
  83. package/dist/controls/MicroFrontend/MicroFrontendState.d.ts +0 -8
  84. package/dist/controls/MicroFrontend/renderMicrofrontend.d.ts +0 -2
  85. package/dist/controls/NumberInput/NumberInput.d.ts +0 -30
  86. package/dist/controls/NumberInput/NumberInputConstants.d.ts +0 -12
  87. package/dist/controls/PasswordInput/PasswordInput.d.ts +0 -31
  88. package/dist/controls/PasswordInput/PasswordInputConstants.d.ts +0 -4
  89. package/dist/controls/PdfViewer/PdfViewer.d.ts +0 -6
  90. package/dist/controls/PdfViewer/PdfViewerContext.d.ts +0 -12
  91. package/dist/controls/PdfViewer/Viewer.d.ts +0 -6
  92. package/dist/controls/RouteItem/RouteItem.d.ts +0 -17
  93. package/dist/controls/ScrollBar/ScrollBar.d.ts +0 -9
  94. package/dist/controls/Search/CheckboxList.d.ts +0 -12
  95. package/dist/controls/Search/Filter.d.ts +0 -21
  96. package/dist/controls/Search/Input.d.ts +0 -21
  97. package/dist/controls/Search/Search.d.ts +0 -29
  98. package/dist/controls/Search/SearchConstants.d.ts +0 -4
  99. package/dist/controls/Search/SearchCriterion.d.ts +0 -7
  100. package/dist/controls/Sidebar/Item.d.ts +0 -9
  101. package/dist/controls/Sidebar/LinkItem.d.ts +0 -17
  102. package/dist/controls/Sidebar/Section.d.ts +0 -11
  103. package/dist/controls/Sidebar/SectionList.d.ts +0 -10
  104. package/dist/controls/Sidebar/Sidebar.d.ts +0 -14
  105. package/dist/controls/Sidebar/SidebarConstants.d.ts +0 -4
  106. package/dist/controls/Sidebar/SidebarItem.d.ts +0 -10
  107. package/dist/controls/Sidebar/SidebarSection.d.ts +0 -7
  108. package/dist/controls/Splitter/Splitter.d.ts +0 -18
  109. package/dist/controls/Splitter/SplitterConstants.d.ts +0 -9
  110. package/dist/controls/TabGroup/OverflowButton.d.ts +0 -8
  111. package/dist/controls/TabGroup/Tab.d.ts +0 -10
  112. package/dist/controls/TabGroup/TabGroup.d.ts +0 -10
  113. package/dist/controls/TabGroup/TabGroupComponent.d.ts +0 -9
  114. package/dist/controls/TabGroup/TabGroupConstants.d.ts +0 -4
  115. package/dist/controls/TabGroup/TabGroupHeader.d.ts +0 -10
  116. package/dist/controls/TabGroup/TabItem.d.ts +0 -13
  117. package/dist/controls/TableView/TableView.d.ts +0 -26
  118. package/dist/controls/TableView/TableViewCol.d.ts +0 -3
  119. package/dist/controls/TableView/TableViewConstants.d.ts +0 -152
  120. package/dist/controls/TableView/TableViewContext.d.ts +0 -81
  121. package/dist/controls/TableView/TableViewEventHandler.d.ts +0 -4
  122. package/dist/controls/TableView/TableViewRow.d.ts +0 -3
  123. package/dist/controls/TableView/TreeGrid.d.ts +0 -17
  124. package/dist/controls/TableView/TreeGridTableViewContextImpl.d.ts +0 -91
  125. package/dist/controls/TaskTile/TaskTile.d.ts +0 -18
  126. package/dist/controls/TelerikUploader/TelerikUploader.d.ts +0 -11
  127. package/dist/controls/TelerikUploader/TelerikUploaderConstants.d.ts +0 -16
  128. package/dist/controls/TelerikUploader/TelerikUploaderContext.d.ts +0 -6
  129. package/dist/controls/TelerikUploader/TelerikUploaderContextImpl.d.ts +0 -39
  130. package/dist/controls/TelerikUploader/TelerikUploaderSettings.d.ts +0 -15
  131. package/dist/controls/TimePicker/TimePicker.d.ts +0 -23
  132. package/dist/controls/TimePicker/TimePickerConstants.d.ts +0 -12
  133. package/dist/controls/Tooltip/Tooltip.d.ts +0 -10
  134. package/dist/controls/Tooltip/TooltipConstants.d.ts +0 -6
  135. package/dist/controls/TopLevelMenu/LinkItem.d.ts +0 -9
  136. package/dist/controls/TopLevelMenu/TopLevelMenu.d.ts +0 -9
  137. package/dist/controls/TopLevelMenu/TopLevelMenuItem.d.ts +0 -7
  138. package/dist/controls/TreeView/JsTreeViewContextImpl.d.ts +0 -35
  139. package/dist/controls/TreeView/TreeView.d.ts +0 -13
  140. package/dist/controls/TreeView/TreeViewConfig.d.ts +0 -34
  141. package/dist/controls/TreeView/TreeViewConstants.d.ts +0 -52
  142. package/dist/controls/TreeView/TreeViewContext.d.ts +0 -32
  143. package/dist/controls/TreeView/TreeViewEventHandler.d.ts +0 -4
  144. package/dist/controls/UserLookupPicker/UserLookupPicker.d.ts +0 -40
  145. package/dist/controls/UserProfile/UserProfile.d.ts +0 -12
  146. package/dist/controls/UserProfile/UserProfileMenuItem.d.ts +0 -11
  147. package/dist/controls/View/View.d.ts +0 -7
  148. package/dist/controls/ViewPart/ViewPart.d.ts +0 -10
  149. package/dist/exceptions/AbortException.d.ts +0 -2
  150. package/dist/exceptions/impl/AbortExceptionImpl.d.ts +0 -3
  151. package/dist/services/LocaleService.d.ts +0 -3
  152. package/lib/xeokit/VitroTreeViewPlugin.js +0 -620
  153. package/src/controls/BimViewer/js/init-viewer-page.js +0 -24
  154. package/src/controls/PdfViewer/js/init-viewer-page.js +0 -25
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitrosoftware/common-ui-ts",
3
- "version": "1.1.82",
3
+ "version": "1.1.84",
4
4
  "description": "vitro software common ui ts",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -65,17 +65,15 @@
65
65
  "dist",
66
66
  "css",
67
67
  "lib",
68
- "src/controls/PdfViewer/js/init-viewer-page.js",
69
68
  "src/controls/PdfViewer/js/pdf-viewer.js",
70
- "src/controls/BimViewer/js/init-viewer-page.js",
71
69
  "src/controls/BimViewer/js/bim-viewer.js",
72
- "src/controls/BimViewer/js/bim-viewer-models.js"
70
+ "src/controls/BimViewer/js/bim-viewer-models.js"
73
71
  ],
74
72
  "dependencies": {
75
73
  "rollup-plugin-postcss": "^3.1.3",
76
74
  "inversify": "6.0.1",
77
75
  "inversify-react": "1.0.2",
78
- "@vitrosoftware/common-ui": "1.1.31",
76
+ "@vitrosoftware/common-ui": "1.1.32",
79
77
  "react-router-bootstrap": "^0.24.4",
80
78
  "m-react-splitters": "^1.2.0"
81
79
  }
@@ -1,12 +1,628 @@
1
- import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=v5';
1
+ import { BIMModel, BIMCommon, BIMAnnotation } from '/resource/bimViewer/js/bim-viewer-models.js?version=1.1.84';
2
2
 
3
3
  import {
4
4
  Viewer, XKTLoaderPlugin, NavCubePlugin, SectionPlanesPlugin, math, BCFViewpointsPlugin, AnnotationsPlugin,
5
5
  ContextMenu, TreeViewPlugin, StoreyViewsPlugin, AngleMeasurementsPlugin, CameraMemento, DistanceMeasurementsPlugin,
6
- GLTFLoaderPlugin, utils, FastNavPlugin
6
+ GLTFLoaderPlugin, utils, FastNavPlugin, MetaObject
7
+ }
8
+ from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=1.1.84';
9
+
10
+
11
+ const processByChildIdList = (treeViewNode, event) => {
12
+ viewer.scene.canvas.spinner.processes++;
13
+
14
+ const callback = (objIds) => {
15
+ objIds.push(treeViewNode.objectId);
16
+ event(objIds);
17
+ viewer.scene.canvas.spinner.processes--;
18
+ };
19
+
20
+ const error = (er) =>
21
+ {
22
+ viewer.scene.canvas.spinner.processes--;
23
+ };
24
+
25
+ BIMModel.GetChildIdList(treeViewNode.objectId, true, true, callback, error);
26
+ };
27
+
28
+ const treeViewContextMenu = new ContextMenu({
29
+
30
+ items: [
31
+ [
32
+ {
33
+ getTitle: function (context) { return document.webL10n.get('view_fit') },
34
+ doAction: function (context) {
35
+
36
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
37
+
38
+ const event = (objectIds) => {
39
+ const scene = context.viewer.scene;
40
+
41
+ scene.setObjectsVisible(objectIds, true);
42
+ scene.setObjectsHighlighted(objectIds, true);
43
+ context.viewer.cameraFlight.flyTo({
44
+ projection: "perspective",
45
+ aabb: scene.getAABB(objectIds),
46
+ duration: 0.5
47
+ }, () => {
48
+ setTimeout(function () {
49
+ scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
50
+ }, 500);
51
+ });
52
+ };
53
+
54
+ processByChildIdList(context.treeViewNode, event);
55
+ }
56
+ },
57
+ {
58
+ getTitle: function (context) { return document.webL10n.get('view_fit_all') },
59
+ doAction: function (context) {
60
+ ViewFitAll(context.viewer);
61
+ }
62
+ }
63
+ ],
64
+ [
65
+ {
66
+ getTitle: function (context) { return document.webL10n.get('hide') },
67
+ doAction: function (context) {
68
+
69
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, false);
70
+
71
+ const event = (objectIds) => {
72
+ objectIds.forEach((id)=> {
73
+ const entity = context.viewer.scene.objects[id];
74
+ if (entity) {
75
+ entity.visible = false;
76
+ };
77
+ });
78
+ };
79
+ processByChildIdList(context.treeViewNode, event);
80
+ }
81
+ },
82
+ {
83
+ getTitle: function (context) { return document.webL10n.get('hide_others') },
84
+ doAction: function (context) {
85
+
86
+ context.treeViewPlugin.setCheckedAll(false);
87
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
88
+
89
+ const event = (objectIds) => {
90
+ const scene = context.viewer.scene;
91
+
92
+ scene.setObjectsVisible(scene.visibleObjectIds, false);
93
+ scene.setObjectsXRayed(scene.xrayedObjectIds, false);
94
+ scene.setObjectsSelected(scene.selectedObjectIds, false);
95
+ scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
96
+
97
+ objectIds.forEach((id)=> {
98
+ const entity = context.viewer.scene.objects[id];
99
+ if (entity) {
100
+ entity.visible = true;
101
+ };
102
+ });
103
+ };
104
+
105
+ processByChildIdList(context.treeViewNode, event);
106
+ }
107
+ },
108
+ {
109
+ getTitle: function (context) { return document.webL10n.get('hide_all') },
110
+ getEnabled: function (context) {
111
+ return (context.viewer.scene.visibleObjectIds.length > 0);
112
+ },
113
+ doAction: function (context) {
114
+ context.treeViewPlugin.setCheckedAll(false);
115
+ context.viewer.scene.setObjectsVisible(context.viewer.scene.visibleObjectIds, false);
116
+ }
117
+ }
118
+ ],
119
+ [
120
+ {
121
+ getTitle: function (context) { return document.webL10n.get('show') },
122
+ doAction: function (context) {
123
+
124
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
125
+
126
+ const event = (objectIds) => {
127
+ objectIds.forEach((id)=> {
128
+ const entity = context.viewer.scene.objects[id];
129
+ if (entity) {
130
+ entity.visible = true;
131
+ entity.xrayed = false;
132
+ entity.selected = false;
133
+ }
134
+ });
135
+ };
136
+
137
+ processByChildIdList(context.treeViewNode, event);
138
+ }
139
+ },
140
+ {
141
+ getTitle: function (context) { return document.webL10n.get('show_others') },
142
+ doAction: function (context) {
143
+ context.treeViewPlugin.setCheckedAll(true);
144
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, false);
145
+
146
+ const scene = context.viewer.scene;
147
+
148
+ scene.setObjectsVisible(scene.objectIds, true);
149
+ scene.setObjectsXRayed(scene.xrayedObjectIds, false);
150
+ scene.setObjectsSelected(scene.selectedObjectIds, false);
151
+
152
+ const event = (objectIds) => {
153
+ objectIds.forEach((id) => {
154
+ const entity = context.viewer.scene.objects[id];
155
+ if (entity) {
156
+ entity.visible = false;
157
+ }
158
+ });
159
+ }
160
+
161
+ processByChildIdList(context.treeViewNode, event);
162
+ }
163
+ },
164
+ {
165
+ getTitle: function (context) { return document.webL10n.get('show_all') },
166
+ getEnabled: function (context) {
167
+ const scene = context.viewer.scene;
168
+ return (scene.numVisibleObjects < scene.numObjects);
169
+ },
170
+ doAction: function (context) {
171
+ context.treeViewPlugin.setCheckedAll(true);
172
+
173
+ const scene = context.viewer.scene;
174
+ scene.setObjectsVisible(scene.objectIds, true);
175
+ scene.setObjectsXRayed(scene.xrayedObjectIds, false);
176
+ scene.setObjectsSelected(scene.selectedObjectIds, false);
177
+ }
178
+ }
179
+ ],
180
+ [
181
+ {
182
+ getTitle: function (context) { return document.webL10n.get('x_ray') },
183
+ doAction: function (context) {
184
+
185
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
186
+
187
+ const event = (objectIds) => {
188
+ objectIds.forEach((id) => {
189
+ const entity = context.viewer.scene.objects[id];
190
+ if (entity) {
191
+ entity.xrayed = true;
192
+ entity.visible = true;
193
+ }
194
+ });
195
+ }
196
+
197
+ processByChildIdList(context.treeViewNode, event);
198
+ }
199
+ },
200
+ {
201
+ getTitle: function (context) { return document.webL10n.get('x_ray_undo') },
202
+ doAction: function (context) {
203
+
204
+ const event = (objectIds) => {
205
+ objectIds.forEach((id) => {
206
+ const entity = context.viewer.scene.objects[id];
207
+ if (entity) {
208
+ entity.xrayed = false;
209
+ }
210
+ });
211
+ }
212
+
213
+ processByChildIdList(context.treeViewNode, event);
214
+ }
215
+ },
216
+ {
217
+ getTitle: function (context) { return document.webL10n.get('x_ray_others') },
218
+ doAction: function (context) {
219
+ context.treeViewPlugin.setCheckedAll(true);
220
+
221
+ const scene = context.viewer.scene;
222
+ scene.setObjectsVisible(scene.objectIds, true);
223
+ scene.setObjectsXRayed(scene.objectIds, true);
224
+ scene.setObjectsSelected(scene.selectedObjectIds, false);
225
+ scene.setObjectsHighlighted(scene.highlightedObjectIds, false);
226
+
227
+ const event = (objectIds) => {
228
+ objectIds.forEach((id) => {
229
+ const entity = context.viewer.scene.objects[id];
230
+ if (entity) {
231
+ entity.xrayed = false;
232
+ }
233
+ });
234
+ }
235
+
236
+ processByChildIdList(context.treeViewNode, event);
237
+ }
238
+ },
239
+ {
240
+ getTitle: function (context) { return document.webL10n.get('x_ray_reset') },
241
+ getEnabled: function (context) {
242
+ return (context.viewer.scene.numXRayedObjects > 0);
243
+ },
244
+ doAction: function (context) {
245
+ context.viewer.scene.setObjectsXRayed(context.viewer.scene.xrayedObjectIds, false);
246
+ }
247
+ }
248
+ ],
249
+ [
250
+ {
251
+ getTitle: function (context) { return document.webL10n.get('select') },
252
+ doAction: function (context) {
253
+ context.treeViewPlugin.setNodeChecked(context.treeViewNode, true);
254
+
255
+ const event = (objectIds) => {
256
+ objectIds.forEach((id) => {
257
+ const entity = context.viewer.scene.objects[id];
258
+ if (entity) {
259
+ entity.selected = true;
260
+ entity.visible = true;
261
+ }
262
+ });
263
+ }
264
+
265
+ processByChildIdList(context.treeViewNode, event);
266
+ }
267
+ },
268
+ {
269
+ getTitle: function (context) { return document.webL10n.get('deselect') },
270
+ doAction: function (context) {
271
+
272
+ const event = (objectIds) => {
273
+ objectIds.forEach((id) => {
274
+ const entity = context.viewer.scene.objects[id];
275
+ if (entity) {
276
+ entity.selected = false;
277
+ }
278
+ });
279
+ }
280
+
281
+ processByChildIdList(context.treeViewNode, event);
282
+ }
283
+ },
284
+ {
285
+ getTitle: function (context) { return document.webL10n.get('clear_selection') },
286
+ getEnabled: function (context) {
287
+ return (context.viewer.scene.numSelectedObjects > 0);
288
+ },
289
+ doAction: function (context) {
290
+ context.viewer.scene.setObjectsSelected(context.viewer.scene.selectedObjectIds, false);
291
+ }
292
+ }
293
+ ]
294
+ ]
295
+ });
296
+
297
+ class VitroTreeViewPlugin extends TreeViewPlugin
298
+ {
299
+ constructor(viewer, cfg = {}) {
300
+ super(viewer, cfg);
301
+
302
+ this.checked = true;
303
+
304
+ this._checkboxChangeHandler = (event) => {
305
+ if (this._muteTreeEvents) {
306
+ return;
307
+ }
308
+ this._muteSceneEvents = true;
309
+ const checkbox = event.target;
310
+ const visible = checkbox.checked;
311
+ const nodeId = checkbox.id.replace('checkbox-', '');
312
+ const checkedNode = this._nodeNodes[nodeId];
313
+ const objects = this._viewer.scene.objects;
314
+ let numUpdated = 0;
315
+
316
+ viewer.scene.canvas.spinner.processes++;
317
+
318
+ const callback = (data) => {
319
+ for (var i = 0; i < data.length; i++) {
320
+ const entity = objects[data[i]];
321
+
322
+ if (entity) {
323
+ entity.visible = visible;
324
+ }
325
+ }
326
+
327
+ viewer.scene.canvas.spinner.processes--;
328
+ viewer.scene.fire("reloadSmallScenes");
329
+ };
330
+
331
+ processByChildIdList(checkedNode, callback);
332
+
333
+ this.setNodeChecked(checkedNode, visible);
334
+
335
+ this._muteSceneEvents = false;
336
+ };
337
+
338
+ // Right-clicking on a tree node shows the context menu for that node
339
+
340
+ this.on("contextmenu", (e) => {
341
+
342
+ treeViewContextMenu.context = { // Must set context before opening menu
343
+ viewer: e.viewer,
344
+ treeViewPlugin: e.treeViewPlugin,
345
+ treeViewNode: e.treeViewNode,
346
+ entity: e.viewer.scene.objects[e.treeViewNode.objectId] // Only defined if tree node is a leaf node
347
+ };
348
+
349
+ treeViewContextMenu.show(e.event.pageX, e.event.pageY);
350
+ });
351
+
352
+ // Left-clicking on a tree node isolates that object in the 3D view
353
+
354
+ this.on("nodeTitleClicked", (e) => {
355
+ const scene = viewer.scene;
356
+
357
+ e.treeViewPlugin.setCheckedAll(false);
358
+ e.treeViewPlugin.setNodeChecked(e.treeViewNode, true);
359
+
360
+ const event = (objectIds) => {
361
+ e.treeViewPlugin.unShowNode();
362
+ scene.setObjectsXRayed(scene.objectIds, true);
363
+ scene.setObjectsVisible(scene.objectIds, true);
364
+ scene.setObjectsXRayed(objectIds, false);
365
+ viewer.cameraFlight.flyTo({
366
+ aabb: scene.getAABB(objectIds),
367
+ duration: 0.5
368
+ }, () => {
369
+ setTimeout(function () {
370
+ scene.setObjectsVisible(scene.xrayedObjectIds, false);
371
+ scene.setObjectsXRayed(scene.xrayedObjectIds, false);
372
+ }, 500);
373
+ });
374
+ }
375
+
376
+ processByChildIdList(e.treeViewNode, event);
377
+ });
378
+ }
379
+
380
+ showInTree(objectId) {
381
+ viewer.scene.canvas.spinner.processes++;
382
+ BIMModel.GetParentIdList(objectId, true, null,
383
+ (data) => {
384
+ for (var i = 0; i < data.length; i++) {
385
+ this._expandSwitchElementByObjectId(data[i]);
386
+ }
387
+
388
+ viewer.scene.canvas.spinner.processes--;
389
+ },
390
+ (error) => {
391
+ viewer.scene.canvas.spinner.processes--;
392
+ }
393
+ );
394
+ }
395
+
396
+ setCheckedAll(checked) {
397
+ this.checked = checked;
398
+
399
+ this._rootNodes.forEach((rootNode) => {
400
+ this.setNodeChecked(rootNode, checked);
401
+ });
402
+ }
403
+
404
+
405
+ setNodeChecked(node, checked){
406
+ this.withNodeTree(node, (node) => {
407
+ if (node) {
408
+ const checkbox2 = document.getElementById(`checkbox-${node.nodeId}`);
409
+
410
+ if (checkbox2) {
411
+ checkbox2.checked = checked;
412
+ }
413
+
414
+ node.checked = checked;
415
+ }
416
+ });
417
+ }
418
+
419
+ _createNodeElement(node) {
420
+ const nodeElement = document.createElement('li');
421
+ //const nodeId = this._objectToNodeID(node.objectId);
422
+ const nodeId = node.nodeId;
423
+ if (node.xrayed) {
424
+ nodeElement.classList.add('xrayed-node');
425
+ }
426
+ nodeElement.id = nodeId;
427
+ if (node.children.length > 0 || node.childCount > 0) { //vitro || node.childCount > 0
428
+ const switchElementId = "switch-" + nodeId;
429
+ const switchElement = document.createElement('a');
430
+ switchElement.href = '#';
431
+ switchElement.id = switchElementId;
432
+ switchElement.textContent = '+';
433
+ switchElement.classList.add('plus');
434
+ switchElement.addEventListener('click', this._switchExpandHandler);
435
+ nodeElement.appendChild(switchElement);
436
+ }
437
+ const checkbox = document.createElement('input');
438
+ checkbox.id = `checkbox-${nodeId}`;
439
+ checkbox.type = "checkbox";
440
+ checkbox.checked = node.checked;
441
+ checkbox.style["pointer-events"] = "all";
442
+ checkbox.addEventListener("change", this._checkboxChangeHandler);
443
+ nodeElement.appendChild(checkbox);
444
+ const span = document.createElement('span');
445
+ span.textContent = node.title;
446
+ nodeElement.appendChild(span);
447
+ span.oncontextmenu = (e) => {
448
+ this.fire("contextmenu", {
449
+ event: e,
450
+ viewer: this._viewer,
451
+ treeViewPlugin: this,
452
+ treeViewNode: node
453
+ });
454
+ e.preventDefault();
455
+ };
456
+ span.onclick = (e) => {
457
+ this.fire("nodeTitleClicked", {
458
+ event: e,
459
+ viewer: this._viewer,
460
+ treeViewPlugin: this,
461
+ treeViewNode: node
462
+ });
463
+ e.preventDefault();
464
+ };
465
+ return nodeElement;
466
+ }
467
+
468
+ _createContainmentNodes2(metaObject, parent) {
469
+ if (this._pruneEmptyNodes && (metaObject._countEntities === 0)) {
470
+ return;
471
+ }
472
+ const metaObjectType = metaObject.type;
473
+ const metaObjectName = metaObject.name || metaObjectType;
474
+ const children = metaObject.children;
475
+ const objectId = metaObject.id;
476
+ const childCount = metaObject.childCount;//vitro
477
+ const node = {
478
+ nodeId: `${this._id}-${objectId}`,
479
+ objectId: objectId,
480
+ title: (!parent) ? (this._rootName || metaObjectName) : (metaObjectName && metaObjectName !== "" && metaObjectName !== "Undefined" && metaObjectName !== "Default") ? metaObjectName : metaObjectType,
481
+ type: metaObjectType,
482
+ parent: parent,
483
+ numEntities: 0,
484
+ numVisibleEntities: 0,
485
+ checked: (parent) ? parent.checked : this.checked,
486
+ xrayed: false,
487
+ children: [],
488
+ childCount:childCount,//vitro
489
+ };
490
+ if (parent) {
491
+ parent.children.push(node);
492
+ } else {
493
+ this._rootNodes.push(node);
494
+ }
495
+ this._objectNodes[node.objectId] = node;
496
+ this._nodeNodes[node.nodeId] = node;
497
+ if (children) {
498
+ for (let i = 0, len = children.length; i < len; i++) {
499
+ const childMetaObject = children[i];
500
+ this._createContainmentNodes2(childMetaObject, node);
501
+ }
502
+ }
503
+ }
504
+
505
+ addObjectsToMetaModel(metaObjects, metaModel) {//vitro method
506
+ const _metaObjectList = [];
507
+
508
+ if (metaObjects) {
509
+ for (let i = 0, len = metaObjects.length; i < len; i++) {
510
+ const metaObjectData = metaObjects[i];
511
+ const id = metaObjectData.id;
512
+ let metaObject = metaModel.metaScene.metaObjects[id];
513
+ if (!metaObject) {
514
+ const type = metaObjectData.type;
515
+ const originalSystemId = metaObjectData.originalSystemId;
516
+ const propertySetIds = metaObjectData.propertySets || metaObjectData.propertySetIds;
517
+ metaObject = new MetaObject({
518
+ id,
519
+ originalSystemId,
520
+ parentId: metaObjectData.parent,
521
+ type,
522
+ name: metaObjectData.name,
523
+ attributes: metaObjectData.attributes,
524
+ propertySetIds,
525
+ external: metaObjectData.external,
526
+ });
527
+ metaObject.childCount = metaObjectData.child_count,
528
+ metaModel.metaScene.metaObjects[id] = metaObject;
529
+ }
530
+ //metaObject.metaModels.push(metaModel);
531
+ if ((!metaObjectData.parent) || (metaObjectData.parent === -1)) {
532
+ metaModel.rootMetaObjects.push(metaObject);
533
+ metaModel.metaScene.rootMetaObjects[id] = metaObject;
534
+ }
535
+
536
+ metaModel.metaObjects.push(metaObject);
537
+ _metaObjectList.push(metaObject);
538
+ }
539
+ }
540
+
541
+ return _metaObjectList;
542
+ }
543
+
544
+ _expandSwitchElementByObjectId(id){
545
+ const nodeId = `${this._id}-${id}`;
546
+ const switchElementId = "switch-" + nodeId;
547
+
548
+ const switchElement = document.getElementById(switchElementId);
549
+
550
+ if (switchElement) {
551
+ this._expandSwitchElement(switchElement);
552
+ }
553
+ }
554
+
555
+ _expandSwitchElement(switchElement) {
556
+ const parentElement = switchElement.parentElement;
557
+ const expanded = parentElement.getElementsByTagName('li')[0];
558
+ if (expanded) {
559
+ return;
560
+ }
561
+ const nodeId = parentElement.id;
562
+ const switchNode = this._nodeNodes[nodeId];
563
+ const childNodes = switchNode.children;
564
+ if(childNodes.length > 0){
565
+ this.createChildElement(parentElement, childNodes, switchElement)
566
+ }
567
+ else{
568
+ this.loadChildNodes(switchNode.objectId, parentElement, switchElement);
569
+ }
570
+ }
571
+
572
+ loadChildNodes(objectId, parentElement, switchElement){
573
+ viewer.scene.canvas.spinner.processes++;
574
+
575
+ const callback = (metaObjects) =>
576
+ {
577
+ const metaModel = viewer.metaScene.metaModels[window.model.id];
578
+ const metaObjectList = this.addObjectsToMetaModel(metaObjects, metaModel);
579
+ const nodeId =`${this._id}-${objectId}`;
580
+ const parentNode = this._nodeNodes[nodeId];
581
+ const ul = document.createElement('ul');
582
+
583
+ metaObjectList.forEach((object)=> {
584
+ this._createContainmentNodes2(object, parentNode);
585
+ const childNodeId =`${this._id}-${object.id}`;
586
+ const childNode = this._nodeNodes[childNodeId];
587
+ const nodeElement = this._createNodeElement(childNode);
588
+
589
+ ul.appendChild(nodeElement);
590
+ });
591
+
592
+
593
+ parentElement.appendChild(ul);
594
+ switchElement.classList.remove('plus');
595
+ switchElement.classList.add('minus');
596
+ switchElement.textContent = '-';
597
+ switchElement.removeEventListener('click', this._switchExpandHandler);
598
+ switchElement.addEventListener('click', this._switchCollapseHandler);
599
+
600
+ viewer.scene.canvas.spinner.processes--;
601
+ };
602
+
603
+ const error = () => {
604
+ viewer.scene.canvas.spinner.processes--;
605
+ };
606
+
607
+ BIMModel.GetChildList(objectId, false, null, callback, error, false);
608
+ }
609
+
610
+ createChildElement(parentElement, childNodes, switchElement){
611
+ const nodeElements = childNodes.map((node) => {
612
+ return this._createNodeElement(node);
613
+ });
614
+ const ul = document.createElement('ul');
615
+ nodeElements.forEach((nodeElement) => {
616
+ ul.appendChild(nodeElement);
617
+ });
618
+ parentElement.appendChild(ul);
619
+ switchElement.classList.remove('plus');
620
+ switchElement.classList.add('minus');
621
+ switchElement.textContent = '-';
622
+ switchElement.removeEventListener('click', this._switchExpandHandler);
623
+ switchElement.addEventListener('click', this._switchCollapseHandler);
624
+ }
7
625
  }
8
- from '/resource/bimViewer/js/xeokit/xeokit-sdk.es.js?version=v5';
9
- import { VitroTreeViewPlugin } from "/resource/bimViewer/js/xeokit/VitroTreeViewPlugin.js?version=v5";
10
626
  window.initBimViewer = function(context) {var angleMeasurementsData = [
11
627
 
12
628
  ];
@@ -3213,7 +3213,7 @@ const defaultOptions = {
3213
3213
  kind: OptionKind.WORKER
3214
3214
  },
3215
3215
  workerSrc: {
3216
- value: "resource/pdfViewer/js/pdf.worker.js?v=2",
3216
+ value: "resource/pdfViewer/js/pdf.worker.js?version=1.1.84",
3217
3217
  kind: OptionKind.WORKER
3218
3218
  }
3219
3219
  };
@@ -17701,7 +17701,7 @@ function loadComparisonDocuments(compareObjList) {
17701
17701
 
17702
17702
  function loadDocumentA(doc) {
17703
17703
  var canvasId = 'compareCanvas-docA';
17704
- var color = '#ff5b2d';
17704
+ var color = 'rgba(255,68,68,1)';
17705
17705
  loadDocumentToCanvas(pdfDocObjA, doc.page, canvasId, color);
17706
17706
 
17707
17707
  var fullColorCanvasId = 'compareCanvas-docA-full';
@@ -17711,13 +17711,12 @@ function loadDocumentA(doc) {
17711
17711
 
17712
17712
  function loadDocumentB(doc) {
17713
17713
  var canvasId = 'compareCanvas-docB';
17714
- var color = '#0097ff';
17714
+ var color = 'rgba(68,68,255,1)';
17715
17715
  loadDocumentToCanvas(pdfDocObjB, doc.page, canvasId, color);
17716
17716
 
17717
17717
  var fullColorCanvasId = 'compareCanvas-docB-full';
17718
17718
  var colorFull = null;
17719
17719
  loadDocumentToCanvas(pdfDocObjB, doc.page, fullColorCanvasId, colorFull, true);
17720
-
17721
17720
  }
17722
17721
 
17723
17722
  function isComparedDocumentCurrentOpened(url) {