@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.
@@ -142,6 +142,13 @@ module.exports = require("element-ui/lib/theme-chalk/select.css");
142
142
 
143
143
  /***/ }),
144
144
 
145
+ /***/ "0fec":
146
+ /***/ (function(module, exports) {
147
+
148
+ module.exports = require("element-ui/lib/tree");
149
+
150
+ /***/ }),
151
+
145
152
  /***/ "11b0":
146
153
  /***/ (function(module, exports, __webpack_require__) {
147
154
 
@@ -176,17 +183,17 @@ module.exports = require("core-js/modules/es.array.for-each");
176
183
 
177
184
  /***/ }),
178
185
 
179
- /***/ "18d2":
186
+ /***/ "1ac9":
180
187
  /***/ (function(module, exports) {
181
188
 
182
- module.exports = require("core-js/modules/es.array.concat");
189
+ module.exports = require("element-ui/lib/container");
183
190
 
184
191
  /***/ }),
185
192
 
186
- /***/ "1ac9":
187
- /***/ (function(module, exports) {
193
+ /***/ "1b02":
194
+ /***/ (function(module, exports, __webpack_require__) {
188
195
 
189
- module.exports = require("element-ui/lib/container");
196
+ // extracted by mini-css-extract-plugin
190
197
 
191
198
  /***/ }),
192
199
 
@@ -254,6 +261,17 @@ module.exports = require("element-ui/lib/theme-chalk/loading.css");
254
261
 
255
262
  module.exports = require("element-ui/lib/header");
256
263
 
264
+ /***/ }),
265
+
266
+ /***/ "2e30":
267
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
268
+
269
+ "use strict";
270
+ /* 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");
271
+ /* 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__);
272
+ /* unused harmony reexport * */
273
+
274
+
257
275
  /***/ }),
258
276
 
259
277
  /***/ "3170":
@@ -291,14 +309,10 @@ module.exports = require("element-ui/lib/drawer");
291
309
 
292
310
  /***/ }),
293
311
 
294
- /***/ "3a59":
295
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
296
-
297
- "use strict";
298
- /* 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");
299
- /* 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__);
300
- /* unused harmony reexport * */
312
+ /***/ "3eb5":
313
+ /***/ (function(module, exports, __webpack_require__) {
301
314
 
315
+ // extracted by mini-css-extract-plugin
302
316
 
303
317
  /***/ }),
304
318
 
@@ -328,24 +342,28 @@ module.exports = _toConsumableArray;
328
342
 
329
343
  /***/ }),
330
344
 
331
- /***/ "44bd":
332
- /***/ (function(module, exports, __webpack_require__) {
345
+ /***/ "47d7":
346
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
347
+
348
+ "use strict";
349
+ /* 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");
350
+ /* 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__);
351
+ /* unused harmony reexport * */
333
352
 
334
- // extracted by mini-css-extract-plugin
335
353
 
336
354
  /***/ }),
337
355
 
338
- /***/ "4646":
339
- /***/ (function(module, exports, __webpack_require__) {
356
+ /***/ "4914":
357
+ /***/ (function(module, exports) {
340
358
 
341
- // extracted by mini-css-extract-plugin
359
+ module.exports = require("element-ui/lib/color-picker");
342
360
 
343
361
  /***/ }),
344
362
 
345
- /***/ "4914":
363
+ /***/ "49d0":
346
364
  /***/ (function(module, exports) {
347
365
 
348
- module.exports = require("element-ui/lib/color-picker");
366
+ module.exports = require("element-ui/lib/theme-chalk/tree.css");
349
367
 
350
368
  /***/ }),
351
369
 
@@ -387,16 +405,12 @@ module.exports = require("core-js/modules/es.regexp.exec");
387
405
  /***/ "53d7":
388
406
  /***/ (function(module, exports, __webpack_require__) {
389
407
 
390
- __webpack_require__("ab7e");
391
-
392
408
  __webpack_require__("7c81");
393
409
 
394
410
  __webpack_require__("bcd8");
395
411
 
396
412
  __webpack_require__("2175");
397
413
 
398
- __webpack_require__("fd48");
399
-
400
414
  var _typeof = __webpack_require__("7037");
401
415
 
402
416
  var THREE = __webpack_require__("9206").THREE; // Current model's associate data, data fields, external link, nerve map
@@ -633,17 +647,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
633
647
  var intersected = _this.getIntersectedObject(intersects);
634
648
 
635
649
  var idObject = getIdObjectFromIntersect(intersected);
650
+ var coords = {
651
+ x: window_x,
652
+ y: window_y
653
+ };
636
654
 
637
655
  if (idObject.id) {
638
656
  if (idObject.object.userData.isGlyph) {
639
- if (idObject.object.name) _this.setSelectedByObjects([idObject.object], true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), true);
657
+ if (idObject.object.name) _this.setSelectedByObjects([idObject.object], coords, true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), coords, true);
640
658
  } else {
641
- _this.setSelectedByObjects([idObject.object], true);
659
+ _this.setSelectedByObjects([idObject.object], coords, true);
642
660
  }
643
661
 
644
662
  return;
645
663
  } else {
646
- _this.setSelectedByObjects([], true);
664
+ _this.setSelectedByObjects([], coords, true);
647
665
  }
648
666
  };
649
667
  };
@@ -659,17 +677,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
659
677
  var intersected = _this.getIntersectedObject(intersects);
660
678
 
661
679
  var idObject = getIdObjectFromIntersect(intersected);
680
+ var coords = {
681
+ x: window_x,
682
+ y: window_y
683
+ };
662
684
 
663
685
  if (idObject.id) {
664
686
  _this.displayArea.style.cursor = "pointer";
665
687
 
666
- _this.setHighlightedByObjects([idObject.object], true);
688
+ _this.setHighlightedByObjects([idObject.object], coords, true);
667
689
 
668
690
  return;
669
691
  } else {
670
692
  _this.displayArea.style.cursor = "auto";
671
693
 
672
- _this.setHighlightedByObjects([], true);
694
+ _this.setHighlightedByObjects([], coords, true);
673
695
  }
674
696
  };
675
697
  };
@@ -772,42 +794,34 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
772
794
  };
773
795
 
774
796
  var addOrganPartToSceneData = function addOrganPartToSceneData(zincObject) {
775
- if (zincObject.groupName) {
776
- if (zincObject.isGeometry) {
777
- if (!_this.sceneData.geometries.includes(zincObject.groupName)) {
778
- _this.sceneData.geometries.push(zincObject.groupName);
779
- }
780
- } else if (zincObject.isGlyphset) {
781
- if (!_this.sceneData.glyphsets.includes(zincObject.groupName)) {
782
- _this.sceneData.glyphsets.push(zincObject.groupName);
783
- }
784
- } else if (zincObject.isLines) {
785
- if (!_this.sceneData.lines.includes(zincObject.groupName)) {
786
- _this.sceneData.lines.push(zincObject.groupName);
787
- }
788
- } else if (zincObject.isPointset) {
789
- if (!_this.sceneData.pointsets.includes(zincObject.groupName)) {
790
- _this.sceneData.pointsets.push(zincObject.groupName);
791
- }
792
- }
797
+ if (zincObject.isGeometry) {
798
+ _this.sceneData.geometries.push(zincObject);
799
+ } else if (zincObject.isGlyphset) {
800
+ _this.sceneData.glyphsets.push(zincObject);
801
+ } else if (zincObject.isLines) {
802
+ _this.sceneData.lines.push(zincObject);
803
+ } else if (zincObject.isPointset) {
804
+ _this.sceneData.pointsets.push(zincObject);
793
805
  }
794
806
  };
795
807
 
796
808
  var addOrganPart = function addOrganPart(systemName, partName, useDefautColour, zincObject) {
797
809
  for (var i = 0; i < organPartAddedCallbacks.length; i++) {
798
- organPartAddedCallbacks[i](zincObject.groupName, _this.scene.isTimeVarying(), zincObject);
810
+ organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());
799
811
  }
800
812
 
801
813
  if (useDefautColour) modelsLoader.setGeometryColour(zincObject, systemName, partName);
802
814
  addOrganPartToSceneData(zincObject);
803
815
  var annotation = new (__webpack_require__("984d").annotation)();
816
+ var region = zincObject.region.getFullPath();
804
817
  annotation.data = {
805
818
  species: _this.sceneData.currentSpecies,
806
819
  system: systemName,
807
820
  part: partName,
808
- group: zincObject.groupName
821
+ group: zincObject.groupName,
822
+ region: region
809
823
  };
810
- zincObject.userData = [annotation];
824
+ zincObject.userData["annotation"] = annotation;
811
825
  };
