@abi-software/scaffoldvuer 0.1.52-beta.2 → 0.1.52-beta.5

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.
@@ -133,6 +133,13 @@ module.exports = require("element-ui/lib/theme-chalk/select.css");
133
133
 
134
134
  /***/ }),
135
135
 
136
+ /***/ "0fec":
137
+ /***/ (function(module, exports) {
138
+
139
+ module.exports = require("element-ui/lib/tree");
140
+
141
+ /***/ }),
142
+
136
143
  /***/ "11b0":
137
144
  /***/ (function(module, exports, __webpack_require__) {
138
145
 
@@ -167,17 +174,17 @@ module.exports = require("core-js/modules/es.array.for-each");
167
174
 
168
175
  /***/ }),
169
176
 
170
- /***/ "18d2":
177
+ /***/ "1ac9":
171
178
  /***/ (function(module, exports) {
172
179
 
173
- module.exports = require("core-js/modules/es.array.concat");
180
+ module.exports = require("element-ui/lib/container");
174
181
 
175
182
  /***/ }),
176
183
 
177
- /***/ "1ac9":
178
- /***/ (function(module, exports) {
184
+ /***/ "1b02":
185
+ /***/ (function(module, exports, __webpack_require__) {
179
186
 
180
- module.exports = require("element-ui/lib/container");
187
+ // extracted by mini-css-extract-plugin
181
188
 
182
189
  /***/ }),
183
190
 
@@ -245,6 +252,17 @@ module.exports = require("element-ui/lib/theme-chalk/loading.css");
245
252
 
246
253
  module.exports = require("element-ui/lib/header");
247
254
 
255
+ /***/ }),
256
+
257
+ /***/ "2e30":
258
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
259
+
260
+ "use strict";
261
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_7b24ee61_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3eb5");
262
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_7b24ee61_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_7b24ee61_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
263
+ /* unused harmony reexport * */
264
+
265
+
248
266
  /***/ }),
249
267
 
250
268
  /***/ "3170":
@@ -282,14 +300,10 @@ module.exports = require("element-ui/lib/drawer");
282
300
 
283
301
  /***/ }),
284
302
 
285
- /***/ "3a59":
286
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
287
-
288
- "use strict";
289
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_0_id_335c5764_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4646");
290
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_0_id_335c5764_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_0_id_335c5764_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
291
- /* unused harmony reexport * */
303
+ /***/ "3eb5":
304
+ /***/ (function(module, exports, __webpack_require__) {
292
305
 
306
+ // extracted by mini-css-extract-plugin
293
307
 
294
308
  /***/ }),
295
309
 
@@ -319,24 +333,28 @@ module.exports = _toConsumableArray;
319
333
 
320
334
  /***/ }),
321
335
 
322
- /***/ "44bd":
323
- /***/ (function(module, exports, __webpack_require__) {
336
+ /***/ "47d7":
337
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
338
+
339
+ "use strict";
340
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1b02");
341
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
342
+ /* unused harmony reexport * */
324
343
 
325
- // extracted by mini-css-extract-plugin
326
344
 
327
345
  /***/ }),
328
346
 
329
- /***/ "4646":
330
- /***/ (function(module, exports, __webpack_require__) {
347
+ /***/ "4914":
348
+ /***/ (function(module, exports) {
331
349
 
332
- // extracted by mini-css-extract-plugin
350
+ module.exports = require("element-ui/lib/color-picker");
333
351
 
334
352
  /***/ }),
335
353
 
336
- /***/ "4914":
354
+ /***/ "49d0":
337
355
  /***/ (function(module, exports) {
338
356
 
339
- module.exports = require("element-ui/lib/color-picker");
357
+ module.exports = require("element-ui/lib/theme-chalk/tree.css");
340
358
 
341
359
  /***/ }),
342
360
 
@@ -378,16 +396,12 @@ module.exports = require("core-js/modules/es.regexp.exec");
378
396
  /***/ "53d7":
379
397
  /***/ (function(module, exports, __webpack_require__) {
380
398
 
381
- __webpack_require__("ab7e");
382
-
383
399
  __webpack_require__("7c81");
384
400
 
385
401
  __webpack_require__("bcd8");
386
402
 
387
403
  __webpack_require__("2175");
388
404
 
389
- __webpack_require__("fd48");
390
-
391
405
  var _typeof = __webpack_require__("7037");
392
406
 
393
407
  var THREE = __webpack_require__("9206").THREE; // Current model's associate data, data fields, external link, nerve map
@@ -624,17 +638,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
624
638
  var intersected = _this.getIntersectedObject(intersects);
625
639
 
626
640
  var idObject = getIdObjectFromIntersect(intersected);
641
+ var coords = {
642
+ x: window_x,
643
+ y: window_y
644
+ };
627
645
 
628
646
  if (idObject.id) {
629
647
  if (idObject.object.userData.isGlyph) {
630
- if (idObject.object.name) _this.setSelectedByObjects([idObject.object], true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), true);
648
+ if (idObject.object.name) _this.setSelectedByObjects([idObject.object], coords, true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), coords, true);
631
649
  } else {
632
- _this.setSelectedByObjects([idObject.object], true);
650
+ _this.setSelectedByObjects([idObject.object], coords, true);
633
651
  }
634
652
 
635
653
  return;
636
654
  } else {
637
- _this.setSelectedByObjects([], true);
655
+ _this.setSelectedByObjects([], coords, true);
638
656
  }
639
657
  };
640
658
  };
@@ -650,17 +668,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
650
668
  var intersected = _this.getIntersectedObject(intersects);
651
669
 
652
670
  var idObject = getIdObjectFromIntersect(intersected);
671
+ var coords = {
672
+ x: window_x,
673
+ y: window_y
674
+ };
653
675
 
654
676
  if (idObject.id) {
655
677
  _this.displayArea.style.cursor = "pointer";
656
678
 
657
- _this.setHighlightedByObjects([idObject.object], true);
679
+ _this.setHighlightedByObjects([idObject.object], coords, true);
658
680
 
659
681
  return;
660
682
  } else {
661
683
  _this.displayArea.style.cursor = "auto";
662
684
 
663
- _this.setHighlightedByObjects([], true);
685
+ _this.setHighlightedByObjects([], coords, true);
664
686
  }
665
687
  };
666
688
  };
@@ -763,42 +785,34 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
763
785
  };
764
786
 
765
787
  var addOrganPartToSceneData = function addOrganPartToSceneData(zincObject) {
766
- if (zincObject.groupName) {
767
- if (zincObject.isGeometry) {
768
- if (!_this.sceneData.geometries.includes(zincObject.groupName)) {
769
- _this.sceneData.geometries.push(zincObject.groupName);
770
- }
771
- } else if (zincObject.isGlyphset) {
772
- if (!_this.sceneData.glyphsets.includes(zincObject.groupName)) {
773
- _this.sceneData.glyphsets.push(zincObject.groupName);
774
- }
775
- } else if (zincObject.isLines) {
776
- if (!_this.sceneData.lines.includes(zincObject.groupName)) {
777
- _this.sceneData.lines.push(zincObject.groupName);
778
- }
779
- } else if (zincObject.isPointset) {
780
- if (!_this.sceneData.pointsets.includes(zincObject.groupName)) {
781
- _this.sceneData.pointsets.push(zincObject.groupName);
782
- }
783
- }
788
+ if (zincObject.isGeometry) {
789
+ _this.sceneData.geometries.push(zincObject);
790
+ } else if (zincObject.isGlyphset) {
791
+ _this.sceneData.glyphsets.push(zincObject);
792
+ } else if (zincObject.isLines) {
793
+ _this.sceneData.lines.push(zincObject);
794
+ } else if (zincObject.isPointset) {
795
+ _this.sceneData.pointsets.push(zincObject);
784
796
  }
785
797
  };
786
798
 
787
799
  var addOrganPart = function addOrganPart(systemName, partName, useDefautColour, zincObject) {
788
800
  for (var i = 0; i < organPartAddedCallbacks.length; i++) {
789
- organPartAddedCallbacks[i](zincObject.groupName, _this.scene.isTimeVarying(), zincObject);
801
+ organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());
790
802
  }
791
803
 
792
804
  if (useDefautColour) modelsLoader.setGeometryColour(zincObject, systemName, partName);
793
805
  addOrganPartToSceneData(zincObject);
794
806
  var annotation = new (__webpack_require__("984d").annotation)();
807
+ var region = zincObject.region.getFullPath();
795
808
  annotation.data = {
796
809
  species: _this.sceneData.currentSpecies,
797
810
  system: systemName,
798
811
  part: partName,
799
- group: zincObject.groupName
812
+ group: zincObject.groupName,
813
+ region: region
800
814
  };
801
- zincObject.userData = [annotation];
815
+ zincObject.userData["annotation"] = annotation;
802
816
  };