812
826
  /**
813
827
  * New organs geometry has been added to the scene, add UIs and make
@@ -1405,6 +1419,17 @@ module.exports = require("core-js/modules/es.array.index-of");
1405
1419
 
1406
1420
  module.exports = require("element-ui/lib/locale/lang/en");
1407
1421
 
1422
+ /***/ }),
1423
+
1424
+ /***/ "6e86":
1425
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1426
+
1427
+ "use strict";
1428
+ /* 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");
1429
+ /* 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__);
1430
+ /* unused harmony reexport * */
1431
+
1432
+
1408
1433
  /***/ }),
1409
1434
 
1410
1435
  /***/ "6ea3":
@@ -1414,6 +1439,13 @@ module.exports = require("element-ui/lib/row");
1414
1439
 
1415
1440
  /***/ }),
1416
1441
 
1442
+ /***/ "6faa":
1443
+ /***/ (function(module, exports) {
1444
+
1445
+ module.exports = require("core-js/modules/es.number.constructor");
1446
+
1447
+ /***/ }),
1448
+
1417
1449
  /***/ "7037":
1418
1450
  /***/ (function(module, exports, __webpack_require__) {
1419
1451
 
@@ -1556,7 +1588,7 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1556
1588
  if (intersects) {
1557
1589
  for (var i = 0; i < intersects.length; i++) {
1558
1590
  if (intersects[i] !== undefined) {
1559
- 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];
1591
+ 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];
1560
1592
  }
1561
1593
  }
1562
1594
  }
@@ -1566,7 +1598,6 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1566
1598
 
1567
1599
  RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1568
1600
  var annotations = [];
1569
- var count = 0;
1570
1601
 
1571
1602
  for (var i = 0; i < objects.length; i++) {
1572
1603
  var zincObject = objects[i].userData;
@@ -1576,13 +1607,13 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1576
1607
  if (zincObject.isGlyph || zincObject.isGlyphset) {
1577
1608
  var glyphset = zincObject;
1578
1609
  if (zincObject.isGlyph) glyphset = (_readOnlyError("glyphset"), zincObject.getGlyphset());
1579
- annotation = glyphset.userData ? glyphset.userData[0] : undefined;
1610
+ annotation = glyphset.userData ? glyphset.userData.annotation : undefined;
1580
1611
 
1581
1612
  if (annotation && annotation.data) {
1582
1613
  if (objects[i].name && objects[i].name != "") annotation.data.id = objects[i].name;else annotation.data.id = glyphset.groupName;
1583
1614
  }
1584
1615
  } else {
1585
- annotation = zincObject.userData ? zincObject.userData[0] : undefined;
1616
+ annotation = zincObject.userData ? zincObject.userData.annotation : undefined;
1586
1617
 
1587
1618
  if (annotation && annotation.data) {
1588
1619
  annotation.data.id = objects[i].name;
@@ -1590,27 +1621,28 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1590
1621
  }
1591
1622
  }
1592
1623
 
1593
- if (annotation) annotations[count++] = annotation;
1624
+ if (annotation) annotations.push(annotation);
1594
1625
  }
1595
1626
 
1596
1627
  return annotations;
1597
1628
  };
1598
1629
 
1599
- RendererModule.prototype.setHighlightedByObjects = function (objects, propagateChanges) {
1630
+ RendererModule.prototype.setHighlightedByObjects = function (objects, coords, propagateChanges) {
1600
1631
  var changed = this.graphicsHighlight.setHighlighted(objects);
1601
1632
 
1602
- if (changed && propagateChanges) {
1603
- var eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1604
-
1633
+ if (propagateChanges) {
1634
+ eventType = __webpack_require__("9b21").EVENT_TYPE.MOVE;
1635
+ if (changed) eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1605
1636
  var annotations = this.getAnnotationsFromObjects(objects);
1637
+ if (annotations.length > 0) annotations[0].coords = coords;
1606
1638
  this.publishChanges(annotations, eventType);
1607
1639
  }
1608
1640
 
1609
1641
  return changed;
1610
1642
  };
1611
1643
 
1612
- RendererModule.prototype.setHighlightedByZincObject = function (zincObject, propagateChanges) {
1613
- return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1644
+ RendererModule.prototype.setHighlightedByZincObject = function (zincObject, coords, propagateChanges) {
1645
+ return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1614
1646
  };
1615
1647
 
1616
1648
  RendererModule.prototype.setupLiveCoordinates = function (zincObjects) {
@@ -1647,7 +1679,7 @@ RendererModule.prototype.objectsToZincObjects = function (objects) {
1647
1679
  return zincObjects;
1648
1680
  };
1649
1681
 
1650
- RendererModule.prototype.setSelectedByObjects = function (objects, propagateChanges) {
1682
+ RendererModule.prototype.setSelectedByObjects = function (objects, coords, propagateChanges) {
1651
1683
  var changed = this.graphicsHighlight.setSelected(objects);
1652
1684
 
1653
1685
  if (changed) {
@@ -1655,18 +1687,19 @@ RendererModule.prototype.setSelectedByObjects = function (objects, propagateChan
1655
1687
  this.setupLiveCoordinates(zincObjects);
1656
1688
 
1657
1689
  if (propagateChanges) {
1658
- var eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1690
+ var _eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1659
1691
 
1660
1692
  var annotations = this.getAnnotationsFromObjects(objects);
1661
- this.publishChanges(annotations, eventType);
1693
+ if (annotations.length > 0) annotations[0].coords = coords;
1694
+ this.publishChanges(annotations, _eventType);
1662
1695
  }
1663
1696
  }
1664
1697
 
1665
1698
  return changed;
1666
1699
  };
1667
1700
 
1668
- RendererModule.prototype.setSelectedByZincObject = function (zincObject, propagateChanges) {
1669
- return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1701
+ RendererModule.prototype.setSelectedByZincObject = function (zincObject, coords, propagateChanges) {
1702
+ return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1670
1703
  };
1671
1704
 
1672
1705
  var addGlyphToArray = function addGlyphToArray(objects) {
@@ -1694,12 +1727,12 @@ RendererModule.prototype.findObjectsByGroupName = function (groupName) {
1694
1727
 
1695
1728
  RendererModule.prototype.setHighlightedByGroupName = function (groupName, propagateChanges) {
1696
1729
  var objects = this.findObjectsByGroupName(groupName);
1697
- return this.setHighlightedByObjects(objects, propagateChanges);
1730
+ return this.setHighlightedByObjects(objects, undefined, propagateChanges);
1698
1731
  };
1699
1732
 
1700
1733
  RendererModule.prototype.setSelectedByGroupName = function (groupName, propagateChanges) {
1701
1734
  var objects = this.findObjectsByGroupName(groupName);
1702
- return this.setSelectedByObjects(objects, propagateChanges);
1735
+ return this.setSelectedByObjects(objects, undefined, propagateChanges);
1703
1736
  };
1704
1737
 
1705
1738
  RendererModule.prototype.changeBackgroundColour = function (backgroundColourString) {
@@ -1810,6 +1843,17 @@ module.exports = require("core-js/modules/es.array.iterator");
1810
1843
 
1811
1844
  module.exports = require("element-ui/lib/theme-chalk/icon.css");
1812
1845
 
1846
+ /***/ }),
1847
+
1848
+ /***/ "8f55":
1849
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1850
+
1851
+ "use strict";
1852
+ /* 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");
1853
+ /* 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__);
1854
+ /* unused harmony reexport * */
1855
+
1856
+
1813
1857
  /***/ }),
1814
1858
 
1815
1859
  /***/ "907b":
@@ -1826,6 +1870,13 @@ module.exports = require("zincjs");
1826
1870
 
1827
1871
  /***/ }),
1828
1872
 
1873
+ /***/ "9372":
1874
+ /***/ (function(module, exports, __webpack_require__) {
1875
+
1876
+ // extracted by mini-css-extract-plugin
1877
+
1878
+ /***/ }),
1879
+
1829
1880
  /***/ "93e6":
1830
1881
  /***/ (function(module, exports) {
1831
1882
 
@@ -1873,7 +1924,8 @@ __webpack_require__("7c81");
1873
1924
  var EVENT_TYPE = {
1874
1925
  ALL: 0,
1875
1926
  SELECTED: 1,
1876
- HIGHLIGHTED: 2
1927
+ HIGHLIGHTED: 2,
1928
+ MOVE: 3
1877
1929
  };
1878
1930
 
1879
1931
  var SelectionEvent = function SelectionEvent(eventTypeIn, identifiersIn) {
@@ -1946,17 +1998,6 @@ exports.EVENT_TYPE = EVENT_TYPE;
1946
1998
 
1947
1999
  module.exports = require("@soda/get-current-script");
1948
2000
 
1949
- /***/ }),
1950
-
1951
- /***/ "a1d1":
1952
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1953
-
1954
- "use strict";
1955
- /* 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");
1956
- /* 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__);
1957
- /* unused harmony reexport * */
1958
-
1959
-
1960
2001
  /***/ }),
1961
2002
 
1962
2003
  /***/ "a497":
@@ -1992,17 +2033,6 @@ module.exports = require("core-js/modules/es.array.includes");
1992
2033
 
1993
2034
  module.exports = require("element-ui/lib/loading");
1994
2035
 
1995
- /***/ }),
1996
-
1997
- /***/ "add8":
1998
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1999
-
2000
- "use strict";
2001
- /* 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");
2002
- /* 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__);
2003
- /* unused harmony reexport * */
2004
-
2005
-
2006
2036
  /***/ }),