803
817
  /**
804
818
  * New organs geometry has been added to the scene, add UIs and make
@@ -1396,6 +1410,17 @@ module.exports = require("core-js/modules/es.array.index-of");
1396
1410
 
1397
1411
  module.exports = require("element-ui/lib/locale/lang/en");
1398
1412
 
1413
+ /***/ }),
1414
+
1415
+ /***/ "6e86":
1416
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1417
+
1418
+ "use strict";
1419
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldTooltip_vue_vue_type_style_index_0_id_2ff3bbca_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d0b9");
1420
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldTooltip_vue_vue_type_style_index_0_id_2ff3bbca_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldTooltip_vue_vue_type_style_index_0_id_2ff3bbca_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
1421
+ /* unused harmony reexport * */
1422
+
1423
+
1399
1424
  /***/ }),
1400
1425
 
1401
1426
  /***/ "6ea3":
@@ -1405,6 +1430,13 @@ module.exports = require("element-ui/lib/row");
1405
1430
 
1406
1431
  /***/ }),
1407
1432
 
1433
+ /***/ "6faa":
1434
+ /***/ (function(module, exports) {
1435
+
1436
+ module.exports = require("core-js/modules/es.number.constructor");
1437
+
1438
+ /***/ }),
1439
+
1408
1440
  /***/ "7037":
1409
1441
  /***/ (function(module, exports, __webpack_require__) {
1410
1442
 
@@ -1547,7 +1579,7 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1547
1579
  if (intersects) {
1548
1580
  for (var i = 0; i < intersects.length; i++) {
1549
1581
  if (intersects[i] !== undefined) {
1550
- if (intersects[i].object && intersects[i].object.userData && intersects[i].object.userData.isZincObject && (intersects[i].object.name || intersects[i].object.userData.isMarker)) return intersects[i];
1582
+ if (intersects[i].object && intersects[i].object.userData && intersects[i].object.userData.isZincObject && (intersects[i].object.name && intersects[i].object.name !== "_Unnamed" || intersects[i].object.userData.isMarker)) return intersects[i];
1551
1583
  }
1552
1584
  }
1553
1585
  }
@@ -1557,7 +1589,6 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1557
1589
 
1558
1590
  RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1559
1591
  var annotations = [];
1560
- var count = 0;
1561
1592
 
1562
1593
  for (var i = 0; i < objects.length; i++) {
1563
1594
  var zincObject = objects[i].userData;
@@ -1567,13 +1598,13 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1567
1598
  if (zincObject.isGlyph || zincObject.isGlyphset) {
1568
1599
  var glyphset = zincObject;
1569
1600
  if (zincObject.isGlyph) glyphset = (_readOnlyError("glyphset"), zincObject.getGlyphset());
1570
- annotation = glyphset.userData ? glyphset.userData[0] : undefined;
1601
+ annotation = glyphset.userData ? glyphset.userData.annotation : undefined;
1571
1602
 
1572
1603
  if (annotation && annotation.data) {
1573
1604
  if (objects[i].name && objects[i].name != "") annotation.data.id = objects[i].name;else annotation.data.id = glyphset.groupName;
1574
1605
  }
1575
1606
  } else {
1576
- annotation = zincObject.userData ? zincObject.userData[0] : undefined;
1607
+ annotation = zincObject.userData ? zincObject.userData.annotation : undefined;
1577
1608
 
1578
1609
  if (annotation && annotation.data) {
1579
1610
  annotation.data.id = objects[i].name;
@@ -1581,27 +1612,28 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1581
1612
  }
1582
1613
  }
1583
1614
 
1584
- if (annotation) annotations[count++] = annotation;
1615
+ if (annotation) annotations.push(annotation);
1585
1616
  }
1586
1617
 
1587
1618
  return annotations;
1588
1619
  };
1589
1620
 
1590
- RendererModule.prototype.setHighlightedByObjects = function (objects, propagateChanges) {
1621
+ RendererModule.prototype.setHighlightedByObjects = function (objects, coords, propagateChanges) {
1591
1622
  var changed = this.graphicsHighlight.setHighlighted(objects);
1592
1623
 
1593
- if (changed && propagateChanges) {
1594
- var eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1595
-
1624
+ if (propagateChanges) {
1625
+ eventType = __webpack_require__("9b21").EVENT_TYPE.MOVE;
1626
+ if (changed) eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1596
1627
  var annotations = this.getAnnotationsFromObjects(objects);
1628
+ if (annotations.length > 0) annotations[0].coords = coords;
1597
1629
  this.publishChanges(annotations, eventType);
1598
1630
  }
1599
1631
 
1600
1632
  return changed;
1601
1633
  };
1602
1634
 
1603
- RendererModule.prototype.setHighlightedByZincObject = function (zincObject, propagateChanges) {
1604
- return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1635
+ RendererModule.prototype.setHighlightedByZincObject = function (zincObject, coords, propagateChanges) {
1636
+ return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1605
1637
  };
1606
1638
 
1607
1639
  RendererModule.prototype.setupLiveCoordinates = function (zincObjects) {
@@ -1638,7 +1670,7 @@ RendererModule.prototype.objectsToZincObjects = function (objects) {
1638
1670
  return zincObjects;
1639
1671
  };
1640
1672
 
1641
- RendererModule.prototype.setSelectedByObjects = function (objects, propagateChanges) {
1673
+ RendererModule.prototype.setSelectedByObjects = function (objects, coords, propagateChanges) {
1642
1674
  var changed = this.graphicsHighlight.setSelected(objects);
1643
1675
 
1644
1676
  if (changed) {
@@ -1646,18 +1678,19 @@ RendererModule.prototype.setSelectedByObjects = function (objects, propagateChan
1646
1678
  this.setupLiveCoordinates(zincObjects);
1647
1679
 
1648
1680
  if (propagateChanges) {
1649
- var eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1681
+ var _eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1650
1682
 
1651
1683
  var annotations = this.getAnnotationsFromObjects(objects);
1652
- this.publishChanges(annotations, eventType);
1684
+ if (annotations.length > 0) annotations[0].coords = coords;
1685
+ this.publishChanges(annotations, _eventType);
1653
1686
  }
1654
1687
  }
1655
1688
 
1656
1689
  return changed;
1657
1690
  };
1658
1691
 
1659
- RendererModule.prototype.setSelectedByZincObject = function (zincObject, propagateChanges) {
1660
- return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1692
+ RendererModule.prototype.setSelectedByZincObject = function (zincObject, coords, propagateChanges) {
1693
+ return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1661
1694
  };
1662
1695
 
1663
1696
  var addGlyphToArray = function addGlyphToArray(objects) {
@@ -1685,12 +1718,12 @@ RendererModule.prototype.findObjectsByGroupName = function (groupName) {
1685
1718
 
1686
1719
  RendererModule.prototype.setHighlightedByGroupName = function (groupName, propagateChanges) {
1687
1720
  var objects = this.findObjectsByGroupName(groupName);
1688
- return this.setHighlightedByObjects(objects, propagateChanges);
1721
+ return this.setHighlightedByObjects(objects, undefined, propagateChanges);
1689
1722
  };
1690
1723
 
1691
1724
  RendererModule.prototype.setSelectedByGroupName = function (groupName, propagateChanges) {
1692
1725
  var objects = this.findObjectsByGroupName(groupName);
1693
- return this.setSelectedByObjects(objects, propagateChanges);
1726
+ return this.setSelectedByObjects(objects, undefined, propagateChanges);
1694
1727
  };
1695
1728
 
1696
1729
  RendererModule.prototype.changeBackgroundColour = function (backgroundColourString) {
@@ -1801,6 +1834,17 @@ module.exports = require("core-js/modules/es.array.iterator");
1801
1834
 
1802
1835
  module.exports = require("element-ui/lib/theme-chalk/icon.css");
1803
1836
 
1837
+ /***/ }),
1838
+
1839
+ /***/ "8f55":
1840
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1841
+
1842
+ "use strict";
1843
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9372");
1844
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__);
1845
+ /* unused harmony reexport * */
1846
+
1847
+
1804
1848
  /***/ }),
1805
1849
 
1806
1850
  /***/ "907b":
@@ -1817,6 +1861,13 @@ module.exports = require("zincjs");
1817
1861
 
1818
1862
  /***/ }),
1819
1863
 
1864
+ /***/ "9372":
1865
+ /***/ (function(module, exports, __webpack_require__) {
1866
+
1867
+ // extracted by mini-css-extract-plugin
1868
+
1869
+ /***/ }),
1870
+
1820
1871
  /***/ "93e6":
1821
1872
  /***/ (function(module, exports) {
1822
1873
 
@@ -1864,7 +1915,8 @@ __webpack_require__("7c81");
1864
1915
  var EVENT_TYPE = {
1865
1916
  ALL: 0,
1866
1917
  SELECTED: 1,
1867
- HIGHLIGHTED: 2
1918
+ HIGHLIGHTED: 2,
1919
+ MOVE: 3
1868
1920
  };
1869
1921
 
1870
1922
  var SelectionEvent = function SelectionEvent(eventTypeIn, identifiersIn) {
@@ -1937,17 +1989,6 @@ exports.EVENT_TYPE = EVENT_TYPE;
1937
1989
 
1938
1990
  module.exports = require("@soda/get-current-script");
1939
1991
 
1940
- /***/ }),
1941
-
1942
- /***/ "a1d1":
1943
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1944
-
1945
- "use strict";
1946
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_226a06e2_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("44bd");
1947
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_226a06e2_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_226a06e2_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
1948
- /* unused harmony reexport * */
1949
-
1950
-
1951
1992
  /***/ }),
1952
1993
 
1953
1994
  /***/ "a497":
@@ -1983,17 +2024,6 @@ module.exports = require("core-js/modules/es.array.includes");
1983
2024
 
1984
2025
  module.exports = require("element-ui/lib/loading");
1985
2026
 
1986
- /***/ }),
1987
-
1988
- /***/ "add8":
1989
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1990
-
1991
- "use strict";
1992
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e8d1");
1993
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_vue_cli_service_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TraditionalControls_vue_vue_type_style_index_1_lang_css___WEBPACK_IMPORTED_MODULE_0__);
1994
- /* unused harmony reexport * */
1995
-
1996
-
1997
2027
  /***/ }),
1998
2028
 
1999
2029
  /***/ "b0e3":
@@ -2115,6 +2145,13 @@ exports.WEBGL = {
2115
2145
 
2116
2146
  /***/ }),
2117
2147
 
2148
+ /***/ "d0b9":
2149
+ /***/ (function(module, exports, __webpack_require__) {
2150
+
2151
+ // extracted by mini-css-extract-plugin
2152
+
2153
+ /***/ }),
2154
+
2118
2155
  /***/ "da60":
2119
2156
  /***/ (function(module, exports) {
2120
2157
 
@@ -2133,10 +2170,10 @@ module.exports = require("core-js/modules/es.array.from");
2133
2170
 
2134
2171
  /***/ }),
2135
2172
 
2136
- /***/ "e8d1":
2137
- /***/ (function(module, exports, __webpack_require__) {
2173
+ /***/ "f705":
2174
+ /***/ (function(module, exports) {
2138
2175
 
2139
- // extracted by mini-css-extract-plugin
2176
+ module.exports = require("core-js/modules/es.array.map");
2140
2177
 
2141
2178
  /***/ }),
2142
2179
 
@@ -2174,12 +2211,12 @@ if (typeof window !== 'undefined') {
2174
2211
  // Indicate to webpack that this file can be concatenated
2175
2212
  /* harmony default export */ var setPublicPath = (null);
2176
2213
 
2177
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"73d52850-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=226a06e2&scoped=true&
2178
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('TraditionalControls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"traditionalControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('OpacityControls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2214
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=7b24ee61&scoped=true&
2215
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('scaffold-tooltip',{attrs:{"label":_vm.tData.label,"visible":_vm.tData.visible,"x":_vm.tData.x,"y":_vm.tData.y}}),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('tree-controls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"treeControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('opacity-controls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2179
2216
  var staticRenderFns = []
2180
2217
 
2181
2218
 
2182
- // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=226a06e2&scoped=true&
2219
+ // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=7b24ee61&scoped=true&
2183
2220
 
2184
2221
  // EXTERNAL MODULE: external "core-js/modules/es.array.for-each"
2185
2222
  var es_array_for_each_ = __webpack_require__("139f");
@@ -2278,7 +2315,7 @@ var col_default = /*#__PURE__*/__webpack_require__.n(col_);
2278
2315
  var external_vue_ = __webpack_require__("8bbf");
2279
2316
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
2280
2317
 
2281
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"73d52850-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&
2318
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&
2282
2319
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.material!=undefined)?_c('div',{ref:"control",staticClass:"opacity-control"},[_c('el-drawer',{staticClass:"drawer-content",attrs:{"custom-class":"my-drawer","visible":_vm.drawerOpen,"append-to-body":false,"modal-append-to-body":false,"size":"300","with-header":false,"wrapper-closable":false,"modal":false},on:{"update:visible":function($event){_vm.drawerOpen=$event}}},[(_vm.drawerOpen)?_c('div',{staticClass:"tab-button close",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-right"})]):_vm._e(),_c('el-container',{staticClass:"opacity-container"},[_c('el-header',{staticClass:"header",attrs:{"height":"37px"}},[_c('div',[_vm._v("Opacity")])]),_c('el-main',{staticClass:"main"},[_c('div',{staticClass:"block"},[_c('span',{staticClass:"display"},[_vm._v(_vm._s(_vm.displayString))]),_c('el-slider',{staticClass:"my-slider",attrs:{"step":0.01,"min":0,"max":1,"format-tooltip":_vm.formatTooltip,"show-tooltip":false},model:{value:(_vm.material.opacity),callback:function ($$v) {_vm.$set(_vm.material, "opacity", $$v)},expression:"material.opacity"}})],1)])],1)],1),(!_vm.drawerOpen)?_c('div',{staticClass:"tab-button open",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})]):_vm._e()],1):_vm._e()}
2283
2320
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_staticRenderFns = []
2284
2321
 
@@ -2579,25 +2616,149 @@ var component = normalizeComponent(
2579
2616
  )
2580
2617
 
2581
2618
  /* harmony default export */ var OpacityControls = (component.exports);
2582
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"73d52850-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TraditionalControls.vue?vue&type=template&id=335c5764&scoped=true&
2583
- var TraditionalControlsvue_type_template_id_335c5764_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"traditional-location",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:"traditional-container"},[_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('div',{staticClass:"regions-display-text"},[_vm._v(" Regions ")])]),_c('el-col',{attrs:{"span":12}},[_c('el-checkbox',{staticClass:"all-checkbox",attrs:{"indeterminate":_vm.isIndeterminate},on:{"change":_vm.handleCheckAllChange},model:{value:(_vm.checkAll),callback:function ($$v) {_vm.checkAll=$$v},expression:"checkAll"}},[_vm._v(" Display all ")])],1)],1),_c('el-checkbox-group',{staticClass:"checkbox-group",attrs:{"size":"small"},on:{"change":_vm.handleCheckedItemsChange},model:{value:(_vm.checkedItems),callback:function ($$v) {_vm.checkedItems=$$v},expression:"checkedItems"}},[_c('div',{staticClass:"checkbox-group-inner"},_vm._l((_vm.sortedPrimitiveGroups),function(item){return _c('el-row',{key:item,attrs:{"label":item}},[_c('div',{staticClass:"checkbox-container"},[_c('el-checkbox',{staticClass:"my-checkbox",class:{ activeItem: _vm.activeRegion === item,
2584
- hoverItem: _vm.hoverRegion === item },attrs:{"label":item,"checked":true},on:{"change":function($event){return _vm.visibilityToggle(item, $event)}},nativeOn:{"click":function($event){return _vm.itemClicked(item, $event)},"mouseover":function($event){return _vm.checkboxHover(item)}}},[_c('el-color-picker',{class:{ 'show-picker' : _vm.showColourPicker },attrs:{"value":_vm.getColour(item),"size":"small","popper-class":_vm.myPopperClass},on:{"change":function($event){return _vm.setColour(item, $event)}}}),_vm._v(" "+_vm._s(item)+" ")],1)],1)])}),1)])],1),_c('div',{staticClass:"drawer-button",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})])])}
2585
- var TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns = []
2619
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=template&id=2ff3bbca&scoped=true&
2620
+ var ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tooltipContainer",style:(_vm.position)},[_c('el-popover',{ref:"tooltip",attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"tooltip-popper non-selectable"},model:{value:(_vm.display),callback:function ($$v) {_vm.display=$$v},expression:"display"}},[_c('div',[_vm._v(_vm._s(_vm.label))]),_c('i',{directives:[{name:"popover",rawName:"v-popover:tooltip",arg:"tooltip"}]})])],1)}
2621
+ var ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_staticRenderFns = []
2622
+
2623
+
2624
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=template&id=2ff3bbca&scoped=true&
2625
+
2626
+ // EXTERNAL MODULE: external "core-js/modules/es.number.constructor"
2627
+ var es_number_constructor_ = __webpack_require__("6faa");
2628
+
2629
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2630
+
2631
+
2632
+
2633
+
2634
+ //
2635
+ //
2636
+ //
2637
+ //
2638
+ //
2639
+ //
2640
+ //
2641
+ //
2642
+ //
2643
+ //
2644
+ //
2645
+ //
2646
+ //
2647
+ //
2648
+ //
2649
+ //
2650
+
2651
+ /* eslint-disable no-alert, no-console */
2652
+
2653
+
2654
+
2655
+ locale_default.a.use(en_default.a);
2656
+ external_vue_default.a.use(popover_default.a);
2657
+ /**
2658
+ * A component to control the opacity of the target object.
2659
+ */
2660
+
2661
+ /* harmony default export */ var ScaffoldTooltipvue_type_script_lang_js_ = ({
2662
+ name: "ScaffoldTooltip",
2663
+ props: {
2664
+ label: {
2665
+ type: String,
2666
+ default: ""
2667
+ },
2668
+ visible: {
2669
+ type: Boolean,
2670
+ default: false
2671
+ },
2672
+ x: {
2673
+ type: Number,
2674
+ default: 200
2675
+ },
2676
+ y: {
2677
+ type: Number,
2678
+ default: 200
2679
+ }
2680
+ },
2681
+ data: function data() {
2682
+ return {
2683
+ display: false
2684
+ };
2685
+ },
2686
+ computed: {
2687
+ position: function position() {
2688
+ return {
2689
+ left: this.x + "px",
2690
+ top: this.y - 30 + "px"
2691
+ };
2692
+ }
2693
+ },
2694
+ watch: {
2695
+ label: {
2696
+ handler: function handler() {
2697
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2698
+ },
2699
+ immediate: true
2700
+ },
2701
+ visible: {
2702
+ handler: function handler() {
2703
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2704
+ },
2705
+ immediate: true
2706
+ }
2707
+ }
2708
+ });
2709
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2710
+ /* harmony default export */ var components_ScaffoldTooltipvue_type_script_lang_js_ = (ScaffoldTooltipvue_type_script_lang_js_);
2711
+ // EXTERNAL MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=style&index=0&id=2ff3bbca&scoped=true&lang=scss&
2712
+ var ScaffoldTooltipvue_type_style_index_0_id_2ff3bbca_scoped_true_lang_scss_ = __webpack_require__("6e86");
2586
2713
 