2007
2037
 
2008
2038
  /***/ "b0e3":
@@ -2124,6 +2154,13 @@ exports.WEBGL = {
2124
2154
 
2125
2155
  /***/ }),
2126
2156
 
2157
+ /***/ "d0b9":
2158
+ /***/ (function(module, exports, __webpack_require__) {
2159
+
2160
+ // extracted by mini-css-extract-plugin
2161
+
2162
+ /***/ }),
2163
+
2127
2164
  /***/ "da60":
2128
2165
  /***/ (function(module, exports) {
2129
2166
 
@@ -2142,10 +2179,10 @@ module.exports = require("core-js/modules/es.array.from");
2142
2179
 
2143
2180
  /***/ }),
2144
2181
 
2145
- /***/ "e8d1":
2146
- /***/ (function(module, exports, __webpack_require__) {
2182
+ /***/ "f705":
2183
+ /***/ (function(module, exports) {
2147
2184
 
2148
- // extracted by mini-css-extract-plugin
2185
+ module.exports = require("core-js/modules/es.array.map");
2149
2186
 
2150
2187
  /***/ }),
2151
2188
 
@@ -2183,12 +2220,12 @@ if (typeof window !== 'undefined') {
2183
2220
  // Indicate to webpack that this file can be concatenated
2184
2221
  /* harmony default export */ var setPublicPath = (null);
2185
2222
 
2186
- // 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&
2187
- 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)}
2223
+ // 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&
2224
+ 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)}
2188
2225
  var staticRenderFns = []
2189
2226
 
2190
2227
 
2191
- // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=226a06e2&scoped=true&
2228
+ // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=7b24ee61&scoped=true&
2192
2229
 
2193
2230
  // EXTERNAL MODULE: external "core-js/modules/es.array.for-each"
2194
2231
  var es_array_for_each_ = __webpack_require__("139f");
@@ -2287,7 +2324,7 @@ var col_default = /*#__PURE__*/__webpack_require__.n(col_);
2287
2324
  var external_vue_ = __webpack_require__("8bbf");
2288
2325
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
2289
2326
 
2290
- // 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&
2327
+ // 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&
2291
2328
  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()}
2292
2329
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_staticRenderFns = []
2293
2330
 
@@ -2588,25 +2625,149 @@ var component = normalizeComponent(
2588
2625
  )
2589
2626
 
2590
2627
  /* harmony default export */ var OpacityControls = (component.exports);
2591
- // 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&
2592
- 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,
2593
- 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"})])])}
2594
- var TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns = []
2628
+ // 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&
2629
+ 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)}
2630
+ var ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_staticRenderFns = []
2631
+
2632
+
2633
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=template&id=2ff3bbca&scoped=true&
2634
+
2635
+ // EXTERNAL MODULE: external "core-js/modules/es.number.constructor"
2636
+ var es_number_constructor_ = __webpack_require__("6faa");
2637
+
2638
+ // 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&
2639
+
2640
+
2641
+
2642
+
2643
+ //
2644
+ //
2645
+ //
2646
+ //
2647
+ //
2648
+ //
2649
+ //
2650
+ //
2651
+ //
2652
+ //
2653
+ //
2654
+ //
2655
+ //
2656
+ //
2657
+ //
2658
+ //
2659
+
2660
+ /* eslint-disable no-alert, no-console */
2661
+
2662
+
2663
+
2664
+ locale_default.a.use(en_default.a);
2665
+ external_vue_default.a.use(popover_default.a);
2666
+ /**
2667
+ * A component to control the opacity of the target object.
2668
+ */
2669
+
2670
+ /* harmony default export */ var ScaffoldTooltipvue_type_script_lang_js_ = ({
2671
+ name: "ScaffoldTooltip",
2672
+ props: {
2673
+ label: {
2674
+ type: String,
2675
+ default: ""
2676
+ },
2677
+ visible: {
2678
+ type: Boolean,
2679
+ default: false
2680
+ },
2681
+ x: {
2682
+ type: Number,
2683
+ default: 200
2684
+ },
2685
+ y: {
2686
+ type: Number,
2687
+ default: 200
2688
+ }
2689
+ },
2690
+ data: function data() {
2691
+ return {
2692
+ display: false
2693
+ };
2694
+ },
2695
+ computed: {
2696
+ position: function position() {
2697
+ return {
2698
+ left: this.x + "px",
2699
+ top: this.y - 30 + "px"
2700
+ };
2701
+ }
2702
+ },
2703
+ watch: {
2704
+ label: {
2705
+ handler: function handler() {
2706
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2707
+ },
2708
+ immediate: true
2709
+ },
2710
+ visible: {
2711
+ handler: function handler() {
2712
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2713
+ },
2714
+ immediate: true
2715
+ }
2716
+ }
2717
+ });
2718
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2719
+ /* harmony default export */ var components_ScaffoldTooltipvue_type_script_lang_js_ = (ScaffoldTooltipvue_type_script_lang_js_);
2720
+ // EXTERNAL MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=style&index=0&id=2ff3bbca&scoped=true&lang=scss&
2721
+ var ScaffoldTooltipvue_type_style_index_0_id_2ff3bbca_scoped_true_lang_scss_ = __webpack_require__("6e86");
2595
2722
 