2714
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue
2587
2715
 
2588
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=template&id=335c5764&scoped=true&
2589
2716
 
2590
- // EXTERNAL MODULE: external "core-js/modules/es.array.concat"
2591
- var es_array_concat_ = __webpack_require__("18d2");
2717
+
2718
+
2719
+
2720
+
2721
+ /* normalize component */
2722
+
2723
+ var ScaffoldTooltip_component = normalizeComponent(
2724
+ components_ScaffoldTooltipvue_type_script_lang_js_,
2725
+ ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_render,
2726
+ ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_staticRenderFns,
2727
+ false,
2728
+ null,
2729
+ "2ff3bbca",
2730
+ null
2731
+
2732
+ )
2733
+
2734
+ /* harmony default export */ var ScaffoldTooltip = (ScaffoldTooltip_component.exports);
2735
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2736
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tree-controls",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:"traditional-container"},[_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('div',{staticClass:"regions-display-text"},[_vm._v(" Regions ")])])],1),_c('div',{staticClass:"tree-container"},[_c('el-tree',{ref:"regionTree",attrs:{"default-expand-all":"","node-key":"id","show-checkbox":"","check-strictly":true,"data":_vm.treeData,"default-checked-keys":['__r/'],"expand-on-click-node":false},on:{"check":_vm.checkChanged},scopedSlots:_vm._u([{key:"default",fn:function(ref){
2737
+ var node = ref.node;
2738
+ var data = ref.data;
2739
+ return _c('span',{staticClass:"region-tree-node",class:{
2740
+ activeItem:
2741
+ (_vm.active.group === data.label &&
2742
+ ((_vm.active.regionPath === data.regionPath) ||
2743
+ _vm.active.regionPath === undefined)),
2744
+ hoverItem:
2745
+ (_vm.hover.group === data.label &&
2746
+ ((_vm.hover.regionPath === data.regionPath) ||
2747
+ _vm.hover.regionPath === undefined))
2748
+ },on:{"click":function($event){return _vm.changeActiveByNode(data, true)},"mouseover":function($event){return _vm.changeHoverByNode(data, true)}}},[(data.primitives)?_c('el-color-picker',{class:{ 'show-picker': _vm.showColourPicker },attrs:{"value":_vm.getColour(data),"size":"small","popper-class":_vm.myPopperClass},on:{"change":function($event){return _vm.setColour(data, $event)}}}):_vm._e(),_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1)],1),_c('div',{staticClass:"drawer-button",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})])])}
2749
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns = []
2750
+
2751
+
2752
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2753
+
2754
+ // EXTERNAL MODULE: external "core-js/modules/es.array.find"
2755
+ var es_array_find_ = __webpack_require__("fe0e");
2592
2756
 
2593
2757
  // EXTERNAL MODULE: external "core-js/modules/es.array.includes"
2594
2758
  var es_array_includes_ = __webpack_require__("ab7e");
2595
2759
 
2596
- // EXTERNAL MODULE: external "core-js/modules/es.array.index-of"
2597
- var es_array_index_of_ = __webpack_require__("6bb1");
2598
-
2599
- // EXTERNAL MODULE: external "core-js/modules/es.array.splice"
2600
- var es_array_splice_ = __webpack_require__("7c81");
2760
+ // EXTERNAL MODULE: external "core-js/modules/es.array.map"
2761
+ var es_array_map_ = __webpack_require__("f705");
2601
2762
 
2602
2763
  // EXTERNAL MODULE: external "core-js/modules/es.regexp.exec"
2603
2764
  var es_regexp_exec_ = __webpack_require__("51f7");
@@ -2684,6 +2845,13 @@ function _nonIterableSpread() {
2684
2845
  function _toConsumableArray(arr) {
2685
2846
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
2686
2847
  }
2848
+ // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/tree.css"
2849
+ var tree_css_ = __webpack_require__("49d0");
2850
+
2851
+ // EXTERNAL MODULE: external "element-ui/lib/tree"
2852
+ var tree_ = __webpack_require__("0fec");
2853
+ var tree_default = /*#__PURE__*/__webpack_require__.n(tree_);
2854
+
2687
2855
  // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/color-picker.css"
2688
2856
  var color_picker_css_ = __webpack_require__("3666");
2689
2857
 
@@ -2705,7 +2873,11 @@ var checkbox_css_ = __webpack_require__("55ee");
2705
2873
  var checkbox_ = __webpack_require__("b777");
2706
2874
  var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2707
2875
 
2708
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TraditionalControls.vue?vue&type=script&lang=js&
2876
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=script&lang=js&
2877
+
2878
+
2879
+
2880
+
2709
2881
 
2710
2882
 
2711
2883
 
@@ -2726,12 +2898,6 @@ var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2726
2898
 
2727
2899
 
2728
2900
 
2729
- //
2730
- //
2731
- //
2732
- //
2733
- //
2734
- //
2735
2901
  //
2736
2902
  //
2737
2903
  //
@@ -2811,12 +2977,36 @@ external_vue_default.a.use(checkbox_default.a);
2811
2977
  external_vue_default.a.use(checkbox_group_default.a);
2812
2978
  external_vue_default.a.use(color_picker_default.a);
2813
2979
  external_vue_default.a.use(row_default.a);
2980
+ external_vue_default.a.use(tree_default.a);
2981
+
2982
+ var nameSorting = function nameSorting(a, b) {
2983
+ var labelA = a.label.toUpperCase();
2984
+ var labelB = b.label.toUpperCase();
2985
+
2986
+ if (labelA < labelB) {
2987
+ return -1;
2988
+ }
2989
+
2990
+ if (labelA > labelB) {
2991
+ return 1;
2992
+ }
2993
+
2994
+ return 0;
2995
+ };
2996
+
2997
+ var extractAllIds = function extractAllIds(item, list) {
2998
+ list.push(item.id);
2999
+ if (item.children) item.children.forEach(function (child) {
3000
+ return extractAllIds(child, list);
3001
+ });
3002
+ };
2814
3003
  /**
2815
3004
  * A vue component for toggling visibility of various regions.
2816
3005
  */
2817
3006
 
2818
- /* harmony default export */ var TraditionalControlsvue_type_script_lang_js_ = ({
2819
- name: "TraditionalControls",
3007
+
3008
+ /* harmony default export */ var TreeControlsvue_type_script_lang_js_ = ({
3009
+ name: "TreeControls",
2820
3010
  props: {
2821
3011
  /**
2822
3012
  * @ignore
@@ -2833,12 +3023,19 @@ external_vue_default.a.use(row_default.a);
2833
3023
  },
2834
3024
  data: function data() {
2835
3025
  return {
2836
- checkAll: true,
2837
- isIndeterminate: false,
2838
- checkedItems: [],
2839
- sortedPrimitiveGroups: [],
2840
- activeRegion: "",
2841
- hoverRegion: "",
3026
+ treeData: [{
3027
+ label: "Root",
3028
+ id: "__r/",
3029
+ children: []
3030
+ }],
3031
+ active: {
3032
+ group: "",
3033
+ regionPath: undefined
3034
+ },
3035
+ hover: {
3036
+ group: "",
3037
+ regionPath: undefined
3038
+ },
2842
3039
  myPopperClass: "hide-scaffold-colour-popup",
2843
3040
  drawerOpen: true
2844
3041
  };
@@ -2852,68 +3049,179 @@ external_vue_default.a.use(row_default.a);
2852
3049
  }
2853
3050
  },
2854
3051
  created: function created() {
2855
- var tmpArray = this.module.sceneData.geometries.concat(this.module.sceneData.lines);
2856
- tmpArray = tmpArray.concat(this.module.sceneData.glyphsets);
2857
- tmpArray = uniq(tmpArray.concat(this.module.sceneData.pointset));
2858
- this.sortedPrimitiveGroups = orderBy(tmpArray);
3052
+ var _this = this;
3053
+
3054
+ this.module.sceneData.geometries.forEach(function (zincObject) {
3055
+ _this.organsAdded(zincObject);
3056
+ });
3057
+ this.module.sceneData.lines.forEach(function (zincObject) {
3058
+ _this.organsAdded(zincObject);
3059
+ });
3060
+ this.module.sceneData.glyphsets.forEach(function (zincObject) {
3061
+ _this.organsAdded(zincObject);
3062
+ });
3063
+ this.module.sceneData.pointsets.forEach(function (zincObject) {
3064
+ _this.organsAdded(zincObject);
3065
+ });
2859
3066
  this.module.addOrganPartAddedCallback(this.organsAdded);
3067
+ this.__nodeNumbers = 1;
2860
3068
  },
2861
3069
  destroyed: function destroyed() {
2862
3070
  this.sortedPrimitiveGroups = undefined;
2863
3071
  },
2864
3072
  methods: {
2865
- /**
2866
- * This is called when a new organ is read into the scene.
2867
- */
2868
- organsAdded: function organsAdded(name) {
2869
- if (name && name != "") {
2870
- var tmpArray = uniq(this.sortedPrimitiveGroups.concat([name]));
2871
- tmpArray = orderBy(tmpArray);
2872
- var index = tmpArray.indexOf(undefined);
2873
-
2874
- if (index > -1) {
2875
- tmpArray.splice(index, 1);
3073
+ addTreeItem: function addTreeItem(parentContainer, item) {
3074
+ var _this2 = this;
3075
+
3076
+ for (var i = 0; i < parentContainer.length; i++) {
3077
+ if (parentContainer[i].id === item.id) {
3078
+ if (item.primitives && parentContainer[i].primitives) {
3079
+ var _parentContainer$i$pr;
3080
+
3081
+ (_parentContainer$i$pr = parentContainer[i].primitives).push.apply(_parentContainer$i$pr, _toConsumableArray(item.primitives));
3082
+
3083
+ return;
3084
+ }
3085
+ }
3086
+ }
3087
+
3088
+ parentContainer.push(item);
3089
+ parentContainer.sort(function (a, b) {
3090
+ return nameSorting(a, b);
3091
+ });
3092
+ this.__nodeNumbers++;
3093
+ this.$nextTick(function () {
3094
+ _this2.$refs.regionTree.setChecked(item.id, true);
3095
+ });
3096
+ },
3097
+ // find or create new region, region id is always prefixed with
3098
+ // '__r/'
3099
+ findOrCreateRegion: function findOrCreateRegion(data, paths, prefix) {
3100
+ //check if root region has been set
3101
+ if (!this.treeData[0].region && this.module && this.module.scene) {
3102
+ this.treeData[0].region = this.module.scene.getRootRegion();
3103
+ }
3104
+
3105
+ if (paths.length > 0) {
3106
+ var _paths = _toConsumableArray(paths);
3107
+
3108
+ var childRegion = data.children.find(function (child) {
3109
+ return child.label == _paths[0];
3110
+ });
3111
+ var path = prefix + "/" + paths[0];
3112
+ var id = "__r" + path;
3113
+
3114
+ if (!childRegion) {
3115
+ var region = this.treeData[0].region.findChildFromPath(path);
3116
+ childRegion = {
3117
+ label: _paths[0],
3118
+ id: id,
3119
+ children: [],
3120
+ region: region
3121
+ };
3122
+ this.addTreeItem(data.children, childRegion);
2876
3123
  }
2877
3124
 
2878
- this.sortedPrimitiveGroups = tmpArray;
3125
+ _paths.shift();
3126
+
3127
+ return this.findOrCreateRegion(childRegion, _paths, path);
3128
+ } else {
3129
+ return data;
2879
3130
  }
2880
3131
  },
2881
3132
 
2882
3133
  /**
2883
- * Select a region by its name.
3134
+ * This is called when a new organ is read into the scene.
2884
3135
  */
2885
- changeActiveByName: function changeActiveByName(name, propagate) {
2886
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3136
+ organsAdded: function organsAdded(zincObject) {
3137
+ var region = zincObject.region;
3138
+
3139
+ if (region) {
3140
+ var paths = region.getFullSeparatedPath();
3141
+ var regionData = this.findOrCreateRegion(this.treeData[0], paths, "");
3142
+
3143
+ if (zincObject.groupName) {
3144
+ if (regionData) {
3145
+ if (!regionData.children) {
3146
+ regionData.children = [];
3147
+ }
3148
+
3149
+ var id = regionData.id.replace("__r/", "") + "/" + zincObject.groupName;
3150
+ var child = {
3151
+ label: zincObject.groupName,
3152
+ id: id,
3153
+ primitives: [zincObject],
3154
+ regionPath: zincObject.region.getFullPath()
3155
+ };
3156
+ this.addTreeItem(regionData.children, child);
3157
+ }
3158
+ }
3159
+ }
3160
+ },
3161
+ checkChanged: function checkChanged(node, data) {
3162
+ var checked = data.checkedKeys.includes(node.id);
3163
+ if (node.region) node.region.setVisibility(checked);
2887
3164
 
2888
- if (targetObject && targetObject.getVisibility()) {
2889
- this.activeRegion = name;
2890
- this.$emit("object-selected", targetObject, propagate);
3165
+ if (node.primitives) {
3166
+ node.primitives.forEach(function (primitive) {
3167
+ primitive.setVisibility(checked);
3168
+ });
3169
+ }
3170
+ },
3171
+ changeActiveByPrimitive: function changeActiveByPrimitive(primitive, propagate) {
3172
+ if (primitive && primitive.getVisibility()) {
3173
+ this.active.group = primitive.groupName;
3174
+ this.active.regionPath = primitive.region.getFullPath();
3175
+ console.log(this.active);
3176
+ this.$emit("object-selected", primitive, propagate);
2891
3177
  } else {
2892
3178
  this.removeActive(propagate);
2893
3179
  }
2894
3180
 
2895
3181
  this.removeHover(propagate);
2896
3182
  },
3183
+ changeHoverByPrimitive: function changeHoverByPrimitive(primitive, propagate) {
3184
+ if (primitive) {
3185
+ this.hover.group = primitive.groupName;
3186
+ this.hover.regionPath = primitive.region.getFullPath();
3187
+ this.$emit("object-hovered", primitive, propagate);
3188
+ } else {
3189
+ this.removeHover(propagate);
3190
+ }
3191
+ },
2897
3192
 
2898
3193
  /**
2899
- * Hover a region by its name.
3194
+ * Select a region by its name.
2900
3195
  */
2901
- changeHoverByName: function changeHoverByName(name, propagate) {
2902
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3196
+ changeActiveByName: function changeActiveByName(name, regionPath, propagate) {
3197
+ var rootRegion = this.module.scene.getRootRegion();
3198
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3199
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3200
+ this.changeActiveByPrimitive(targetObject, propagate);
3201
+ },
2903
3202
 
2904
- if (targetObject) {
2905
- this.hoverRegion = name;
2906
- this.$emit("object-hovered", targetObject, propagate);
2907
- } else {
2908
- this.removeHover(propagate);
2909
- }
3203
+ /**
3204
+ * Hover a region by its name.
3205
+ */
3206
+ changeHoverByName: function changeHoverByName(name, regionPath, propagate) {
3207
+ var rootRegion = this.module.scene.getRootRegion();
3208
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3209
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3210
+ this.changeHoverByPrimitive(targetObject, propagate);
3211
+ },
3212
+ changeActiveByNode: function changeActiveByNode(node, propagate) {
3213
+ if (node.primitives) this.changeActiveByPrimitive(node.primitives[0], propagate);
3214
+ },
3215
+ changeHoverByNode: function changeHoverByNode(node, propagate) {
3216
+ if (node.primitives) this.changeHoverByPrimitive(node.primitives[0], propagate);
2910
3217
  },
2911
3218
 
2912
3219
  /**
2913
3220
  * Unselect the current selected region.
2914
3221
  */
2915
3222
  removeActive: function removeActive(propagate) {
2916
- this.activeRegion = "";
3223
+ this.active.group = "";
3224
+ this.active.regionPath = undefined;
2917
3225
  this.$emit("object-selected", undefined, propagate);
2918
3226
  },
2919
3227
 
@@ -2921,7 +3229,8 @@ external_vue_default.a.use(row_default.a);
2921
3229
  * Unselect the current hover region.
2922
3230
  */
2923
3231
  removeHover: function removeHover(propagate) {
2924
- this.hoverRegion = "";
3232
+ this.hover.group = "";
3233
+ this.hover.regionPath = undefined;
2925
3234
  this.$emit("object-hovered", undefined, propagate);
2926
3235
  },
2927
3236
 
@@ -2929,68 +3238,47 @@ external_vue_default.a.use(row_default.a);
2929
3238
  * Reset the controls.
2930
3239
  */
2931
3240
  clear: function clear() {
2932
- this.sortedPrimitiveGroups = [];
2933
- this.checkedItems = [];
2934
- this.checkAll = true;
2935
- this.isIndeterminate = false;
2936
- this.activeRegion = "";
2937
- this.hoverRegion = "";
3241
+ this.active.group = "";
3242
+ this.active.regionPath = undefined;
3243
+ this.hover.group = "";
3244
+ this.hover.regionPath = undefined;
3245
+ this.$refs.regionTree.updateKeyChildren("__r/", []);
2938
3246
  this.$emit("object-selected", undefined);
2939
3247
  },
2940
- getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(name) {
2941
- if (this.module && this.module.scene) {
2942
- var array = this.module.scene.findGeometriesWithGroupName(name);
3248
+ getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(region, name) {
3249
+ if (region) {
3250
+ var array = region.findGeometriesWithGroupName(name);
2943
3251
  if (array.length > 0) return array[0];
2944
- array = this.module.scene.findGlyphsetsWithGroupName(name);
3252
+ array = region.findGlyphsetsWithGroupName(name);
2945
3253
  if (array.length > 0) return array[0];
2946
- array = this.module.scene.findLinesWithGroupName(name);
3254
+ array = region.findLinesWithGroupName(name);
2947
3255
  if (array.length > 0) return array[0];
2948
- array = this.module.scene.findPointsetsWithGroupName(name);
3256
+ array = region.findPointsetsWithGroupName(name);
2949
3257
  if (array.length > 0) return array[0];
2950
3258
  }
2951
3259
 
2952
3260
  return undefined;
2953
3261
  },
2954
- getColour: function getColour(name) {
2955
- var graphic = this.getFirstZincObjectWithGroupName(name);
3262
+ getColour: function getColour(nodeData) {
3263
+ if (nodeData) {
3264
+ var graphic = nodeData.primitives[0];
2956
3265
 
2957
- if (graphic) {
2958
- var hex = graphic.getColourHex();
2959
- if (hex) return "#" + hex;
3266
+ if (graphic) {
3267
+ var hex = graphic.getColourHex();
3268
+ if (hex) return "#" + hex;
3269
+ }
2960
3270
  }
2961
3271
 
2962
3272
  return "#FFFFFF";
2963
3273
  },
2964
- setColour: function setColour(name, value) {
2965
- var graphic = this.getFirstZincObjectWithGroupName(name);
2966
-
2967
- if (graphic) {
2968
- var hexString = value.replace("#", "0x");
2969
- graphic.setColourHex(hexString);
2970
- }
2971
- },
2972
- checkboxHover: function checkboxHover(name) {
2973
- this.changeHoverByName(name, true);
2974
- },
2975
- itemClicked: function itemClicked(name, event) {
2976
- if (!(event.target.classList.contains("el-checkbox__inner") || event.target.classList.contains("el-checkbox__original"))) {
2977
- this.changeActiveByName(name, true);
2978
- event.preventDefault();
2979
- }
2980
- },
2981
- handleCheckedItemsChange: function handleCheckedItemsChange() {
2982
- var unnamed = this.checkedItems.includes(undefined) ? true : false;
2983
- var checkedCount = this.checkedItems.length;
2984
- if (unnamed) checkedCount--;
2985
- this.checkAll = checkedCount === this.sortedPrimitiveGroups.length;
2986
- this.isIndeterminate = checkedCount > 0 && checkedCount < this.sortedPrimitiveGroups.length;
2987
- },
2988
- handleCheckAllChange: function handleCheckAllChange(val) {
2989
- this.checkedItems = val ? _toConsumableArray(this.sortedPrimitiveGroups) : [];
2990
- this.isIndeterminate = false;
3274
+ setColour: function setColour(nodeData, value) {
3275
+ if (nodeData) {
3276
+ var graphic = nodeData.primitives[0];
2991
3277
 
2992
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
2993
- this.visibilityToggle(this.sortedPrimitiveGroups[i], this.checkAll);
3278
+ if (graphic) {
3279
+ var hexString = value.replace("#", "0x");
3280
+ graphic.setColourHex(hexString);
3281
+ }
2994
3282
  }
2995
3283
  },
2996
3284
  viewAll: function viewAll() {
@@ -3013,56 +3301,70 @@ external_vue_default.a.use(row_default.a);
3013
3301
  this.drawerOpen = !this.drawerOpen;
3014
3302
  this.$emit("drawer-toggled", this.drawerOpen);
3015
3303
  },
3016
- getState: function getState() {
3017
- if (this.checkAll) {
3018
- return {
3019
- checkAll: true
3020
- };
3021
- }
3022
-
3023
- var checkedItems = _toConsumableArray(this.checkedItems);
3024
-
3025
- var index = checkedItems.indexOf(undefined);
3026
-
3027
- if (index > -1) {
3028
- checkedItems.splice(index, 1);
3029
- }
3304
+ setTreeVisibility: function setTreeVisibility(node, list) {
3305
+ var _this3 = this;
3030
3306
 
3307
+ var flag = false;
3308
+ if (list.includes(node.id)) flag = true;
3309
+ if (node.region) node.region.setVisibility(flag);
3310
+ if (node.primitives) node.primitives.forEach(function (primitive) {
3311
+ return primitive.setVisibility(flag);
3312
+ });
3313
+ if (node.children) node.children.forEach(function (child) {
3314
+ return _this3.setTreeVisibility(child, list);
3315
+ });
3316
+ },
3317
+ checkAllKeys: function checkAllKeys() {
3318
+ var keysList = [];
3319
+ extractAllIds(this.treeData[0], keysList);
3320
+ this.setTreeVisibility(this.treeData[0], keysList);
3321
+ this.$refs.regionTree.setCheckedKeys(keysList);
3322
+ },
3323
+ getState: function getState() {
3324
+ var checkedItems = this.$refs.regionTree.getCheckedKeys();
3325
+ if (checkedItems.length === this.__nodeNumbers) return {
3326
+ checkAll: true,
3327
+ version: "2.0"
3328
+ };
3031
3329
  return {
3032
- checkedItems: checkedItems
3330
+ checkedItems: checkedItems,
3331
+ version: "2.0"
3033
3332
  };
3034
3333
  },
3035
3334
  setState: function setState(state) {
3036
3335
  if (state) {
3037
3336
  if (state.checkAll) {
3038
- this.checkedItems = _toConsumableArray(this.sortedPrimitiveGroups);
3039
-
3040
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
3041
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[i], true);
3042
- }
3337
+ this.checkAllKeys();
3043
3338
  } else if (state.checkedItems) {
3044
- this.checkedItems = _toConsumableArray(state.checkedItems);
3339
+ var list = [];
3340
+
3341
+ if (state.version !== "2.0") {
3342
+ list = state.checkedItems.map(function (item) {
3343
+ return "/" + item;
3344
+ });
3345
+ list.shift("__r/");
3346
+ } else {
3347
+ var _list;
3045
3348
 
3046
- for (var _i = 0; _i < this.sortedPrimitiveGroups.length; _i++) {
3047
- var visible = this.checkedItems.includes(this.sortedPrimitiveGroups[_i]);
3048
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[_i], visible);
3349
+ (_list = list).push.apply(_list, _toConsumableArray(state.checkedItems));
3049
3350
  }
3351
+
3352
+ this.setTreeVisibility(this.treeData[0], list);
3353
+ this.$refs.regionTree.setCheckedKeys(list);
3050
3354
  }
3051
3355
  }
3052
-
3053
- this.handleCheckedItemsChange();
3054
3356
  }
3055
3357
  }
3056
3358
  });
3057
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=script&lang=js&
3058
- /* harmony default export */ var components_TraditionalControlsvue_type_script_lang_js_ = (TraditionalControlsvue_type_script_lang_js_);
3059
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=0&id=335c5764&scoped=true&lang=scss&
3060
- var TraditionalControlsvue_type_style_index_0_id_335c5764_scoped_true_lang_scss_ = __webpack_require__("3a59");
3359
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=script&lang=js&
3360
+ /* harmony default export */ var components_TreeControlsvue_type_script_lang_js_ = (TreeControlsvue_type_script_lang_js_);
3361
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&
3362
+ var TreeControlsvue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss_ = __webpack_require__("47d7");
3061
3363
 
3062
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=1&lang=css&
3063
- var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("add8");
3364
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=1&lang=css&
3365
+ var TreeControlsvue_type_style_index_1_lang_css_ = __webpack_require__("8f55");
3064
3366
 
3065
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue
3367
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue
3066
3368
 
3067
3369
 
3068
3370
 
@@ -3072,18 +3374,18 @@ var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("a
3072
3374
 
3073
3375
  /* normalize component */
3074
3376
 
3075
- var TraditionalControls_component = normalizeComponent(
3076
- components_TraditionalControlsvue_type_script_lang_js_,
3077
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_render,
3078
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns,
3377
+ var TreeControls_component = normalizeComponent(
3378
+ components_TreeControlsvue_type_script_lang_js_,
3379
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render,
3380
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns,
3079
3381
  false,
3080
3382
  null,
3081
- "335c5764",
3383
+ "4d20ec9a",
3082
3384
  null
3083
3385
 
3084
3386
  )
3085
3387
 
3086
- /* harmony default export */ var TraditionalControls = (TraditionalControls_component.exports);
3388
+ /* harmony default export */ var TreeControls = (TreeControls_component.exports);
3087
3389
  // EXTERNAL MODULE: external "@abi-software/svg-sprite"
3088
3390
  var svg_sprite_ = __webpack_require__("429c");
3089
3391
 
@@ -3362,6 +3664,12 @@ var svg_sprite_ = __webpack_require__("429c");
3362
3664
  //
3363
3665
  //
3364
3666
  //
3667
+ //
3668
+ //
3669
+ //
3670
+ //
3671
+ //
3672
+ //
3365
3673
 
3366
3674
  /* eslint-disable no-alert, no-console */
3367
3675
 
@@ -3370,6 +3678,7 @@ var svg_sprite_ = __webpack_require__("429c");
3370
3678
 
3371
3679
 
3372
3680
 
3681
+
3373
3682
  locale_default.a.use(en_default.a);
3374
3683
  external_vue_default.a.use(col_default.a);
3375
3684
  external_vue_default.a.use(loading_default.a.directive);
@@ -3388,17 +3697,18 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3388
3697
  * A vue component of the scaffold viewer.
3389
3698
  *
3390
3699
  * @requires ./OpacityControls.vue
3391
- * @requires ./TraditionalControls.vue
3700
+ * @requires ./TreeControls.vue
3392
3701
  */
3393
3702
 
3394
3703
 
3395
3704
  /* harmony default export */ var ScaffoldVuervue_type_script_lang_js_ = ({
3396
3705
  name: "ScaffoldVuer",
3397
3706
  components: {
3398
- OpacityControls: OpacityControls,
3399
3707
  MapSvgIcon: svg_sprite_["MapSvgIcon"],
3400
3708
  MapSvgSpriteColor: svg_sprite_["MapSvgSpriteColor"],
3401
- TraditionalControls: TraditionalControls
3709
+ OpacityControls: OpacityControls,
3710
+ ScaffoldTooltip: ScaffoldTooltip,
3711
+ TreeControls: TreeControls
3402
3712
  },
3403
3713
  props: {
3404
3714
  /**
@@ -3586,7 +3896,14 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3586
3896
  label: "10x"
3587
3897
  }],
3588
3898
  currentSpeed: 1,
3589
- timeStamps: {}
3899
+ timeStamps: {},
3900
+ defaultCheckedKeys: [],
3901
+ tData: {
3902
+ label: "",
3903
+ visible: false,
3904
+ x: 200,
3905
+ y: 200
3906
+ }
3590
3907
  };
3591
3908
  },
3592
3909
  watch: {
@@ -3782,23 +4099,34 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3782
4099
  cameracontrol.stopAutoTumble();
3783
4100
  this.isTransitioning = false;
3784
4101
  },
4102
+ findObjectsWithGroupName: function findObjectsWithGroupName(name) {
4103
+ var objects = [];
4104
+
4105
+ if (name && name != "" && this.$module.scene) {
4106
+ objects = this.$module.scene.findObjectsWithGroupName(name);
4107
+ }
4108
+
4109
+ return objects;
4110
+ },
3785
4111
 
3786
4112
  /**
3787
4113
  * Focus on named region
3788
4114
  */
3789
4115
  viewRegion: function viewRegion(name) {
3790
- if (name && name != "" && this.$module.scene) {
3791
- var objects = this.$module.scene.findObjectsWithGroupName(name);
3792
- var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
4116
+ var objects = this.findObjectsWithGroupName(name);
4117
+ var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
3793
4118
 
3794
- if (box) {
3795
- if (this.$module.isSyncControl()) {
3796
- this.$module.setSyncControlZoomToBox(box);
3797
- } else {
3798
- this.$module.scene.viewAllWithBoundingBox(box);
3799
- }
4119
+ if (box) {
4120
+ if (this.$module.isSyncControl()) {
4121
+ this.$module.setSyncControlZoomToBox(box);
4122
+ } else {
4123
+ this.$module.scene.viewAllWithBoundingBox(box);
3800
4124
  }
4125
+
4126
+ return true;
3801
4127
  }
4128
+
4129
+ return false;
3802
4130
  },
3803
4131
  setFocusedRegion: function setFocusedRegion(name) {
3804
4132
  if (name) {
@@ -3853,40 +4181,52 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3853
4181
  */
3854
4182
  eventNotifierCallback: function eventNotifierCallback(event) {
3855
4183
  if (event.eventType == 1) {
3856
- if (this.$refs.traditionalControl) {
4184
+ if (this.$refs.treeControl) {
3857
4185
  if (event.identifiers[0]) {
3858
4186
  var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
3859
- this.$refs.traditionalControl.changeActiveByName(id, true);
4187
+ var region = event.identifiers[0].data.region;
4188
+ this.$refs.treeControl.changeActiveByName(id, region, true);
3860
4189
  } else {
3861
- this.$refs.traditionalControl.removeActive(true);
4190
+ this.$refs.treeControl.removeActive(true);
3862
4191
  }
3863
- }
3864
- /**
3865
- * Triggers when an object has been selected
3866
- *
3867
- * @property {array} identifiers array of identifiers
3868
- * of selected object.
3869
- */
4192
+ } // Triggers when an object has been selected
3870
4193
 
3871
4194
 
3872
4195
  this.$emit("scaffold-selected", event.identifiers);
3873
4196
  } else if (event.eventType == 2) {
3874
- if (this.$refs.traditionalControl) {
3875
- if (event.identifiers[0]) {
3876
- var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4197
+ this.tData.visible = false;
4198
+ var offsets = this.$refs.scaffoldContainer.getBoundingClientRect();
3877
4199
 
3878
- this.$refs.traditionalControl.changeHoverByName(_id, true);
3879
- } else this.$refs.traditionalControl.removeHover(true);
3880
- }
3881
- /**
3882
- * Triggers when an object has been highlighted
3883
- *
3884
- * @property {array} identifiers array of identifiers
3885
- * of highlighted object.
3886
- */
4200
+ if (event.identifiers[0]) {
4201
+ var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4202
+
4203
+ if (event.identifiers[0].coords) {
4204
+ this.tData.visible = true;
4205
+ this.tData.label = _id;
4206
+ this.tData.x = event.identifiers[0].coords.x - offsets.left;
4207
+ this.tData.y = event.identifiers[0].coords.y - offsets.top;
4208
+ }
4209
+
4210
+ if (this.$refs.treeControl) {
4211
+ var _region = event.identifiers[0].data.region;
4212
+ this.$refs.treeControl.changeHoverByName(_id, _region, true);
4213
+ } else {
4214
+ this.$refs.treeControl.removeHover(true);
4215
+ }
4216
+ } // Triggers when an object has been highlighted
3887
4217
 
3888
4218
 
3889
4219
  this.$emit("scaffold-highlighted", event.identifiers);
4220
+ } else if (event.eventType == 3) {
4221
+ //MOVE
4222
+ if (event.identifiers[0]) {
4223
+ if (event.identifiers[0].coords) {
4224
+ var _offsets = this.$refs.scaffoldContainer.getBoundingClientRect();
4225
+
4226
+ this.tData.x = event.identifiers[0].coords.x - _offsets.left;
4227
+ this.tData.y = event.identifiers[0].coords.y - _offsets.top;
4228
+ }
4229
+ }
3890
4230
  }
3891
4231
  },
3892
4232
 
@@ -3931,7 +4271,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3931
4271
  if (object !== this.selectedObject) {
3932
4272
  this.selectedObject = object;
3933
4273
  this.$refs.opacityControl.setObject(this.selectedObject);
3934
- if (object) this.$module.setSelectedByZincObject(object, propagate);else this.$module.setSelectedByObjects([], propagate);
4274
+ if (object) this.$module.setSelectedByZincObject(object, undefined, propagate);else this.$module.setSelectedByObjects([], undefined, propagate);
3935
4275
  }
3936
4276
  },
3937
4277
 
@@ -3943,26 +4283,26 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3943
4283
  objectHovered: function objectHovered(object, propagate) {
3944
4284
  if (object !== this.hoveredObject) {
3945
4285
  this.hoveredObject = object;
3946
- if (object) this.$module.setHighlightedByZincObject(object, propagate);else this.$module.setHighlightedByObjects([], propagate);
4286
+ if (object) this.$module.setHighlightedByZincObject(object, undefined, propagate);else this.$module.setHighlightedByObjects([], undefined, propagate);
3947
4287
  }
3948
4288
  },
3949
4289
 
3950
4290
  /**
3951
4291
  * Set the selected by name.
3952
4292
  *
3953
- * @param {name} name Name of the region
4293
+ * @param {name} name Name of the group
3954
4294
  */
3955
- changeActiveByName: function changeActiveByName(name, propagate) {
3956
- if (name === undefined) this.$refs.traditionalControl.removeActive(propagate);else this.$refs.traditionalControl.changeActiveByName(name, propagate);
4295
+ changeActiveByName: function changeActiveByName(name, region, propagate) {
4296
+ if (name === undefined) this.$refs.treeControl.removeActive(propagate);else this.$refs.treeControl.changeActiveByName(name, region, propagate);
3957
4297
  },
3958
4298
 
3959
4299
  /**
3960
4300
  * Set the highlighted by name.
3961
4301
  *
3962
- * @param {name} name Name of the region
4302
+ * @param {name} name Name of the group
3963
4303
  */
3964
- changeHighlightedByName: function changeHighlightedByName(name, propagate) {
3965
- if (name === undefined) this.$refs.traditionalControl.removeHover(propagate);else this.$refs.traditionalControl.changeHoverByName(name, propagate);
4304
+ changeHighlightedByName: function changeHighlightedByName(name, region, propagate) {
4305
+ if (name === undefined) this.$refs.treeControl.removeHover(propagate);else this.$refs.treeControl.changeHoverByName(name, region, propagate);
3966
4306
  },
3967
4307
 
3968
4308
  /**
@@ -4060,7 +4400,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4060
4400
  if (options.visibility) {
4061
4401
  // Some UIs may not be ready at this time.
4062
4402
  _this3.$nextTick(function () {
4063
- _this3.$refs.traditionalControl.setState(options.visibility);
4403
+ _this3.$refs.treeControl.setState(options.visibility);
4064
4404
  });
4065
4405
  }
4066
4406
  }
@@ -4073,6 +4413,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4073
4413
 
4074
4414
  _this3.$module.unsetFinishDownloadCallback();
4075
4415
 
4416
+ _this3.$emit("on-ready");
4417
+
4076
4418
  _this3.isReady = true;
4077
4419
  };
4078
4420
  },
@@ -4089,7 +4431,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4089
4431
  viewport: undefined,
4090
4432
  visibility: undefined
4091
4433
  };
4092
- if (this.$refs.traditionalControl) state.visibility = this.$refs.traditionalControl.getState();
4434
+ if (this.$refs.treeControl) state.visibility = this.$refs.treeControl.getState();
4093
4435
 
4094
4436
  if (this.$module.scene) {
4095
4437
  var zincCameraControls = this.$module.scene.getZincCameraControls();
@@ -4116,7 +4458,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4116
4458
  if (state.viewport || state.visibility) {
4117
4459
  if (this.isReady && this.$module.scene) {
4118
4460
  if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);
4119
- if (state.visibility) this.$refs.traditionalControl.setState(state.visibility);
4461
+ if (state.visibility) this.$refs.treeControl.setState(state.visibility);
4120
4462
  } else {
4121
4463
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
4122
4464
  viewport: state.viewport,
@@ -4143,7 +4485,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4143
4485
  var viewport = state && state.viewport ? state.viewport : undefined;
4144
4486
  var visibility = state && state.visibility ? state.visibility : undefined;
4145
4487
  this._currentURL = newValue;
4146
- if (this.$refs.traditionalControl) this.$refs.traditionalControl.clear();
4488
+ if (this.$refs.treeControl) this.$refs.treeControl.clear();
4147
4489
  this.loading = true;
4148
4490
  this.isReady = false;
4149
4491
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
@@ -4217,8 +4559,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4217
4559
  });
4218
4560
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=script&lang=js&
4219
4561
  /* harmony default export */ var components_ScaffoldVuervue_type_script_lang_js_ = (ScaffoldVuervue_type_script_lang_js_);
4220
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=226a06e2&scoped=true&lang=scss&
4221
- var ScaffoldVuervue_type_style_index_0_id_226a06e2_scoped_true_lang_scss_ = __webpack_require__("a1d1");
4562
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=7b24ee61&scoped=true&lang=scss&
4563
+ var ScaffoldVuervue_type_style_index_0_id_7b24ee61_scoped_true_lang_scss_ = __webpack_require__("2e30");
4222
4564
 
4223
4565
  // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&
4224
4566
  var ScaffoldVuervue_type_style_index_1_lang_scss_ = __webpack_require__("642d");
@@ -4239,7 +4581,7 @@ var ScaffoldVuer_component = normalizeComponent(
4239
4581
  staticRenderFns,
4240
4582
  false,
4241
4583
  null,
4242
- "226a06e2",
4584
+ "7b24ee61",
4243
4585
  null
4244
4586
 
4245
4587
  )
@@ -4269,6 +4611,13 @@ module.exports = require("core-js/modules/es.string.includes");
4269
4611
 
4270
4612
  module.exports = require("element-ui/lib/theme-chalk/row.css");
4271
4613
 
4614
+ /***/ }),
4615
+
4616
+ /***/ "fe0e":
4617
+ /***/ (function(module, exports) {
4618
+
4619
+ module.exports = require("core-js/modules/es.array.find");
4620
+
4272
4621
  /***/ })
4273
4622
 
4274
4623
  /******/ });