2723
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue
2596
2724
 
2597
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=template&id=335c5764&scoped=true&
2598
2725
 
2599
- // EXTERNAL MODULE: external "core-js/modules/es.array.concat"
2600
- var es_array_concat_ = __webpack_require__("18d2");
2726
+
2727
+
2728
+
2729
+
2730
+ /* normalize component */
2731
+
2732
+ var ScaffoldTooltip_component = normalizeComponent(
2733
+ components_ScaffoldTooltipvue_type_script_lang_js_,
2734
+ ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_render,
2735
+ ScaffoldTooltipvue_type_template_id_2ff3bbca_scoped_true_staticRenderFns,
2736
+ false,
2737
+ null,
2738
+ "2ff3bbca",
2739
+ null
2740
+
2741
+ )
2742
+
2743
+ /* harmony default export */ var ScaffoldTooltip = (ScaffoldTooltip_component.exports);
2744
+ // 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&
2745
+ 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){
2746
+ var node = ref.node;
2747
+ var data = ref.data;
2748
+ return _c('span',{staticClass:"region-tree-node",class:{
2749
+ activeItem:
2750
+ (_vm.active.group === data.label &&
2751
+ ((_vm.active.regionPath === data.regionPath) ||
2752
+ _vm.active.regionPath === undefined)),
2753
+ hoverItem:
2754
+ (_vm.hover.group === data.label &&
2755
+ ((_vm.hover.regionPath === data.regionPath) ||
2756
+ _vm.hover.regionPath === undefined))
2757
+ },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"})])])}
2758
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns = []
2759
+
2760
+
2761
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2762
+
2763
+ // EXTERNAL MODULE: external "core-js/modules/es.array.find"
2764
+ var es_array_find_ = __webpack_require__("fe0e");
2601
2765
 
2602
2766
  // EXTERNAL MODULE: external "core-js/modules/es.array.includes"
2603
2767
  var es_array_includes_ = __webpack_require__("ab7e");
2604
2768
 
2605
- // EXTERNAL MODULE: external "core-js/modules/es.array.index-of"
2606
- var es_array_index_of_ = __webpack_require__("6bb1");
2607
-
2608
- // EXTERNAL MODULE: external "core-js/modules/es.array.splice"
2609
- var es_array_splice_ = __webpack_require__("7c81");
2769
+ // EXTERNAL MODULE: external "core-js/modules/es.array.map"
2770
+ var es_array_map_ = __webpack_require__("f705");
2610
2771
 
2611
2772
  // EXTERNAL MODULE: external "core-js/modules/es.regexp.exec"
2612
2773
  var es_regexp_exec_ = __webpack_require__("51f7");
@@ -2693,6 +2854,13 @@ function _nonIterableSpread() {
2693
2854
  function _toConsumableArray(arr) {
2694
2855
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
2695
2856
  }
2857
+ // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/tree.css"
2858
+ var tree_css_ = __webpack_require__("49d0");
2859
+
2860
+ // EXTERNAL MODULE: external "element-ui/lib/tree"
2861
+ var tree_ = __webpack_require__("0fec");
2862
+ var tree_default = /*#__PURE__*/__webpack_require__.n(tree_);
2863
+
2696
2864
  // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/color-picker.css"
2697
2865
  var color_picker_css_ = __webpack_require__("3666");
2698
2866
 
@@ -2714,7 +2882,11 @@ var checkbox_css_ = __webpack_require__("55ee");
2714
2882
  var checkbox_ = __webpack_require__("b777");
2715
2883
  var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2716
2884
 
2717
- // 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&
2885
+ // 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&
2886
+
2887
+
2888
+
2889
+
2718
2890
 
2719
2891
 
2720
2892
 
@@ -2735,12 +2907,6 @@ var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2735
2907
 
2736
2908
 
2737
2909
 
2738
- //
2739
- //
2740
- //
2741
- //
2742
- //
2743
- //
2744
2910
  //
2745
2911
  //
2746
2912
  //
@@ -2820,12 +2986,36 @@ external_vue_default.a.use(checkbox_default.a);
2820
2986
  external_vue_default.a.use(checkbox_group_default.a);
2821
2987
  external_vue_default.a.use(color_picker_default.a);
2822
2988
  external_vue_default.a.use(row_default.a);
2989
+ external_vue_default.a.use(tree_default.a);
2990
+
2991
+ var nameSorting = function nameSorting(a, b) {
2992
+ var labelA = a.label.toUpperCase();
2993
+ var labelB = b.label.toUpperCase();
2994
+
2995
+ if (labelA < labelB) {
2996
+ return -1;
2997
+ }
2998
+
2999
+ if (labelA > labelB) {
3000
+ return 1;
3001
+ }
3002
+
3003
+ return 0;
3004
+ };
3005
+
3006
+ var extractAllIds = function extractAllIds(item, list) {
3007
+ list.push(item.id);
3008
+ if (item.children) item.children.forEach(function (child) {
3009
+ return extractAllIds(child, list);
3010
+ });
3011
+ };
2823
3012
  /**
2824
3013
  * A vue component for toggling visibility of various regions.
2825
3014
  */
2826
3015
 
2827
- /* harmony default export */ var TraditionalControlsvue_type_script_lang_js_ = ({
2828
- name: "TraditionalControls",
3016
+
3017
+ /* harmony default export */ var TreeControlsvue_type_script_lang_js_ = ({
3018
+ name: "TreeControls",
2829
3019
  props: {
2830
3020
  /**
2831
3021
  * @ignore
@@ -2842,12 +3032,19 @@ external_vue_default.a.use(row_default.a);
2842
3032
  },
2843
3033
  data: function data() {
2844
3034
  return {
2845
- checkAll: true,
2846
- isIndeterminate: false,
2847
- checkedItems: [],
2848
- sortedPrimitiveGroups: [],
2849
- activeRegion: "",
2850
- hoverRegion: "",
3035
+ treeData: [{
3036
+ label: "Root",
3037
+ id: "__r/",
3038
+ children: []
3039
+ }],
3040
+ active: {
3041
+ group: "",
3042
+ regionPath: undefined
3043
+ },
3044
+ hover: {
3045
+ group: "",
3046
+ regionPath: undefined
3047
+ },
2851
3048
  myPopperClass: "hide-scaffold-colour-popup",
2852
3049
  drawerOpen: true
2853
3050
  };
@@ -2861,68 +3058,179 @@ external_vue_default.a.use(row_default.a);
2861
3058
  }
2862
3059
  },
2863
3060
  created: function created() {
2864
- var tmpArray = this.module.sceneData.geometries.concat(this.module.sceneData.lines);
2865
- tmpArray = tmpArray.concat(this.module.sceneData.glyphsets);
2866
- tmpArray = uniq(tmpArray.concat(this.module.sceneData.pointset));
2867
- this.sortedPrimitiveGroups = orderBy(tmpArray);
3061
+ var _this = this;
3062
+
3063
+ this.module.sceneData.geometries.forEach(function (zincObject) {
3064
+ _this.organsAdded(zincObject);
3065
+ });
3066
+ this.module.sceneData.lines.forEach(function (zincObject) {
3067
+ _this.organsAdded(zincObject);
3068
+ });
3069
+ this.module.sceneData.glyphsets.forEach(function (zincObject) {
3070
+ _this.organsAdded(zincObject);
3071
+ });
3072
+ this.module.sceneData.pointsets.forEach(function (zincObject) {
3073
+ _this.organsAdded(zincObject);
3074
+ });
2868
3075
  this.module.addOrganPartAddedCallback(this.organsAdded);
3076
+ this.__nodeNumbers = 1;
2869
3077
  },
2870
3078
  destroyed: function destroyed() {
2871
3079
  this.sortedPrimitiveGroups = undefined;
2872
3080
  },
2873
3081
  methods: {
2874
- /**
2875
- * This is called when a new organ is read into the scene.
2876
- */
2877
- organsAdded: function organsAdded(name) {
2878
- if (name && name != "") {
2879
- var tmpArray = uniq(this.sortedPrimitiveGroups.concat([name]));
2880
- tmpArray = orderBy(tmpArray);
2881
- var index = tmpArray.indexOf(undefined);
2882
-
2883
- if (index > -1) {
2884
- tmpArray.splice(index, 1);
3082
+ addTreeItem: function addTreeItem(parentContainer, item) {
3083
+ var _this2 = this;
3084
+
3085
+ for (var i = 0; i < parentContainer.length; i++) {
3086
+ if (parentContainer[i].id === item.id) {
3087
+ if (item.primitives && parentContainer[i].primitives) {
3088
+ var _parentContainer$i$pr;
3089
+
3090
+ (_parentContainer$i$pr = parentContainer[i].primitives).push.apply(_parentContainer$i$pr, _toConsumableArray(item.primitives));
3091
+
3092
+ return;
3093
+ }
3094
+ }
3095
+ }
3096
+
3097
+ parentContainer.push(item);
3098
+ parentContainer.sort(function (a, b) {
3099
+ return nameSorting(a, b);
3100
+ });
3101
+ this.__nodeNumbers++;
3102
+ this.$nextTick(function () {
3103
+ _this2.$refs.regionTree.setChecked(item.id, true);
3104
+ });
3105
+ },
3106
+ // find or create new region, region id is always prefixed with
3107
+ // '__r/'
3108
+ findOrCreateRegion: function findOrCreateRegion(data, paths, prefix) {
3109
+ //check if root region has been set
3110
+ if (!this.treeData[0].region && this.module && this.module.scene) {
3111
+ this.treeData[0].region = this.module.scene.getRootRegion();
3112
+ }
3113
+
3114
+ if (paths.length > 0) {
3115
+ var _paths = _toConsumableArray(paths);
3116
+
3117
+ var childRegion = data.children.find(function (child) {
3118
+ return child.label == _paths[0];
3119
+ });
3120
+ var path = prefix + "/" + paths[0];
3121
+ var id = "__r" + path;
3122
+
3123
+ if (!childRegion) {
3124
+ var region = this.treeData[0].region.findChildFromPath(path);
3125
+ childRegion = {
3126
+ label: _paths[0],
3127
+ id: id,
3128
+ children: [],
3129
+ region: region
3130
+ };
3131
+ this.addTreeItem(data.children, childRegion);
2885
3132
  }
2886
3133
 
2887
- this.sortedPrimitiveGroups = tmpArray;
3134
+ _paths.shift();
3135
+
3136
+ return this.findOrCreateRegion(childRegion, _paths, path);
3137
+ } else {
3138
+ return data;
2888
3139
  }
2889
3140
  },
2890
3141
 
2891
3142
  /**
2892
- * Select a region by its name.
3143
+ * This is called when a new organ is read into the scene.
2893
3144
  */
2894
- changeActiveByName: function changeActiveByName(name, propagate) {
2895
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3145
+ organsAdded: function organsAdded(zincObject) {
3146
+ var region = zincObject.region;
3147
+
3148
+ if (region) {
3149
+ var paths = region.getFullSeparatedPath();
3150
+ var regionData = this.findOrCreateRegion(this.treeData[0], paths, "");
3151
+
3152
+ if (zincObject.groupName) {
3153
+ if (regionData) {
3154
+ if (!regionData.children) {
3155
+ regionData.children = [];
3156
+ }
3157
+
3158
+ var id = regionData.id.replace("__r/", "") + "/" + zincObject.groupName;
3159
+ var child = {
3160
+ label: zincObject.groupName,
3161
+ id: id,
3162
+ primitives: [zincObject],
3163
+ regionPath: zincObject.region.getFullPath()
3164
+ };
3165
+ this.addTreeItem(regionData.children, child);
3166
+ }
3167
+ }
3168
+ }
3169
+ },
3170
+ checkChanged: function checkChanged(node, data) {
3171
+ var checked = data.checkedKeys.includes(node.id);
3172
+ if (node.region) node.region.setVisibility(checked);
2896
3173
 
2897
- if (targetObject && targetObject.getVisibility()) {
2898
- this.activeRegion = name;
2899
- this.$emit("object-selected", targetObject, propagate);
3174
+ if (node.primitives) {
3175
+ node.primitives.forEach(function (primitive) {
3176
+ primitive.setVisibility(checked);
3177
+ });
3178
+ }
3179
+ },
3180
+ changeActiveByPrimitive: function changeActiveByPrimitive(primitive, propagate) {
3181
+ if (primitive && primitive.getVisibility()) {
3182
+ this.active.group = primitive.groupName;
3183
+ this.active.regionPath = primitive.region.getFullPath();
3184
+ console.log(this.active);
3185
+ this.$emit("object-selected", primitive, propagate);
2900
3186
  } else {
2901
3187
  this.removeActive(propagate);
2902
3188
  }
2903
3189
 
2904
3190
  this.removeHover(propagate);
2905
3191
  },
3192
+ changeHoverByPrimitive: function changeHoverByPrimitive(primitive, propagate) {
3193
+ if (primitive) {
3194
+ this.hover.group = primitive.groupName;
3195
+ this.hover.regionPath = primitive.region.getFullPath();
3196
+ this.$emit("object-hovered", primitive, propagate);
3197
+ } else {
3198
+ this.removeHover(propagate);
3199
+ }
3200
+ },
2906
3201
 
2907
3202
  /**
2908
- * Hover a region by its name.
3203
+ * Select a region by its name.
2909
3204
  */
2910
- changeHoverByName: function changeHoverByName(name, propagate) {
2911
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3205
+ changeActiveByName: function changeActiveByName(name, regionPath, propagate) {
3206
+ var rootRegion = this.module.scene.getRootRegion();
3207
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3208
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3209
+ this.changeActiveByPrimitive(targetObject, propagate);
3210
+ },
2912
3211
 
2913
- if (targetObject) {
2914
- this.hoverRegion = name;
2915
- this.$emit("object-hovered", targetObject, propagate);
2916
- } else {
2917
- this.removeHover(propagate);
2918
- }
3212
+ /**
3213
+ * Hover a region by its name.
3214
+ */
3215
+ changeHoverByName: function changeHoverByName(name, regionPath, propagate) {
3216
+ var rootRegion = this.module.scene.getRootRegion();
3217
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3218
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3219
+ this.changeHoverByPrimitive(targetObject, propagate);
3220
+ },
3221
+ changeActiveByNode: function changeActiveByNode(node, propagate) {
3222
+ if (node.primitives) this.changeActiveByPrimitive(node.primitives[0], propagate);
3223
+ },
3224
+ changeHoverByNode: function changeHoverByNode(node, propagate) {
3225
+ if (node.primitives) this.changeHoverByPrimitive(node.primitives[0], propagate);
2919
3226
  },
2920
3227
 
2921
3228
  /**
2922
3229
  * Unselect the current selected region.
2923
3230
  */
2924
3231
  removeActive: function removeActive(propagate) {
2925
- this.activeRegion = "";
3232
+ this.active.group = "";
3233
+ this.active.regionPath = undefined;
2926
3234
  this.$emit("object-selected", undefined, propagate);
2927
3235
  },
2928
3236
 
@@ -2930,7 +3238,8 @@ external_vue_default.a.use(row_default.a);
2930
3238
  * Unselect the current hover region.
2931
3239
  */
2932
3240
  removeHover: function removeHover(propagate) {
2933
- this.hoverRegion = "";
3241
+ this.hover.group = "";
3242
+ this.hover.regionPath = undefined;
2934
3243
  this.$emit("object-hovered", undefined, propagate);
2935
3244
  },
2936
3245
 
@@ -2938,68 +3247,47 @@ external_vue_default.a.use(row_default.a);
2938
3247
  * Reset the controls.
2939
3248
  */
2940
3249
  clear: function clear() {
2941
- this.sortedPrimitiveGroups = [];
2942
- this.checkedItems = [];
2943
- this.checkAll = true;
2944
- this.isIndeterminate = false;
2945
- this.activeRegion = "";
2946
- this.hoverRegion = "";
3250
+ this.active.group = "";
3251
+ this.active.regionPath = undefined;
3252
+ this.hover.group = "";
3253
+ this.hover.regionPath = undefined;
3254
+ this.$refs.regionTree.updateKeyChildren("__r/", []);
2947
3255
  this.$emit("object-selected", undefined);
2948
3256
  },
2949
- getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(name) {
2950
- if (this.module && this.module.scene) {
2951
- var array = this.module.scene.findGeometriesWithGroupName(name);
3257
+ getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(region, name) {
3258
+ if (region) {
3259
+ var array = region.findGeometriesWithGroupName(name);
2952
3260
  if (array.length > 0) return array[0];
2953
- array = this.module.scene.findGlyphsetsWithGroupName(name);
3261
+ array = region.findGlyphsetsWithGroupName(name);
2954
3262
  if (array.length > 0) return array[0];
2955
- array = this.module.scene.findLinesWithGroupName(name);
3263
+ array = region.findLinesWithGroupName(name);
2956
3264
  if (array.length > 0) return array[0];
2957
- array = this.module.scene.findPointsetsWithGroupName(name);
3265
+ array = region.findPointsetsWithGroupName(name);
2958
3266
  if (array.length > 0) return array[0];
2959
3267
  }
2960
3268
 
2961
3269
  return undefined;
2962
3270
  },
2963
- getColour: function getColour(name) {
2964
- var graphic = this.getFirstZincObjectWithGroupName(name);
3271
+ getColour: function getColour(nodeData) {
3272
+ if (nodeData) {
3273
+ var graphic = nodeData.primitives[0];
2965
3274
 
2966
- if (graphic) {
2967
- var hex = graphic.getColourHex();
2968
- if (hex) return "#" + hex;
3275
+ if (graphic) {
3276
+ var hex = graphic.getColourHex();
3277
+ if (hex) return "#" + hex;
3278
+ }
2969
3279
  }
2970
3280
 
2971
3281
  return "#FFFFFF";
2972
3282
  },
2973
- setColour: function setColour(name, value) {
2974
- var graphic = this.getFirstZincObjectWithGroupName(name);
2975
-
2976
- if (graphic) {
2977
- var hexString = value.replace("#", "0x");
2978
- graphic.setColourHex(hexString);
2979
- }
2980
- },
2981
- checkboxHover: function checkboxHover(name) {
2982
- this.changeHoverByName(name, true);
2983
- },
2984
- itemClicked: function itemClicked(name, event) {
2985
- if (!(event.target.classList.contains("el-checkbox__inner") || event.target.classList.contains("el-checkbox__original"))) {
2986
- this.changeActiveByName(name, true);
2987
- event.preventDefault();
2988
- }
2989
- },
2990
- handleCheckedItemsChange: function handleCheckedItemsChange() {
2991
- var unnamed = this.checkedItems.includes(undefined) ? true : false;
2992
- var checkedCount = this.checkedItems.length;
2993
- if (unnamed) checkedCount--;
2994
- this.checkAll = checkedCount === this.sortedPrimitiveGroups.length;
2995
- this.isIndeterminate = checkedCount > 0 && checkedCount < this.sortedPrimitiveGroups.length;
2996
- },
2997
- handleCheckAllChange: function handleCheckAllChange(val) {
2998
- this.checkedItems = val ? _toConsumableArray(this.sortedPrimitiveGroups) : [];
2999
- this.isIndeterminate = false;
3283
+ setColour: function setColour(nodeData, value) {
3284
+ if (nodeData) {
3285
+ var graphic = nodeData.primitives[0];
3000
3286
 
3001
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
3002
- this.visibilityToggle(this.sortedPrimitiveGroups[i], this.checkAll);
3287
+ if (graphic) {
3288
+ var hexString = value.replace("#", "0x");
3289
+ graphic.setColourHex(hexString);
3290
+ }
3003
3291
  }
3004
3292
  },
3005
3293
  viewAll: function viewAll() {
@@ -3022,56 +3310,70 @@ external_vue_default.a.use(row_default.a);
3022
3310
  this.drawerOpen = !this.drawerOpen;
3023
3311
  this.$emit("drawer-toggled", this.drawerOpen);
3024
3312
  },
3025
- getState: function getState() {
3026
- if (this.checkAll) {
3027
- return {
3028
- checkAll: true
3029
- };
3030
- }
3031
-
3032
- var checkedItems = _toConsumableArray(this.checkedItems);
3033
-
3034
- var index = checkedItems.indexOf(undefined);
3035
-
3036
- if (index > -1) {
3037
- checkedItems.splice(index, 1);
3038
- }
3313
+ setTreeVisibility: function setTreeVisibility(node, list) {
3314
+ var _this3 = this;
3039
3315
 
3316
+ var flag = false;
3317
+ if (list.includes(node.id)) flag = true;
3318
+ if (node.region) node.region.setVisibility(flag);
3319
+ if (node.primitives) node.primitives.forEach(function (primitive) {
3320
+ return primitive.setVisibility(flag);
3321
+ });
3322
+ if (node.children) node.children.forEach(function (child) {
3323
+ return _this3.setTreeVisibility(child, list);
3324
+ });
3325
+ },
3326
+ checkAllKeys: function checkAllKeys() {
3327
+ var keysList = [];
3328
+ extractAllIds(this.treeData[0], keysList);
3329
+ this.setTreeVisibility(this.treeData[0], keysList);
3330
+ this.$refs.regionTree.setCheckedKeys(keysList);
3331
+ },
3332
+ getState: function getState() {
3333
+ var checkedItems = this.$refs.regionTree.getCheckedKeys();
3334
+ if (checkedItems.length === this.__nodeNumbers) return {
3335
+ checkAll: true,
3336
+ version: "2.0"
3337
+ };
3040
3338
  return {
3041
- checkedItems: checkedItems
3339
+ checkedItems: checkedItems,
3340
+ version: "2.0"
3042
3341
  };
3043
3342
  },
3044
3343
  setState: function setState(state) {
3045
3344
  if (state) {
3046
3345
  if (state.checkAll) {
3047
- this.checkedItems = _toConsumableArray(this.sortedPrimitiveGroups);
3048
-
3049
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
3050
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[i], true);
3051
- }
3346
+ this.checkAllKeys();
3052
3347
  } else if (state.checkedItems) {
3053
- this.checkedItems = _toConsumableArray(state.checkedItems);
3348
+ var list = [];
3349
+
3350
+ if (state.version !== "2.0") {
3351
+ list = state.checkedItems.map(function (item) {
3352
+ return "/" + item;
3353
+ });
3354
+ list.shift("__r/");
3355
+ } else {
3356
+ var _list;
3054
3357
 
3055
- for (var _i = 0; _i < this.sortedPrimitiveGroups.length; _i++) {
3056
- var visible = this.checkedItems.includes(this.sortedPrimitiveGroups[_i]);
3057
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[_i], visible);
3358
+ (_list = list).push.apply(_list, _toConsumableArray(state.checkedItems));
3058
3359
  }
3360
+
3361
+ this.setTreeVisibility(this.treeData[0], list);
3362
+ this.$refs.regionTree.setCheckedKeys(list);
3059
3363
  }
3060
3364
  }
3061
-
3062
- this.handleCheckedItemsChange();
3063
3365
  }
3064
3366
  }
3065
3367
  });
3066
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=script&lang=js&
3067
- /* harmony default export */ var components_TraditionalControlsvue_type_script_lang_js_ = (TraditionalControlsvue_type_script_lang_js_);
3068
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=0&id=335c5764&scoped=true&lang=scss&
3069
- var TraditionalControlsvue_type_style_index_0_id_335c5764_scoped_true_lang_scss_ = __webpack_require__("3a59");
3368
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=script&lang=js&
3369
+ /* harmony default export */ var components_TreeControlsvue_type_script_lang_js_ = (TreeControlsvue_type_script_lang_js_);
3370
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&
3371
+ var TreeControlsvue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss_ = __webpack_require__("47d7");
3070
3372
 
3071
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=1&lang=css&
3072
- var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("add8");
3373
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=1&lang=css&
3374
+ var TreeControlsvue_type_style_index_1_lang_css_ = __webpack_require__("8f55");
3073
3375
 
3074
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue
3376
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue
3075
3377
 
3076
3378
 
3077
3379
 
@@ -3081,18 +3383,18 @@ var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("a
3081
3383
 
3082
3384
  /* normalize component */
3083
3385
 
3084
- var TraditionalControls_component = normalizeComponent(
3085
- components_TraditionalControlsvue_type_script_lang_js_,
3086
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_render,
3087
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns,
3386
+ var TreeControls_component = normalizeComponent(
3387
+ components_TreeControlsvue_type_script_lang_js_,
3388
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render,
3389
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns,
3088
3390
  false,
3089
3391
  null,
3090
- "335c5764",
3392
+ "4d20ec9a",
3091
3393
  null
3092
3394
 
3093
3395
  )
3094
3396
 
3095
- /* harmony default export */ var TraditionalControls = (TraditionalControls_component.exports);
3397
+ /* harmony default export */ var TreeControls = (TreeControls_component.exports);
3096
3398
  // EXTERNAL MODULE: external "@abi-software/svg-sprite"
3097
3399
  var svg_sprite_ = __webpack_require__("429c");
3098
3400
 
@@ -3371,6 +3673,12 @@ var svg_sprite_ = __webpack_require__("429c");
3371
3673
  //
3372
3674
  //
3373
3675
  //
3676
+ //
3677
+ //
3678
+ //
3679
+ //
3680
+ //
3681
+ //
3374
3682
 
3375
3683
  /* eslint-disable no-alert, no-console */
3376
3684
 
@@ -3379,6 +3687,7 @@ var svg_sprite_ = __webpack_require__("429c");
3379
3687
 
3380
3688
 
3381
3689
 
3690
+
3382
3691
  locale_default.a.use(en_default.a);
3383
3692
  external_vue_default.a.use(col_default.a);
3384
3693
  external_vue_default.a.use(loading_default.a.directive);
@@ -3397,17 +3706,18 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3397
3706
  * A vue component of the scaffold viewer.
3398
3707
  *
3399
3708
  * @requires ./OpacityControls.vue
3400
- * @requires ./TraditionalControls.vue
3709
+ * @requires ./TreeControls.vue
3401
3710
  */
3402
3711
 
3403
3712
 
3404
3713
  /* harmony default export */ var ScaffoldVuervue_type_script_lang_js_ = ({
3405
3714
  name: "ScaffoldVuer",
3406
3715
  components: {
3407
- OpacityControls: OpacityControls,
3408
3716
  MapSvgIcon: svg_sprite_["MapSvgIcon"],
3409
3717
  MapSvgSpriteColor: svg_sprite_["MapSvgSpriteColor"],
3410
- TraditionalControls: TraditionalControls
3718
+ OpacityControls: OpacityControls,
3719
+ ScaffoldTooltip: ScaffoldTooltip,
3720
+ TreeControls: TreeControls
3411
3721
  },
3412
3722
  props: {
3413
3723
  /**
@@ -3595,7 +3905,14 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3595
3905
  label: "10x"
3596
3906
  }],
3597
3907
  currentSpeed: 1,
3598
- timeStamps: {}
3908
+ timeStamps: {},
3909
+ defaultCheckedKeys: [],
3910
+ tData: {
3911
+ label: "",
3912
+ visible: false,
3913
+ x: 200,
3914
+ y: 200
3915
+ }
3599
3916
  };
3600
3917
  },
3601
3918
  watch: {
@@ -3791,23 +4108,34 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3791
4108
  cameracontrol.stopAutoTumble();
3792
4109
  this.isTransitioning = false;
3793
4110
  },
4111
+ findObjectsWithGroupName: function findObjectsWithGroupName(name) {
4112
+ var objects = [];
4113
+
4114
+ if (name && name != "" && this.$module.scene) {
4115
+ objects = this.$module.scene.findObjectsWithGroupName(name);
4116
+ }
4117
+
4118
+ return objects;
4119
+ },
3794
4120
 
3795
4121
  /**
3796
4122
  * Focus on named region
3797
4123
  */
3798
4124
  viewRegion: function viewRegion(name) {
3799
- if (name && name != "" && this.$module.scene) {
3800
- var objects = this.$module.scene.findObjectsWithGroupName(name);
3801
- var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
4125
+ var objects = this.findObjectsWithGroupName(name);
4126
+ var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
3802
4127
 
3803
- if (box) {
3804
- if (this.$module.isSyncControl()) {
3805
- this.$module.setSyncControlZoomToBox(box);
3806
- } else {
3807
- this.$module.scene.viewAllWithBoundingBox(box);
3808
- }
4128
+ if (box) {
4129
+ if (this.$module.isSyncControl()) {
4130
+ this.$module.setSyncControlZoomToBox(box);
4131
+ } else {
4132
+ this.$module.scene.viewAllWithBoundingBox(box);
3809
4133
  }
4134
+
4135
+ return true;
3810
4136
  }
4137
+
4138
+ return false;
3811
4139
  },
3812
4140
  setFocusedRegion: function setFocusedRegion(name) {
3813
4141
  if (name) {
@@ -3862,40 +4190,52 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3862
4190
  */
3863
4191
  eventNotifierCallback: function eventNotifierCallback(event) {
3864
4192
  if (event.eventType == 1) {
3865
- if (this.$refs.traditionalControl) {
4193
+ if (this.$refs.treeControl) {
3866
4194
  if (event.identifiers[0]) {
3867
4195
  var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
3868
- this.$refs.traditionalControl.changeActiveByName(id, true);
4196
+ var region = event.identifiers[0].data.region;
4197
+ this.$refs.treeControl.changeActiveByName(id, region, true);
3869
4198
  } else {
3870
- this.$refs.traditionalControl.removeActive(true);
4199
+ this.$refs.treeControl.removeActive(true);
3871
4200
  }
3872
- }
3873
- /**
3874
- * Triggers when an object has been selected
3875
- *
3876
- * @property {array} identifiers array of identifiers
3877
- * of selected object.
3878
- */
4201
+ } // Triggers when an object has been selected
3879
4202
 
3880
4203
 
3881
4204
  this.$emit("scaffold-selected", event.identifiers);
3882
4205
  } else if (event.eventType == 2) {
3883
- if (this.$refs.traditionalControl) {
3884
- if (event.identifiers[0]) {
3885
- var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4206
+ this.tData.visible = false;
4207
+ var offsets = this.$refs.scaffoldContainer.getBoundingClientRect();
3886
4208
 
3887
- this.$refs.traditionalControl.changeHoverByName(_id, true);
3888
- } else this.$refs.traditionalControl.removeHover(true);
3889
- }
3890
- /**
3891
- * Triggers when an object has been highlighted
3892
- *
3893
- * @property {array} identifiers array of identifiers
3894
- * of highlighted object.
3895
- */
4209
+ if (event.identifiers[0]) {
4210
+ var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4211
+
4212
+ if (event.identifiers[0].coords) {
4213
+ this.tData.visible = true;
4214
+ this.tData.label = _id;
4215
+ this.tData.x = event.identifiers[0].coords.x - offsets.left;
4216
+ this.tData.y = event.identifiers[0].coords.y - offsets.top;
4217
+ }
4218
+
4219
+ if (this.$refs.treeControl) {
4220
+ var _region = event.identifiers[0].data.region;
4221
+ this.$refs.treeControl.changeHoverByName(_id, _region, true);
4222
+ } else {
4223
+ this.$refs.treeControl.removeHover(true);
4224
+ }
4225
+ } // Triggers when an object has been highlighted
3896
4226
 
3897
4227
 
3898
4228
  this.$emit("scaffold-highlighted", event.identifiers);
4229
+ } else if (event.eventType == 3) {
4230
+ //MOVE
4231
+ if (event.identifiers[0]) {
4232
+ if (event.identifiers[0].coords) {
4233
+ var _offsets = this.$refs.scaffoldContainer.getBoundingClientRect();
4234
+
4235
+ this.tData.x = event.identifiers[0].coords.x - _offsets.left;
4236
+ this.tData.y = event.identifiers[0].coords.y - _offsets.top;
4237
+ }
4238
+ }
3899
4239
  }
3900
4240
  },
3901
4241
 
@@ -3940,7 +4280,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3940
4280
  if (object !== this.selectedObject) {
3941
4281
  this.selectedObject = object;
3942
4282
  this.$refs.opacityControl.setObject(this.selectedObject);
3943
- if (object) this.$module.setSelectedByZincObject(object, propagate);else this.$module.setSelectedByObjects([], propagate);
4283
+ if (object) this.$module.setSelectedByZincObject(object, undefined, propagate);else this.$module.setSelectedByObjects([], undefined, propagate);
3944
4284
  }
3945
4285
  },
3946
4286
 
@@ -3952,26 +4292,26 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3952
4292
  objectHovered: function objectHovered(object, propagate) {
3953
4293
  if (object !== this.hoveredObject) {
3954
4294
  this.hoveredObject = object;
3955
- if (object) this.$module.setHighlightedByZincObject(object, propagate);else this.$module.setHighlightedByObjects([], propagate);
4295
+ if (object) this.$module.setHighlightedByZincObject(object, undefined, propagate);else this.$module.setHighlightedByObjects([], undefined, propagate);
3956
4296
  }
3957
4297
  },
3958
4298
 
3959
4299
  /**
3960
4300
  * Set the selected by name.
3961
4301
  *
3962
- * @param {name} name Name of the region
4302
+ * @param {name} name Name of the group
3963
4303
  */
3964
- changeActiveByName: function changeActiveByName(name, propagate) {
3965
- if (name === undefined) this.$refs.traditionalControl.removeActive(propagate);else this.$refs.traditionalControl.changeActiveByName(name, propagate);
4304
+ changeActiveByName: function changeActiveByName(name, region, propagate) {
4305
+ if (name === undefined) this.$refs.treeControl.removeActive(propagate);else this.$refs.treeControl.changeActiveByName(name, region, propagate);
3966
4306
  },
3967
4307
 
3968
4308
  /**
3969
4309
  * Set the highlighted by name.
3970
4310
  *
3971
- * @param {name} name Name of the region
4311
+ * @param {name} name Name of the group
3972
4312
  */
3973
- changeHighlightedByName: function changeHighlightedByName(name, propagate) {
3974
- if (name === undefined) this.$refs.traditionalControl.removeHover(propagate);else this.$refs.traditionalControl.changeHoverByName(name, propagate);
4313
+ changeHighlightedByName: function changeHighlightedByName(name, region, propagate) {
4314
+ if (name === undefined) this.$refs.treeControl.removeHover(propagate);else this.$refs.treeControl.changeHoverByName(name, region, propagate);
3975
4315
  },
3976
4316
 
3977
4317
  /**
@@ -4069,7 +4409,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4069
4409
  if (options.visibility) {
4070
4410
  // Some UIs may not be ready at this time.
4071
4411
  _this3.$nextTick(function () {
4072
- _this3.$refs.traditionalControl.setState(options.visibility);
4412
+ _this3.$refs.treeControl.setState(options.visibility);
4073
4413
  });
4074
4414
  }
4075
4415
  }
@@ -4082,6 +4422,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4082
4422
 
4083
4423
  _this3.$module.unsetFinishDownloadCallback();
4084
4424
 
4425
+ _this3.$emit("on-ready");
4426
+
4085
4427
  _this3.isReady = true;
4086
4428
  };
4087
4429
  },
@@ -4098,7 +4440,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4098
4440
  viewport: undefined,
4099
4441
  visibility: undefined
4100
4442
  };
4101
- if (this.$refs.traditionalControl) state.visibility = this.$refs.traditionalControl.getState();
4443
+ if (this.$refs.treeControl) state.visibility = this.$refs.treeControl.getState();
4102
4444
 
4103
4445
  if (this.$module.scene) {
4104
4446
  var zincCameraControls = this.$module.scene.getZincCameraControls();
@@ -4125,7 +4467,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4125
4467
  if (state.viewport || state.visibility) {
4126
4468
  if (this.isReady && this.$module.scene) {
4127
4469
  if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);
4128
- if (state.visibility) this.$refs.traditionalControl.setState(state.visibility);
4470
+ if (state.visibility) this.$refs.treeControl.setState(state.visibility);
4129
4471
  } else {
4130
4472
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
4131
4473
  viewport: state.viewport,
@@ -4152,7 +4494,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4152
4494
  var viewport = state && state.viewport ? state.viewport : undefined;
4153
4495
  var visibility = state && state.visibility ? state.visibility : undefined;
4154
4496
  this._currentURL = newValue;
4155
- if (this.$refs.traditionalControl) this.$refs.traditionalControl.clear();
4497
+ if (this.$refs.treeControl) this.$refs.treeControl.clear();
4156
4498
  this.loading = true;
4157
4499
  this.isReady = false;
4158
4500
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
@@ -4226,8 +4568,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4226
4568
  });
4227
4569
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=script&lang=js&
4228
4570
  /* harmony default export */ var components_ScaffoldVuervue_type_script_lang_js_ = (ScaffoldVuervue_type_script_lang_js_);
4229
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=226a06e2&scoped=true&lang=scss&
4230
- var ScaffoldVuervue_type_style_index_0_id_226a06e2_scoped_true_lang_scss_ = __webpack_require__("a1d1");
4571
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=7b24ee61&scoped=true&lang=scss&
4572
+ var ScaffoldVuervue_type_style_index_0_id_7b24ee61_scoped_true_lang_scss_ = __webpack_require__("2e30");
4231
4573
 
4232
4574
  // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&
4233
4575
  var ScaffoldVuervue_type_style_index_1_lang_scss_ = __webpack_require__("642d");
@@ -4248,7 +4590,7 @@ var ScaffoldVuer_component = normalizeComponent(
4248
4590
  staticRenderFns,
4249
4591
  false,
4250
4592
  null,
4251
- "226a06e2",
4593
+ "7b24ee61",
4252
4594
  null
4253
4595
 
4254
4596
  )
@@ -4278,6 +4620,13 @@ module.exports = require("core-js/modules/es.string.includes");
4278
4620
 
4279
4621
  module.exports = require("element-ui/lib/theme-chalk/row.css");
4280
4622
 
4623
+ /***/ }),
4624
+
4625
+ /***/ "fe0e":
4626
+ /***/ (function(module, exports) {
4627
+
4628
+ module.exports = require("core-js/modules/es.array.find");
4629
+
4281
4630
  /***/ })
4282
4631
 
4283
4632
  /******/ });