@abi-software/scaffoldvuer 0.1.52-beta.0 → 0.1.52-beta.3

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.
@@ -112,7 +112,7 @@ module.exports = _nonIterableSpread;
112
112
 
113
113
  /***/ }),
114
114
 
115
- /***/ "09a4":
115
+ /***/ "0740":
116
116
  /***/ (function(module, exports, __webpack_require__) {
117
117
 
118
118
  // extracted by mini-css-extract-plugin
@@ -140,6 +140,13 @@ module.exports = require("element-ui/lib/theme-chalk/select.css");
140
140
 
141
141
  /***/ }),
142
142
 
143
+ /***/ "0fec":
144
+ /***/ (function(module, exports) {
145
+
146
+ module.exports = require("element-ui/lib/tree");
147
+
148
+ /***/ }),
149
+
143
150
  /***/ "11b0":
144
151
  /***/ (function(module, exports, __webpack_require__) {
145
152
 
@@ -174,17 +181,17 @@ module.exports = require("core-js/modules/es.array.for-each");
174
181
 
175
182
  /***/ }),
176
183
 
177
- /***/ "18d2":
184
+ /***/ "1ac9":
178
185
  /***/ (function(module, exports) {
179
186
 
180
- module.exports = require("core-js/modules/es.array.concat");
187
+ module.exports = require("element-ui/lib/container");
181
188
 
182
189
  /***/ }),
183
190
 
184
- /***/ "1ac9":
185
- /***/ (function(module, exports) {
191
+ /***/ "1b02":
192
+ /***/ (function(module, exports, __webpack_require__) {
186
193
 
187
- module.exports = require("element-ui/lib/container");
194
+ // extracted by mini-css-extract-plugin
188
195
 
189
196
  /***/ }),
190
197
 
@@ -193,17 +200,6 @@ module.exports = require("element-ui/lib/container");
193
200
 
194
201
  module.exports = require("core-js/modules/web.dom-collections.iterator");
195
202
 
196
- /***/ }),
197
-
198
- /***/ "1f67":
199
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
200
-
201
- "use strict";
202
- /* 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_023c058f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("09a4");
203
- /* 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_023c058f_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_023c058f_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
204
- /* unused harmony reexport * */
205
-
206
-
207
203
  /***/ }),
208
204
 
209
205
  /***/ "1fe8":
@@ -298,17 +294,6 @@ module.exports = require("element-ui/lib/theme-chalk/color-picker.css");
298
294
 
299
295
  module.exports = require("element-ui/lib/drawer");
300
296
 
301
- /***/ }),
302
-
303
- /***/ "3a59":
304
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
305
-
306
- "use strict";
307
- /* 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");
308
- /* 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__);
309
- /* unused harmony reexport * */
310
-
311
-
312
297
  /***/ }),
313
298
 
314
299
  /***/ "429c":
@@ -337,10 +322,14 @@ module.exports = _toConsumableArray;
337
322
 
338
323
  /***/ }),
339
324
 
340
- /***/ "4646":
341
- /***/ (function(module, exports, __webpack_require__) {
325
+ /***/ "47d7":
326
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
327
+
328
+ "use strict";
329
+ /* 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");
330
+ /* 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__);
331
+ /* unused harmony reexport * */
342
332
 
343
- // extracted by mini-css-extract-plugin
344
333
 
345
334
  /***/ }),
346
335
 
@@ -351,6 +340,13 @@ module.exports = require("element-ui/lib/color-picker");
351
340
 
352
341
  /***/ }),
353
342
 
343
+ /***/ "49d0":
344
+ /***/ (function(module, exports) {
345
+
346
+ module.exports = require("element-ui/lib/theme-chalk/tree.css");
347
+
348
+ /***/ }),
349
+
354
350
  /***/ "4c89":
355
351
  /***/ (function(module, exports) {
356
352
 
@@ -389,16 +385,12 @@ module.exports = require("core-js/modules/es.regexp.exec");
389
385
  /***/ "53d7":
390
386
  /***/ (function(module, exports, __webpack_require__) {
391
387
 
392
- __webpack_require__("ab7e");
393
-
394
388
  __webpack_require__("7c81");
395
389
 
396
390
  __webpack_require__("bcd8");
397
391
 
398
392
  __webpack_require__("2175");
399
393
 
400
- __webpack_require__("fd48");
401
-
402
394
  var _typeof = __webpack_require__("7037");
403
395
 
404
396
  var THREE = __webpack_require__("9206").THREE; // Current model's associate data, data fields, external link, nerve map
@@ -437,6 +429,8 @@ var OrgansSceneData = function OrgansSceneData() {
437
429
 
438
430
 
439
431
  var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
432
+ var _this2 = this;
433
+
440
434
  __webpack_require__("8278").RendererModule.call(this);
441
435
 
442
436
  var _this = this;
@@ -448,6 +442,7 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
448
442
  var organPartAddedCallbacks = new Array();
449
443
  var finishDownloadCallback = undefined;
450
444
  var modelsLoader = ModelsLoaderIn;
445
+ this.NDCCameraControl = undefined;
451
446
  _this.typeName = "Organ Viewer";
452
447
 
453
448
  this.getSceneData = function () {
@@ -490,6 +485,40 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
490
485
  _this.sceneData.currentTime = currentTime / duration * 100.0;
491
486
  };
492
487
 
488
+ this.toggleSyncControl = function (flag) {
489
+ var cameraControl = _this2.scene.getZincCameraControls();
490
+
491
+ if (flag) {
492
+ cameraControl.resetView();
493
+ _this2.NDCCameraControl = cameraControl.enableSyncControl();
494
+ } else {
495
+ cameraControl.disableSyncControl();
496
+ _this2.NDCCameraControl = undefined;
497
+ }
498
+ };
499
+
500
+ this.isSyncControl = function () {
501
+ return _this2.NDCCameraControl !== undefined;
502
+ };
503
+
504
+ this.setSyncControlZoomToBox = function (box) {
505
+ if (_this2.NDCCameraControl) {
506
+ _this2.NDCCameraControl.zoomToBox(box, 2);
507
+ }
508
+ };
509
+
510
+ this.setSyncControlCallback = function (callback) {
511
+ if (_this2.NDCCameraControl) {
512
+ _this2.NDCCameraControl.setEventCallback(callback);
513
+ }
514
+ };
515
+
516
+ this.setSyncControlCenterZoom = function (center, zoom) {
517
+ if (_this2.NDCCameraControl) {
518
+ _this2.NDCCameraControl.setCenterZoom(center, zoom);
519
+ }
520
+ };
521
+
493
522
  var postRenderSelectedCoordinatesUpdate = function postRenderSelectedCoordinatesUpdate() {
494
523
  if (_this.selectedCenter) {
495
524
  var vector = new THREE.Vector3();
@@ -598,17 +627,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
598
627
  var intersected = _this.getIntersectedObject(intersects);
599
628
 
600
629
  var idObject = getIdObjectFromIntersect(intersected);
630
+ var coords = {
631
+ x: window_x,
632
+ y: window_y
633
+ };
601
634
 
602
635
  if (idObject.id) {
603
636
  if (idObject.object.userData.isGlyph) {
604
- if (idObject.object.name) _this.setSelectedByObjects([idObject.object], true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), true);
637
+ if (idObject.object.name) _this.setSelectedByObjects([idObject.object], coords, true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), coords, true);
605
638
  } else {
606
- _this.setSelectedByObjects([idObject.object], true);
639
+ _this.setSelectedByObjects([idObject.object], coords, true);
607
640
  }
608
641
 
609
642
  return;
610
643
  } else {
611
- _this.setSelectedByObjects([], true);
644
+ _this.setSelectedByObjects([], coords, true);
612
645
  }
613
646
  };
614
647
  };
@@ -624,17 +657,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
624
657
  var intersected = _this.getIntersectedObject(intersects);
625
658
 
626
659
  var idObject = getIdObjectFromIntersect(intersected);
660
+ var coords = {
661
+ x: window_x,
662
+ y: window_y
663
+ };
627
664
 
628
665
  if (idObject.id) {
629
666
  _this.displayArea.style.cursor = "pointer";
630
667
 
631
- _this.setHighlightedByObjects([idObject.object], true);
668
+ _this.setHighlightedByObjects([idObject.object], coords, true);
632
669
 
633
670
  return;
634
671
  } else {
635
672
  _this.displayArea.style.cursor = "auto";
636
673
 
637
- _this.setHighlightedByObjects([], true);
674
+ _this.setHighlightedByObjects([], coords, true);
638
675
  }
639
676
  };
640
677
  };
@@ -737,42 +774,34 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
737
774
  };
738
775
 
739
776
  var addOrganPartToSceneData = function addOrganPartToSceneData(zincObject) {
740
- if (zincObject.groupName) {
741
- if (zincObject.isGeometry) {
742
- if (!_this.sceneData.geometries.includes(zincObject.groupName)) {
743
- _this.sceneData.geometries.push(zincObject.groupName);
744
- }
745
- } else if (zincObject.isGlyphset) {
746
- if (!_this.sceneData.glyphsets.includes(zincObject.groupName)) {
747
- _this.sceneData.glyphsets.push(zincObject.groupName);
748
- }
749
- } else if (zincObject.isLines) {
750
- if (!_this.sceneData.lines.includes(zincObject.groupName)) {
751
- _this.sceneData.lines.push(zincObject.groupName);
752
- }
753
- } else if (zincObject.isPointset) {
754
- if (!_this.sceneData.pointsets.includes(zincObject.groupName)) {
755
- _this.sceneData.pointsets.push(zincObject.groupName);
756
- }
757
- }
777
+ if (zincObject.isGeometry) {
778
+ _this.sceneData.geometries.push(zincObject);
779
+ } else if (zincObject.isGlyphset) {
780
+ _this.sceneData.glyphsets.push(zincObject);
781
+ } else if (zincObject.isLines) {
782
+ _this.sceneData.lines.push(zincObject);
783
+ } else if (zincObject.isPointset) {
784
+ _this.sceneData.pointsets.push(zincObject);
758
785
  }
759
786
  };
760
787
 
761
788
  var addOrganPart = function addOrganPart(systemName, partName, useDefautColour, zincObject) {
762
789
  for (var i = 0; i < organPartAddedCallbacks.length; i++) {
763
- organPartAddedCallbacks[i](zincObject.groupName, _this.scene.isTimeVarying(), zincObject);
790
+ organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());
764
791
  }
765
792
 
766
793
  if (useDefautColour) modelsLoader.setGeometryColour(zincObject, systemName, partName);
767
794
  addOrganPartToSceneData(zincObject);
768
795
  var annotation = new (__webpack_require__("984d").annotation)();
796
+ var region = zincObject.region.getFullPath();
769
797
  annotation.data = {
770
798
  species: _this.sceneData.currentSpecies,
771
799
  system: systemName,
772
800
  part: partName,
773
- group: zincObject.groupName
801
+ group: zincObject.groupName,
802
+ region: region
774
803
  };
775
- zincObject.userData = [annotation];
804
+ zincObject.userData["annotation"] = annotation;
776
805
  };
777
806
  /**
778
807
  * New organs geometry has been added to the scene, add UIs and make
@@ -1379,6 +1408,13 @@ module.exports = require("element-ui/lib/row");
1379
1408
 
1380
1409
  /***/ }),
1381
1410
 
1411
+ /***/ "6faa":
1412
+ /***/ (function(module, exports) {
1413
+
1414
+ module.exports = require("core-js/modules/es.number.constructor");
1415
+
1416
+ /***/ }),
1417
+
1382
1418
  /***/ "7037":
1383
1419
  /***/ (function(module, exports, __webpack_require__) {
1384
1420
 
@@ -1531,7 +1567,6 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1531
1567
 
1532
1568
  RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1533
1569
  var annotations = [];
1534
- var count = 0;
1535
1570
 
1536
1571
  for (var i = 0; i < objects.length; i++) {
1537
1572
  var zincObject = objects[i].userData;
@@ -1541,13 +1576,13 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1541
1576
  if (zincObject.isGlyph || zincObject.isGlyphset) {
1542
1577
  var glyphset = zincObject;
1543
1578
  if (zincObject.isGlyph) glyphset = (_readOnlyError("glyphset"), zincObject.getGlyphset());
1544
- annotation = glyphset.userData ? glyphset.userData[0] : undefined;
1579
+ annotation = glyphset.userData ? glyphset.userData.annotation : undefined;
1545
1580
 
1546
1581
  if (annotation && annotation.data) {
1547
1582
  if (objects[i].name && objects[i].name != "") annotation.data.id = objects[i].name;else annotation.data.id = glyphset.groupName;
1548
1583
  }
1549
1584
  } else {
1550
- annotation = zincObject.userData ? zincObject.userData[0] : undefined;
1585
+ annotation = zincObject.userData ? zincObject.userData.annotation : undefined;
1551
1586
 
1552
1587
  if (annotation && annotation.data) {
1553
1588
  annotation.data.id = objects[i].name;
@@ -1555,27 +1590,28 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1555
1590
  }
1556
1591
  }
1557
1592
 
1558
- if (annotation) annotations[count++] = annotation;
1593
+ if (annotation) annotations.push(annotation);
1559
1594
  }
1560
1595
 
1561
1596
  return annotations;
1562
1597
  };
1563
1598
 
1564
- RendererModule.prototype.setHighlightedByObjects = function (objects, propagateChanges) {
1599
+ RendererModule.prototype.setHighlightedByObjects = function (objects, coords, propagateChanges) {
1565
1600
  var changed = this.graphicsHighlight.setHighlighted(objects);
1566
1601
 
1567
- if (changed && propagateChanges) {
1568
- var eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1569
-
1602
+ if (propagateChanges) {
1603
+ eventType = __webpack_require__("9b21").EVENT_TYPE.MOVE;
1604
+ if (changed) eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1570
1605
  var annotations = this.getAnnotationsFromObjects(objects);
1606
+ if (annotations.length > 0) annotations[0].coords = coords;
1571
1607
  this.publishChanges(annotations, eventType);
1572
1608
  }
1573
1609
 
1574
1610
  return changed;
1575
1611
  };
1576
1612
 
1577
- RendererModule.prototype.setHighlightedByZincObject = function (zincObject, propagateChanges) {
1578
- return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1613
+ RendererModule.prototype.setHighlightedByZincObject = function (zincObject, coords, propagateChanges) {
1614
+ return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1579
1615
  };
1580
1616
 
1581
1617
  RendererModule.prototype.setupLiveCoordinates = function (zincObjects) {
@@ -1612,7 +1648,7 @@ RendererModule.prototype.objectsToZincObjects = function (objects) {
1612
1648
  return zincObjects;
1613
1649
  };
1614
1650
 
1615
- RendererModule.prototype.setSelectedByObjects = function (objects, propagateChanges) {
1651
+ RendererModule.prototype.setSelectedByObjects = function (objects, coords, propagateChanges) {
1616
1652
  var changed = this.graphicsHighlight.setSelected(objects);
1617
1653
 
1618
1654
  if (changed) {
@@ -1620,18 +1656,19 @@ RendererModule.prototype.setSelectedByObjects = function (objects, propagateChan
1620
1656
  this.setupLiveCoordinates(zincObjects);
1621
1657
 
1622
1658
  if (propagateChanges) {
1623
- var eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1659
+ var _eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1624
1660
 
1625
1661
  var annotations = this.getAnnotationsFromObjects(objects);
1626
- this.publishChanges(annotations, eventType);
1662
+ if (annotations.length > 0) annotations[0].coords = coords;
1663
+ this.publishChanges(annotations, _eventType);
1627
1664
  }
1628
1665
  }
1629
1666
 
1630
1667
  return changed;
1631
1668
  };
1632
1669
 
1633
- RendererModule.prototype.setSelectedByZincObject = function (zincObject, propagateChanges) {
1634
- return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1670
+ RendererModule.prototype.setSelectedByZincObject = function (zincObject, coords, propagateChanges) {
1671
+ return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1635
1672
  };
1636
1673
 
1637
1674
  var addGlyphToArray = function addGlyphToArray(objects) {
@@ -1659,12 +1696,12 @@ RendererModule.prototype.findObjectsByGroupName = function (groupName) {
1659
1696
 
1660
1697
  RendererModule.prototype.setHighlightedByGroupName = function (groupName, propagateChanges) {
1661
1698
  var objects = this.findObjectsByGroupName(groupName);
1662
- return this.setHighlightedByObjects(objects, propagateChanges);
1699
+ return this.setHighlightedByObjects(objects, undefined, propagateChanges);
1663
1700
  };
1664
1701
 
1665
1702
  RendererModule.prototype.setSelectedByGroupName = function (groupName, propagateChanges) {
1666
1703
  var objects = this.findObjectsByGroupName(groupName);
1667
- return this.setSelectedByObjects(objects, propagateChanges);
1704
+ return this.setSelectedByObjects(objects, undefined, propagateChanges);
1668
1705
  };
1669
1706
 
1670
1707
  RendererModule.prototype.changeBackgroundColour = function (backgroundColourString) {
@@ -1775,6 +1812,17 @@ module.exports = require("core-js/modules/es.array.iterator");
1775
1812
 
1776
1813
  module.exports = require("element-ui/lib/theme-chalk/icon.css");
1777
1814
 
1815
+ /***/ }),
1816
+
1817
+ /***/ "8f55":
1818
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1819
+
1820
+ "use strict";
1821
+ /* 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");
1822
+ /* 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__);
1823
+ /* unused harmony reexport * */
1824
+
1825
+
1778
1826
  /***/ }),
1779
1827
 
1780
1828
  /***/ "907b":
@@ -1791,6 +1839,13 @@ module.exports = require("zincjs");
1791
1839
 
1792
1840
  /***/ }),
1793
1841
 
1842
+ /***/ "9372":
1843
+ /***/ (function(module, exports, __webpack_require__) {
1844
+
1845
+ // extracted by mini-css-extract-plugin
1846
+
1847
+ /***/ }),
1848
+
1794
1849
  /***/ "93e6":
1795
1850
  /***/ (function(module, exports) {
1796
1851
 
@@ -1838,7 +1893,8 @@ __webpack_require__("7c81");
1838
1893
  var EVENT_TYPE = {
1839
1894
  ALL: 0,
1840
1895
  SELECTED: 1,
1841
- HIGHLIGHTED: 2
1896
+ HIGHLIGHTED: 2,
1897
+ MOVE: 3
1842
1898
  };
1843
1899
 
1844
1900
  var SelectionEvent = function SelectionEvent(eventTypeIn, identifiersIn) {
@@ -1911,6 +1967,17 @@ exports.EVENT_TYPE = EVENT_TYPE;
1911
1967
 
1912
1968
  module.exports = require("@soda/get-current-script");
1913
1969
 
1970
+ /***/ }),
1971
+
1972
+ /***/ "a2ed":
1973
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1974
+
1975
+ "use strict";
1976
+ /* 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_73bfbf2a_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("0740");
1977
+ /* 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_73bfbf2a_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_73bfbf2a_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
1978
+ /* unused harmony reexport * */
1979
+
1980
+
1914
1981
  /***/ }),
1915
1982
 
1916
1983
  /***/ "a497":
@@ -1946,17 +2013,6 @@ module.exports = require("core-js/modules/es.array.includes");
1946
2013
 
1947
2014
  module.exports = require("element-ui/lib/loading");
1948
2015
 
1949
- /***/ }),
1950
-
1951
- /***/ "add8":
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_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");
1956
- /* 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__);
1957
- /* unused harmony reexport * */
1958
-
1959
-
1960
2016
  /***/ }),
1961
2017
 
1962
2018
  /***/ "b0e3":
@@ -2008,6 +2064,13 @@ module.exports = require("element-ui/lib/option");
2008
2064
 
2009
2065
  /***/ }),
2010
2066
 
2067
+ /***/ "cacd":
2068
+ /***/ (function(module, exports, __webpack_require__) {
2069
+
2070
+ // extracted by mini-css-extract-plugin
2071
+
2072
+ /***/ }),
2073
+
2011
2074
  /***/ "cf41":
2012
2075
  /***/ (function(module, exports, __webpack_require__) {
2013
2076
 
@@ -2096,10 +2159,21 @@ module.exports = require("core-js/modules/es.array.from");
2096
2159
 
2097
2160
  /***/ }),
2098
2161
 
2099
- /***/ "e8d1":
2100
- /***/ (function(module, exports, __webpack_require__) {
2162
+ /***/ "e716":
2163
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2164
+
2165
+ "use strict";
2166
+ /* 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_7e38bfac_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cacd");
2167
+ /* 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_7e38bfac_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_7e38bfac_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
2168
+ /* unused harmony reexport * */
2101
2169
 
2102
- // extracted by mini-css-extract-plugin
2170
+
2171
+ /***/ }),
2172
+
2173
+ /***/ "f705":
2174
+ /***/ (function(module, exports) {
2175
+
2176
+ module.exports = require("core-js/modules/es.array.map");
2103
2177
 
2104
2178
  /***/ }),
2105
2179
 
@@ -2137,12 +2211,12 @@ if (typeof window !== 'undefined') {
2137
2211
  // Indicate to webpack that this file can be concatenated
2138
2212
  /* harmony default export */ var setPublicPath = (null);
2139
2213
 
2140
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"de8fb6da-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=023c058f&scoped=true&
2141
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('TraditionalControls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"traditionalControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('OpacityControls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2214
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=73bfbf2a&scoped=true&
2215
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('scaffold-tooltip',{attrs:{"label":_vm.tData.label,"visible":_vm.tData.visible,"x":_vm.tData.x,"y":_vm.tData.y}}),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('tree-controls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"treeControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('opacity-controls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2142
2216
  var staticRenderFns = []
2143
2217
 
2144
2218
 
2145
- // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=023c058f&scoped=true&
2219
+ // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=73bfbf2a&scoped=true&
2146
2220
 
2147
2221
  // EXTERNAL MODULE: external "core-js/modules/es.array.for-each"
2148
2222
  var es_array_for_each_ = __webpack_require__("139f");
@@ -2241,7 +2315,7 @@ var col_default = /*#__PURE__*/__webpack_require__.n(col_);
2241
2315
  var external_vue_ = __webpack_require__("8bbf");
2242
2316
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
2243
2317
 
2244
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"de8fb6da-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&
2318
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&
2245
2319
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.material!=undefined)?_c('div',{ref:"control",staticClass:"opacity-control"},[_c('el-drawer',{staticClass:"drawer-content",attrs:{"custom-class":"my-drawer","visible":_vm.drawerOpen,"append-to-body":false,"modal-append-to-body":false,"size":"300","with-header":false,"wrapper-closable":false,"modal":false},on:{"update:visible":function($event){_vm.drawerOpen=$event}}},[(_vm.drawerOpen)?_c('div',{staticClass:"tab-button close",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-right"})]):_vm._e(),_c('el-container',{staticClass:"opacity-container"},[_c('el-header',{staticClass:"header",attrs:{"height":"37px"}},[_c('div',[_vm._v("Opacity")])]),_c('el-main',{staticClass:"main"},[_c('div',{staticClass:"block"},[_c('span',{staticClass:"display"},[_vm._v(_vm._s(_vm.displayString))]),_c('el-slider',{staticClass:"my-slider",attrs:{"step":0.01,"min":0,"max":1,"format-tooltip":_vm.formatTooltip,"show-tooltip":false},model:{value:(_vm.material.opacity),callback:function ($$v) {_vm.$set(_vm.material, "opacity", $$v)},expression:"material.opacity"}})],1)])],1)],1),(!_vm.drawerOpen)?_c('div',{staticClass:"tab-button open",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})]):_vm._e()],1):_vm._e()}
2246
2320
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_staticRenderFns = []
2247
2321
 
@@ -2542,25 +2616,149 @@ var component = normalizeComponent(
2542
2616
  )
2543
2617
 
2544
2618
  /* harmony default export */ var OpacityControls = (component.exports);
2545
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"de8fb6da-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&
2546
- 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,
2547
- 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"})])])}
2548
- var TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns = []
2619
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=template&id=7e38bfac&scoped=true&
2620
+ var ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tooltipContainer",style:(_vm.position)},[_c('el-popover',{ref:"tooltip",attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"tooltip-popper non-selectable"},model:{value:(_vm.display),callback:function ($$v) {_vm.display=$$v},expression:"display"}},[_c('div',[_vm._v(_vm._s(_vm.label))]),_c('i',{directives:[{name:"popover",rawName:"v-popover:tooltip",arg:"tooltip"}]})])],1)}
2621
+ var ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_staticRenderFns = []
2549
2622
 
2550
2623
 
2551
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=template&id=335c5764&scoped=true&
2624
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=template&id=7e38bfac&scoped=true&
2552
2625
 
2553
- // EXTERNAL MODULE: external "core-js/modules/es.array.concat"
2554
- var es_array_concat_ = __webpack_require__("18d2");
2626
+ // EXTERNAL MODULE: external "core-js/modules/es.number.constructor"
2627
+ var es_number_constructor_ = __webpack_require__("6faa");
2628
+
2629
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2630
+
2631
+
2632
+
2633
+
2634
+ //
2635
+ //
2636
+ //
2637
+ //
2638
+ //
2639
+ //
2640
+ //
2641
+ //
2642
+ //
2643
+ //
2644
+ //
2645
+ //
2646
+ //
2647
+ //
2648
+ //
2649
+ //
2650
+
2651
+ /* eslint-disable no-alert, no-console */
2652
+
2653
+
2654
+
2655
+ locale_default.a.use(en_default.a);
2656
+ external_vue_default.a.use(popover_default.a);
2657
+ /**
2658
+ * A component to control the opacity of the target object.
2659
+ */
2660
+
2661
+ /* harmony default export */ var ScaffoldTooltipvue_type_script_lang_js_ = ({
2662
+ name: "ScaffoldTooltip",
2663
+ props: {
2664
+ label: {
2665
+ type: String,
2666
+ default: ""
2667
+ },
2668
+ visible: {
2669
+ type: Boolean,
2670
+ default: false
2671
+ },
2672
+ x: {
2673
+ type: Number,
2674
+ default: 200
2675
+ },
2676
+ y: {
2677
+ type: Number,
2678
+ default: 200
2679
+ }
2680
+ },
2681
+ data: function data() {
2682
+ return {
2683
+ display: false
2684
+ };
2685
+ },
2686
+ computed: {
2687
+ position: function position() {
2688
+ return {
2689
+ left: this.x + "px",
2690
+ top: this.y - 30 + "px"
2691
+ };
2692
+ }
2693
+ },
2694
+ watch: {
2695
+ label: {
2696
+ handler: function handler() {
2697
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2698
+ },
2699
+ immediate: true
2700
+ },
2701
+ visible: {
2702
+ handler: function handler() {
2703
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2704
+ },
2705
+ immediate: true
2706
+ }
2707
+ }
2708
+ });
2709
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2710
+ /* harmony default export */ var components_ScaffoldTooltipvue_type_script_lang_js_ = (ScaffoldTooltipvue_type_script_lang_js_);
2711
+ // EXTERNAL MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=style&index=0&id=7e38bfac&scoped=true&lang=scss&
2712
+ var ScaffoldTooltipvue_type_style_index_0_id_7e38bfac_scoped_true_lang_scss_ = __webpack_require__("e716");
2713
+
2714
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+ /* normalize component */
2722
+
2723
+ var ScaffoldTooltip_component = normalizeComponent(
2724
+ components_ScaffoldTooltipvue_type_script_lang_js_,
2725
+ ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_render,
2726
+ ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_staticRenderFns,
2727
+ false,
2728
+ null,
2729
+ "7e38bfac",
2730
+ null
2731
+
2732
+ )
2733
+
2734
+ /* harmony default export */ var ScaffoldTooltip = (ScaffoldTooltip_component.exports);
2735
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2736
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tree-controls",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:"traditional-container"},[_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('div',{staticClass:"regions-display-text"},[_vm._v(" Regions ")])])],1),_c('div',{staticClass:"tree-container"},[_c('el-tree',{ref:"regionTree",attrs:{"default-expand-all":"","node-key":"id","show-checkbox":"","check-strictly":true,"data":_vm.treeData,"default-checked-keys":['__r/'],"expand-on-click-node":false},on:{"check":_vm.checkChanged},scopedSlots:_vm._u([{key:"default",fn:function(ref){
2737
+ var node = ref.node;
2738
+ var data = ref.data;
2739
+ return _c('span',{staticClass:"region-tree-node",class:{
2740
+ activeItem:
2741
+ (_vm.active.group === data.label &&
2742
+ ((_vm.active.regionPath === data.regionPath) ||
2743
+ _vm.active.regionPath === undefined)),
2744
+ hoverItem:
2745
+ (_vm.hover.group === data.label &&
2746
+ ((_vm.hover.regionPath === data.regionPath) ||
2747
+ _vm.hover.regionPath === undefined))
2748
+ },on:{"click":function($event){return _vm.changeActiveByNode(data, true)},"mouseover":function($event){return _vm.changeHoverByNode(data, true)}}},[(data.primitives)?_c('el-color-picker',{class:{ 'show-picker': _vm.showColourPicker },attrs:{"value":_vm.getColour(data),"size":"small","popper-class":_vm.myPopperClass},on:{"change":function($event){return _vm.setColour(data, $event)}}}):_vm._e(),_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1)],1),_c('div',{staticClass:"drawer-button",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})])])}
2749
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns = []
2750
+
2751
+
2752
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2753
+
2754
+ // EXTERNAL MODULE: external "core-js/modules/es.array.find"
2755
+ var es_array_find_ = __webpack_require__("fe0e");
2555
2756
 
2556
2757
  // EXTERNAL MODULE: external "core-js/modules/es.array.includes"
2557
2758
  var es_array_includes_ = __webpack_require__("ab7e");
2558
2759
 
2559
- // EXTERNAL MODULE: external "core-js/modules/es.array.index-of"
2560
- var es_array_index_of_ = __webpack_require__("6bb1");
2561
-
2562
- // EXTERNAL MODULE: external "core-js/modules/es.array.splice"
2563
- var es_array_splice_ = __webpack_require__("7c81");
2760
+ // EXTERNAL MODULE: external "core-js/modules/es.array.map"
2761
+ var es_array_map_ = __webpack_require__("f705");
2564
2762
 
2565
2763
  // EXTERNAL MODULE: external "core-js/modules/es.regexp.exec"
2566
2764
  var es_regexp_exec_ = __webpack_require__("51f7");
@@ -2647,6 +2845,13 @@ function _nonIterableSpread() {
2647
2845
  function _toConsumableArray(arr) {
2648
2846
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
2649
2847
  }
2848
+ // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/tree.css"
2849
+ var tree_css_ = __webpack_require__("49d0");
2850
+
2851
+ // EXTERNAL MODULE: external "element-ui/lib/tree"
2852
+ var tree_ = __webpack_require__("0fec");
2853
+ var tree_default = /*#__PURE__*/__webpack_require__.n(tree_);
2854
+
2650
2855
  // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/color-picker.css"
2651
2856
  var color_picker_css_ = __webpack_require__("3666");
2652
2857
 
@@ -2668,7 +2873,11 @@ var checkbox_css_ = __webpack_require__("55ee");
2668
2873
  var checkbox_ = __webpack_require__("b777");
2669
2874
  var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2670
2875
 
2671
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TraditionalControls.vue?vue&type=script&lang=js&
2876
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=script&lang=js&
2877
+
2878
+
2879
+
2880
+
2672
2881
 
2673
2882
 
2674
2883
 
@@ -2689,12 +2898,6 @@ var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2689
2898
 
2690
2899
 
2691
2900
 
2692
- //
2693
- //
2694
- //
2695
- //
2696
- //
2697
- //
2698
2901
  //
2699
2902
  //
2700
2903
  //
@@ -2774,12 +2977,36 @@ external_vue_default.a.use(checkbox_default.a);
2774
2977
  external_vue_default.a.use(checkbox_group_default.a);
2775
2978
  external_vue_default.a.use(color_picker_default.a);
2776
2979
  external_vue_default.a.use(row_default.a);
2980
+ external_vue_default.a.use(tree_default.a);
2981
+
2982
+ var nameSorting = function nameSorting(a, b) {
2983
+ var labelA = a.label.toUpperCase();
2984
+ var labelB = b.label.toUpperCase();
2985
+
2986
+ if (labelA < labelB) {
2987
+ return -1;
2988
+ }
2989
+
2990
+ if (labelA > labelB) {
2991
+ return 1;
2992
+ }
2993
+
2994
+ return 0;
2995
+ };
2996
+
2997
+ var extractAllIds = function extractAllIds(item, list) {
2998
+ list.push(item.id);
2999
+ if (item.children) item.children.forEach(function (child) {
3000
+ return extractAllIds(child, list);
3001
+ });
3002
+ };
2777
3003
  /**
2778
3004
  * A vue component for toggling visibility of various regions.
2779
3005
  */
2780
3006
 
2781
- /* harmony default export */ var TraditionalControlsvue_type_script_lang_js_ = ({
2782
- name: "TraditionalControls",
3007
+
3008
+ /* harmony default export */ var TreeControlsvue_type_script_lang_js_ = ({
3009
+ name: "TreeControls",
2783
3010
  props: {
2784
3011
  /**
2785
3012
  * @ignore
@@ -2796,12 +3023,19 @@ external_vue_default.a.use(row_default.a);
2796
3023
  },
2797
3024
  data: function data() {
2798
3025
  return {
2799
- checkAll: true,
2800
- isIndeterminate: false,
2801
- checkedItems: [],
2802
- sortedPrimitiveGroups: [],
2803
- activeRegion: "",
2804
- hoverRegion: "",
3026
+ treeData: [{
3027
+ label: "Root",
3028
+ id: "__r/",
3029
+ children: []
3030
+ }],
3031
+ active: {
3032
+ group: "",
3033
+ regionPath: undefined
3034
+ },
3035
+ hover: {
3036
+ group: "",
3037
+ regionPath: undefined
3038
+ },
2805
3039
  myPopperClass: "hide-scaffold-colour-popup",
2806
3040
  drawerOpen: true
2807
3041
  };
@@ -2815,68 +3049,179 @@ external_vue_default.a.use(row_default.a);
2815
3049
  }
2816
3050
  },
2817
3051
  created: function created() {
2818
- var tmpArray = this.module.sceneData.geometries.concat(this.module.sceneData.lines);
2819
- tmpArray = tmpArray.concat(this.module.sceneData.glyphsets);
2820
- tmpArray = uniq(tmpArray.concat(this.module.sceneData.pointset));
2821
- this.sortedPrimitiveGroups = orderBy(tmpArray);
3052
+ var _this = this;
3053
+
3054
+ this.module.sceneData.geometries.forEach(function (zincObject) {
3055
+ _this.organsAdded(zincObject);
3056
+ });
3057
+ this.module.sceneData.lines.forEach(function (zincObject) {
3058
+ _this.organsAdded(zincObject);
3059
+ });
3060
+ this.module.sceneData.glyphsets.forEach(function (zincObject) {
3061
+ _this.organsAdded(zincObject);
3062
+ });
3063
+ this.module.sceneData.pointsets.forEach(function (zincObject) {
3064
+ _this.organsAdded(zincObject);
3065
+ });
2822
3066
  this.module.addOrganPartAddedCallback(this.organsAdded);
3067
+ this.__nodeNumbers = 1;
2823
3068
  },
2824
3069
  destroyed: function destroyed() {
2825
3070
  this.sortedPrimitiveGroups = undefined;
2826
3071
  },
2827
3072
  methods: {
2828
- /**
2829
- * This is called when a new organ is read into the scene.
2830
- */
2831
- organsAdded: function organsAdded(name) {
2832
- if (name && name != "") {
2833
- var tmpArray = uniq(this.sortedPrimitiveGroups.concat([name]));
2834
- tmpArray = orderBy(tmpArray);
2835
- var index = tmpArray.indexOf(undefined);
2836
-
2837
- if (index > -1) {
2838
- tmpArray.splice(index, 1);
3073
+ addTreeItem: function addTreeItem(parentContainer, item) {
3074
+ var _this2 = this;
3075
+
3076
+ for (var i = 0; i < parentContainer.length; i++) {
3077
+ if (parentContainer[i].id === item.id) {
3078
+ if (item.primitives && parentContainer[i].primitives) {
3079
+ var _parentContainer$i$pr;
3080
+
3081
+ (_parentContainer$i$pr = parentContainer[i].primitives).push.apply(_parentContainer$i$pr, _toConsumableArray(item.primitives));
3082
+
3083
+ return;
3084
+ }
3085
+ }
3086
+ }
3087
+
3088
+ parentContainer.push(item);
3089
+ parentContainer.sort(function (a, b) {
3090
+ return nameSorting(a, b);
3091
+ });
3092
+ this.__nodeNumbers++;
3093
+ this.$nextTick(function () {
3094
+ _this2.$refs.regionTree.setChecked(item.id, true);
3095
+ });
3096
+ },
3097
+ // find or create new region, region id is always prefixed with
3098
+ // '__r/'
3099
+ findOrCreateRegion: function findOrCreateRegion(data, paths, prefix) {
3100
+ //check if root region has been set
3101
+ if (!this.treeData[0].region && this.module && this.module.scene) {
3102
+ this.treeData[0].region = this.module.scene.getRootRegion();
3103
+ }
3104
+
3105
+ if (paths.length > 0) {
3106
+ var _paths = _toConsumableArray(paths);
3107
+
3108
+ var childRegion = data.children.find(function (child) {
3109
+ return child.label == _paths[0];
3110
+ });
3111
+ var path = prefix + "/" + paths[0];
3112
+ var id = "__r" + path;
3113
+
3114
+ if (!childRegion) {
3115
+ var region = this.treeData[0].region.findChildFromPath(path);
3116
+ childRegion = {
3117
+ label: _paths[0],
3118
+ id: id,
3119
+ children: [],
3120
+ region: region
3121
+ };
3122
+ this.addTreeItem(data.children, childRegion);
2839
3123
  }
2840
3124
 
2841
- this.sortedPrimitiveGroups = tmpArray;
3125
+ _paths.shift();
3126
+
3127
+ return this.findOrCreateRegion(childRegion, _paths, path);
3128
+ } else {
3129
+ return data;
2842
3130
  }
2843
3131
  },
2844
3132
 
2845
3133
  /**
2846
- * Select a region by its name.
3134
+ * This is called when a new organ is read into the scene.
2847
3135
  */
2848
- changeActiveByName: function changeActiveByName(name, propagate) {
2849
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3136
+ organsAdded: function organsAdded(zincObject) {
3137
+ var region = zincObject.region;
2850
3138
 
2851
- if (targetObject && targetObject.getVisibility()) {
2852
- this.activeRegion = name;
2853
- this.$emit("object-selected", targetObject, propagate);
3139
+ if (region) {
3140
+ var paths = region.getFullSeparatedPath();
3141
+ var regionData = this.findOrCreateRegion(this.treeData[0], paths, "");
3142
+
3143
+ if (zincObject.groupName) {
3144
+ if (regionData) {
3145
+ if (!regionData.children) {
3146
+ regionData.children = [];
3147
+ }
3148
+
3149
+ var id = regionData.id.replace("__r/", "") + "/" + zincObject.groupName;
3150
+ var child = {
3151
+ label: zincObject.groupName,
3152
+ id: id,
3153
+ primitives: [zincObject],
3154
+ regionPath: zincObject.region.getFullPath()
3155
+ };
3156
+ this.addTreeItem(regionData.children, child);
3157
+ }
3158
+ }
3159
+ }
3160
+ },
3161
+ checkChanged: function checkChanged(node, data) {
3162
+ var checked = data.checkedKeys.includes(node.id);
3163
+ if (node.region) node.region.setVisibility(checked);
3164
+
3165
+ if (node.primitives) {
3166
+ node.primitives.forEach(function (primitive) {
3167
+ primitive.setVisibility(checked);
3168
+ });
3169
+ }
3170
+ },
3171
+ changeActiveByPrimitive: function changeActiveByPrimitive(primitive, propagate) {
3172
+ if (primitive && primitive.getVisibility()) {
3173
+ this.active.group = primitive.groupName;
3174
+ this.active.regionPath = primitive.region.getFullPath();
3175
+ console.log(this.active);
3176
+ this.$emit("object-selected", primitive, propagate);
2854
3177
  } else {
2855
3178
  this.removeActive(propagate);
2856
3179
  }
2857
3180
 
2858
3181
  this.removeHover(propagate);
2859
3182
  },
3183
+ changeHoverByPrimitive: function changeHoverByPrimitive(primitive, propagate) {
3184
+ if (primitive) {
3185
+ this.hover.group = primitive.groupName;
3186
+ this.hover.regionPath = primitive.region.getFullPath();
3187
+ this.$emit("object-hovered", primitive, propagate);
3188
+ } else {
3189
+ this.removeHover(propagate);
3190
+ }
3191
+ },
2860
3192
 
2861
3193
  /**
2862
- * Hover a region by its name.
3194
+ * Select a region by its name.
2863
3195
  */
2864
- changeHoverByName: function changeHoverByName(name, propagate) {
2865
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3196
+ changeActiveByName: function changeActiveByName(name, regionPath, propagate) {
3197
+ var rootRegion = this.module.scene.getRootRegion();
3198
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3199
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3200
+ this.changeActiveByPrimitive(targetObject, propagate);
3201
+ },
2866
3202
 
2867
- if (targetObject) {
2868
- this.hoverRegion = name;
2869
- this.$emit("object-hovered", targetObject, propagate);
2870
- } else {
2871
- this.removeHover(propagate);
2872
- }
3203
+ /**
3204
+ * Hover a region by its name.
3205
+ */
3206
+ changeHoverByName: function changeHoverByName(name, regionPath, propagate) {
3207
+ var rootRegion = this.module.scene.getRootRegion();
3208
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3209
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3210
+ this.changeHoverByPrimitive(targetObject, propagate);
3211
+ },
3212
+ changeActiveByNode: function changeActiveByNode(node, propagate) {
3213
+ if (node.primitives) this.changeActiveByPrimitive(node.primitives[0], propagate);
3214
+ },
3215
+ changeHoverByNode: function changeHoverByNode(node, propagate) {
3216
+ if (node.primitives) this.changeHoverByPrimitive(node.primitives[0], propagate);
2873
3217
  },
2874
3218
 
2875
3219
  /**
2876
3220
  * Unselect the current selected region.
2877
3221
  */
2878
3222
  removeActive: function removeActive(propagate) {
2879
- this.activeRegion = "";
3223
+ this.active.group = "";
3224
+ this.active.regionPath = undefined;
2880
3225
  this.$emit("object-selected", undefined, propagate);
2881
3226
  },
2882
3227
 
@@ -2884,7 +3229,8 @@ external_vue_default.a.use(row_default.a);
2884
3229
  * Unselect the current hover region.
2885
3230
  */
2886
3231
  removeHover: function removeHover(propagate) {
2887
- this.hoverRegion = "";
3232
+ this.hover.group = "";
3233
+ this.hover.regionPath = undefined;
2888
3234
  this.$emit("object-hovered", undefined, propagate);
2889
3235
  },
2890
3236
 
@@ -2892,68 +3238,47 @@ external_vue_default.a.use(row_default.a);
2892
3238
  * Reset the controls.
2893
3239
  */
2894
3240
  clear: function clear() {
2895
- this.sortedPrimitiveGroups = [];
2896
- this.checkedItems = [];
2897
- this.checkAll = true;
2898
- this.isIndeterminate = false;
2899
- this.activeRegion = "";
2900
- this.hoverRegion = "";
3241
+ this.active.group = "";
3242
+ this.active.regionPath = undefined;
3243
+ this.hover.group = "";
3244
+ this.hover.regionPath = undefined;
3245
+ this.$refs.regionTree.updateKeyChildren("__r/", []);
2901
3246
  this.$emit("object-selected", undefined);
2902
3247
  },
2903
- getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(name) {
2904
- if (this.module && this.module.scene) {
2905
- var array = this.module.scene.findGeometriesWithGroupName(name);
3248
+ getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(region, name) {
3249
+ if (region) {
3250
+ var array = region.findGeometriesWithGroupName(name);
2906
3251
  if (array.length > 0) return array[0];
2907
- array = this.module.scene.findGlyphsetsWithGroupName(name);
3252
+ array = region.findGlyphsetsWithGroupName(name);
2908
3253
  if (array.length > 0) return array[0];
2909
- array = this.module.scene.findLinesWithGroupName(name);
3254
+ array = region.findLinesWithGroupName(name);
2910
3255
  if (array.length > 0) return array[0];
2911
- array = this.module.scene.findPointsetsWithGroupName(name);
3256
+ array = region.findPointsetsWithGroupName(name);
2912
3257
  if (array.length > 0) return array[0];
2913
3258
  }
2914
3259
 
2915
3260
  return undefined;
2916
3261
  },
2917
- getColour: function getColour(name) {
2918
- var graphic = this.getFirstZincObjectWithGroupName(name);
3262
+ getColour: function getColour(nodeData) {
3263
+ if (nodeData) {
3264
+ var graphic = nodeData.primitives[0];
2919
3265
 
2920
- if (graphic) {
2921
- var hex = graphic.getColourHex();
2922
- if (hex) return "#" + hex;
3266
+ if (graphic) {
3267
+ var hex = graphic.getColourHex();
3268
+ if (hex) return "#" + hex;
3269
+ }
2923
3270
  }
2924
3271
 
2925
3272
  return "#FFFFFF";
2926
3273
  },
2927
- setColour: function setColour(name, value) {
2928
- var graphic = this.getFirstZincObjectWithGroupName(name);
2929
-
2930
- if (graphic) {
2931
- var hexString = value.replace("#", "0x");
2932
- graphic.setColourHex(hexString);
2933
- }
2934
- },
2935
- checkboxHover: function checkboxHover(name) {
2936
- this.changeHoverByName(name, true);
2937
- },
2938
- itemClicked: function itemClicked(name, event) {
2939
- if (!(event.target.classList.contains("el-checkbox__inner") || event.target.classList.contains("el-checkbox__original"))) {
2940
- this.changeActiveByName(name, true);
2941
- event.preventDefault();
2942
- }
2943
- },
2944
- handleCheckedItemsChange: function handleCheckedItemsChange() {
2945
- var unnamed = this.checkedItems.includes(undefined) ? true : false;
2946
- var checkedCount = this.checkedItems.length;
2947
- if (unnamed) checkedCount--;
2948
- this.checkAll = checkedCount === this.sortedPrimitiveGroups.length;
2949
- this.isIndeterminate = checkedCount > 0 && checkedCount < this.sortedPrimitiveGroups.length;
2950
- },
2951
- handleCheckAllChange: function handleCheckAllChange(val) {
2952
- this.checkedItems = val ? _toConsumableArray(this.sortedPrimitiveGroups) : [];
2953
- this.isIndeterminate = false;
3274
+ setColour: function setColour(nodeData, value) {
3275
+ if (nodeData) {
3276
+ var graphic = nodeData.primitives[0];
2954
3277
 
2955
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
2956
- this.visibilityToggle(this.sortedPrimitiveGroups[i], this.checkAll);
3278
+ if (graphic) {
3279
+ var hexString = value.replace("#", "0x");
3280
+ graphic.setColourHex(hexString);
3281
+ }
2957
3282
  }
2958
3283
  },
2959
3284
  viewAll: function viewAll() {
@@ -2976,56 +3301,70 @@ external_vue_default.a.use(row_default.a);
2976
3301
  this.drawerOpen = !this.drawerOpen;
2977
3302
  this.$emit("drawer-toggled", this.drawerOpen);
2978
3303
  },
2979
- getState: function getState() {
2980
- if (this.checkAll) {
2981
- return {
2982
- checkAll: true
2983
- };
2984
- }
2985
-
2986
- var checkedItems = _toConsumableArray(this.checkedItems);
2987
-
2988
- var index = checkedItems.indexOf(undefined);
2989
-
2990
- if (index > -1) {
2991
- checkedItems.splice(index, 1);
2992
- }
3304
+ setTreeVisibility: function setTreeVisibility(node, list) {
3305
+ var _this3 = this;
2993
3306
 
3307
+ var flag = false;
3308
+ if (list.includes(node.id)) flag = true;
3309
+ if (node.region) node.region.setVisibility(flag);
3310
+ if (node.primitives) node.primitives.forEach(function (primitive) {
3311
+ return primitive.setVisibility(flag);
3312
+ });
3313
+ if (node.children) node.children.forEach(function (child) {
3314
+ return _this3.setTreeVisibility(child, list);
3315
+ });
3316
+ },
3317
+ checkAllKeys: function checkAllKeys() {
3318
+ var keysList = [];
3319
+ extractAllIds(this.treeData[0], keysList);
3320
+ this.setTreeVisibility(this.treeData[0], keysList);
3321
+ this.$refs.regionTree.setCheckedKeys(keysList);
3322
+ },
3323
+ getState: function getState() {
3324
+ var checkedItems = this.$refs.regionTree.getCheckedKeys();
3325
+ if (checkedItems.length === this.__nodeNumbers) return {
3326
+ checkAll: true,
3327
+ version: "2.0"
3328
+ };
2994
3329
  return {
2995
- checkedItems: checkedItems
3330
+ checkedItems: checkedItems,
3331
+ version: "2.0"
2996
3332
  };
2997
3333
  },
2998
3334
  setState: function setState(state) {
2999
3335
  if (state) {
3000
3336
  if (state.checkAll) {
3001
- this.checkedItems = _toConsumableArray(this.sortedPrimitiveGroups);
3002
-
3003
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
3004
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[i], true);
3005
- }
3337
+ this.checkAllKeys();
3006
3338
  } else if (state.checkedItems) {
3007
- this.checkedItems = _toConsumableArray(state.checkedItems);
3339
+ var list = [];
3008
3340
 
3009
- for (var _i = 0; _i < this.sortedPrimitiveGroups.length; _i++) {
3010
- var visible = this.checkedItems.includes(this.sortedPrimitiveGroups[_i]);
3011
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[_i], visible);
3341
+ if (state.version !== "2.0") {
3342
+ list = state.checkedItems.map(function (item) {
3343
+ return "/" + item;
3344
+ });
3345
+ list.shift("__r/");
3346
+ } else {
3347
+ var _list;
3348
+
3349
+ (_list = list).push.apply(_list, _toConsumableArray(state.checkedItems));
3012
3350
  }
3351
+
3352
+ this.setTreeVisibility(this.treeData[0], list);
3353
+ this.$refs.regionTree.setCheckedKeys(list);
3013
3354
  }
3014
3355
  }
3015
-
3016
- this.handleCheckedItemsChange();
3017
3356
  }
3018
3357
  }
3019
3358
  });
3020
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=script&lang=js&
3021
- /* harmony default export */ var components_TraditionalControlsvue_type_script_lang_js_ = (TraditionalControlsvue_type_script_lang_js_);
3022
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=0&id=335c5764&scoped=true&lang=scss&
3023
- var TraditionalControlsvue_type_style_index_0_id_335c5764_scoped_true_lang_scss_ = __webpack_require__("3a59");
3359
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=script&lang=js&
3360
+ /* harmony default export */ var components_TreeControlsvue_type_script_lang_js_ = (TreeControlsvue_type_script_lang_js_);
3361
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&
3362
+ var TreeControlsvue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss_ = __webpack_require__("47d7");
3024
3363
 
3025
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=1&lang=css&
3026
- var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("add8");
3364
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=1&lang=css&
3365
+ var TreeControlsvue_type_style_index_1_lang_css_ = __webpack_require__("8f55");
3027
3366
 
3028
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue
3367
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue
3029
3368
 
3030
3369
 
3031
3370
 
@@ -3035,18 +3374,18 @@ var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("a
3035
3374
 
3036
3375
  /* normalize component */
3037
3376
 
3038
- var TraditionalControls_component = normalizeComponent(
3039
- components_TraditionalControlsvue_type_script_lang_js_,
3040
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_render,
3041
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns,
3377
+ var TreeControls_component = normalizeComponent(
3378
+ components_TreeControlsvue_type_script_lang_js_,
3379
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render,
3380
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns,
3042
3381
  false,
3043
3382
  null,
3044
- "335c5764",
3383
+ "4d20ec9a",
3045
3384
  null
3046
3385
 
3047
3386
  )
3048
3387
 
3049
- /* harmony default export */ var TraditionalControls = (TraditionalControls_component.exports);
3388
+ /* harmony default export */ var TreeControls = (TreeControls_component.exports);
3050
3389
  // EXTERNAL MODULE: external "@abi-software/svg-sprite"
3051
3390
  var svg_sprite_ = __webpack_require__("429c");
3052
3391
 
@@ -3325,6 +3664,12 @@ var svg_sprite_ = __webpack_require__("429c");
3325
3664
  //
3326
3665
  //
3327
3666
  //
3667
+ //
3668
+ //
3669
+ //
3670
+ //
3671
+ //
3672
+ //
3328
3673
 
3329
3674
  /* eslint-disable no-alert, no-console */
3330
3675
 
@@ -3333,6 +3678,7 @@ var svg_sprite_ = __webpack_require__("429c");
3333
3678
 
3334
3679
 
3335
3680
 
3681
+
3336
3682
  locale_default.a.use(en_default.a);
3337
3683
  external_vue_default.a.use(col_default.a);
3338
3684
  external_vue_default.a.use(loading_default.a.directive);
@@ -3351,17 +3697,18 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3351
3697
  * A vue component of the scaffold viewer.
3352
3698
  *
3353
3699
  * @requires ./OpacityControls.vue
3354
- * @requires ./TraditionalControls.vue
3700
+ * @requires ./TreeControls.vue
3355
3701
  */
3356
3702
 
3357
3703
 
3358
3704
  /* harmony default export */ var ScaffoldVuervue_type_script_lang_js_ = ({
3359
3705
  name: "ScaffoldVuer",
3360
3706
  components: {
3361
- OpacityControls: OpacityControls,
3362
3707
  MapSvgIcon: svg_sprite_["MapSvgIcon"],
3363
3708
  MapSvgSpriteColor: svg_sprite_["MapSvgSpriteColor"],
3364
- TraditionalControls: TraditionalControls
3709
+ OpacityControls: OpacityControls,
3710
+ ScaffoldTooltip: ScaffoldTooltip,
3711
+ TreeControls: TreeControls
3365
3712
  },
3366
3713
  props: {
3367
3714
  /**
@@ -3549,7 +3896,14 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3549
3896
  label: "10x"
3550
3897
  }],
3551
3898
  currentSpeed: 1,
3552
- timeStamps: {}
3899
+ timeStamps: {},
3900
+ defaultCheckedKeys: [],
3901
+ tData: {
3902
+ label: "",
3903
+ visible: false,
3904
+ x: 200,
3905
+ y: 200
3906
+ }
3553
3907
  };
3554
3908
  },
3555
3909
  watch: {
@@ -3755,7 +4109,11 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3755
4109
  var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
3756
4110
 
3757
4111
  if (box) {
3758
- this.$module.scene.viewAllWithBoundingBox(box);
4112
+ if (this.$module.isSyncControl()) {
4113
+ this.$module.setSyncControlZoomToBox(box);
4114
+ } else {
4115
+ this.$module.scene.viewAllWithBoundingBox(box);
4116
+ }
3759
4117
  }
3760
4118
  }
3761
4119
  },
@@ -3812,40 +4170,49 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3812
4170
  */
3813
4171
  eventNotifierCallback: function eventNotifierCallback(event) {
3814
4172
  if (event.eventType == 1) {
3815
- if (this.$refs.traditionalControl) {
4173
+ if (this.$refs.treeControl) {
3816
4174
  if (event.identifiers[0]) {
3817
4175
  var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
3818
- this.$refs.traditionalControl.changeActiveByName(id, true);
4176
+ var region = event.identifiers[0].data.region;
4177
+ this.$refs.treeControl.changeActiveByName(id, region, true);
3819
4178
  } else {
3820
- this.$refs.traditionalControl.removeActive(true);
4179
+ this.$refs.treeControl.removeActive(true);
3821
4180
  }
3822
- }
3823
- /**
3824
- * Triggers when an object has been selected
3825
- *
3826
- * @property {array} identifiers array of identifiers
3827
- * of selected object.
3828
- */
4181
+ } // Triggers when an object has been selected
3829
4182
 
3830
4183
 
3831
4184
  this.$emit("scaffold-selected", event.identifiers);
3832
4185
  } else if (event.eventType == 2) {
3833
- if (this.$refs.traditionalControl) {
3834
- if (event.identifiers[0]) {
3835
- var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4186
+ this.tData.visible = false;
3836
4187
 
3837
- this.$refs.traditionalControl.changeHoverByName(_id, true);
3838
- } else this.$refs.traditionalControl.removeHover(true);
3839
- }
3840
- /**
3841
- * Triggers when an object has been highlighted
3842
- *
3843
- * @property {array} identifiers array of identifiers
3844
- * of highlighted object.
3845
- */
4188
+ if (event.identifiers[0]) {
4189
+ var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4190
+
4191
+ if (event.identifiers[0].coords) {
4192
+ this.tData.visible = true;
4193
+ this.tData.label = _id;
4194
+ this.tData.x = event.identifiers[0].coords.x;
4195
+ this.tData.y = event.identifiers[0].coords.y;
4196
+ }
4197
+
4198
+ if (this.$refs.treeControl) {
4199
+ var _region = event.identifiers[0].data.region;
4200
+ this.$refs.treeControl.changeHoverByName(_id, _region, true);
4201
+ } else {
4202
+ this.$refs.treeControl.removeHover(true);
4203
+ }
4204
+ } // Triggers when an object has been highlighted
3846
4205
 
3847
4206
 
3848
4207
  this.$emit("scaffold-highlighted", event.identifiers);
4208
+ } else if (event.eventType == 3) {
4209
+ //MOVE
4210
+ if (event.identifiers[0]) {
4211
+ if (event.identifiers[0].coords) {
4212
+ this.tData.x = event.identifiers[0].coords.x;
4213
+ this.tData.y = event.identifiers[0].coords.y;
4214
+ }
4215
+ }
3849
4216
  }
3850
4217
  },
3851
4218
 
@@ -3890,7 +4257,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3890
4257
  if (object !== this.selectedObject) {
3891
4258
  this.selectedObject = object;
3892
4259
  this.$refs.opacityControl.setObject(this.selectedObject);
3893
- if (object) this.$module.setSelectedByZincObject(object, propagate);else this.$module.setSelectedByObjects([], propagate);
4260
+ if (object) this.$module.setSelectedByZincObject(object, undefined, propagate);else this.$module.setSelectedByObjects([], undefined, propagate);
3894
4261
  }
3895
4262
  },
3896
4263
 
@@ -3902,26 +4269,26 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3902
4269
  objectHovered: function objectHovered(object, propagate) {
3903
4270
  if (object !== this.hoveredObject) {
3904
4271
  this.hoveredObject = object;
3905
- if (object) this.$module.setHighlightedByZincObject(object, propagate);else this.$module.setHighlightedByObjects([], propagate);
4272
+ if (object) this.$module.setHighlightedByZincObject(object, undefined, propagate);else this.$module.setHighlightedByObjects([], undefined, propagate);
3906
4273
  }
3907
4274
  },
3908
4275
 
3909
4276
  /**
3910
4277
  * Set the selected by name.
3911
4278
  *
3912
- * @param {name} name Name of the region
4279
+ * @param {name} name Name of the group
3913
4280
  */
3914
- changeActiveByName: function changeActiveByName(name, propagate) {
3915
- if (name === undefined) this.$refs.traditionalControl.removeActive(propagate);else this.$refs.traditionalControl.changeActiveByName(name, propagate);
4281
+ changeActiveByName: function changeActiveByName(name, region, propagate) {
4282
+ if (name === undefined) this.$refs.treeControl.removeActive(propagate);else this.$refs.treeControl.changeActiveByName(name, region, propagate);
3916
4283
  },
3917
4284
 
3918
4285
  /**
3919
4286
  * Set the highlighted by name.
3920
4287
  *
3921
- * @param {name} name Name of the region
4288
+ * @param {name} name Name of the group
3922
4289
  */
3923
- changeHighlightedByName: function changeHighlightedByName(name, propagate) {
3924
- if (name === undefined) this.$refs.traditionalControl.removeHover(propagate);else this.$refs.traditionalControl.changeHoverByName(name, propagate);
4290
+ changeHighlightedByName: function changeHighlightedByName(name, region, propagate) {
4291
+ if (name === undefined) this.$refs.treeControl.removeHover(propagate);else this.$refs.treeControl.changeHoverByName(name, region, propagate);
3925
4292
  },
3926
4293
 
3927
4294
  /**
@@ -4019,7 +4386,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4019
4386
  if (options.visibility) {
4020
4387
  // Some UIs may not be ready at this time.
4021
4388
  _this3.$nextTick(function () {
4022
- _this3.$refs.traditionalControl.setState(options.visibility);
4389
+ _this3.$refs.treeControl.setState(options.visibility);
4023
4390
  });
4024
4391
  }
4025
4392
  }
@@ -4032,6 +4399,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4032
4399
 
4033
4400
  _this3.$module.unsetFinishDownloadCallback();
4034
4401
 
4402
+ _this3.$emit("on-ready");
4403
+
4035
4404
  _this3.isReady = true;
4036
4405
  };
4037
4406
  },
@@ -4048,7 +4417,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4048
4417
  viewport: undefined,
4049
4418
  visibility: undefined
4050
4419
  };
4051
- if (this.$refs.traditionalControl) state.visibility = this.$refs.traditionalControl.getState();
4420
+ if (this.$refs.treeControl) state.visibility = this.$refs.treeControl.getState();
4052
4421
 
4053
4422
  if (this.$module.scene) {
4054
4423
  var zincCameraControls = this.$module.scene.getZincCameraControls();
@@ -4075,7 +4444,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4075
4444
  if (state.viewport || state.visibility) {
4076
4445
  if (this.isReady && this.$module.scene) {
4077
4446
  if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);
4078
- if (state.visibility) this.$refs.traditionalControl.setState(state.visibility);
4447
+ if (state.visibility) this.$refs.treeControl.setState(state.visibility);
4079
4448
  } else {
4080
4449
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
4081
4450
  viewport: state.viewport,
@@ -4102,7 +4471,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4102
4471
  var viewport = state && state.viewport ? state.viewport : undefined;
4103
4472
  var visibility = state && state.visibility ? state.visibility : undefined;
4104
4473
  this._currentURL = newValue;
4105
- if (this.$refs.traditionalControl) this.$refs.traditionalControl.clear();
4474
+ if (this.$refs.treeControl) this.$refs.treeControl.clear();
4106
4475
  this.loading = true;
4107
4476
  this.isReady = false;
4108
4477
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
@@ -4139,7 +4508,6 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4139
4508
 
4140
4509
  /**
4141
4510
  * Callback using ResizeObserver.
4142
-
4143
4511
  */
4144
4512
  adjustLayout: function adjustLayout() {
4145
4513
  var width = this.$refs.scaffoldContainer.clientWidth;
@@ -4164,13 +4532,21 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4164
4532
  if (this.$module.zincRenderer) {
4165
4533
  this.$module.zincRenderer.onWindowResize();
4166
4534
  }
4535
+ },
4536
+ syncControlCallback: function syncControlCallback() {
4537
+ var payload = this.$module.NDCCameraControl.getPanZoom();
4538
+ this.$emit("scaffold-navigated", payload);
4539
+ },
4540
+ toggleSyncControl: function toggleSyncControl(flag) {
4541
+ this.$module.toggleSyncControl(flag);
4542
+ this.$module.setSyncControlCallback(this.syncControlCallback);
4167
4543
  }
4168
4544
  }
4169
4545
  });
4170
4546
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=script&lang=js&
4171
4547
  /* harmony default export */ var components_ScaffoldVuervue_type_script_lang_js_ = (ScaffoldVuervue_type_script_lang_js_);
4172
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=023c058f&scoped=true&lang=scss&
4173
- var ScaffoldVuervue_type_style_index_0_id_023c058f_scoped_true_lang_scss_ = __webpack_require__("1f67");
4548
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=73bfbf2a&scoped=true&lang=scss&
4549
+ var ScaffoldVuervue_type_style_index_0_id_73bfbf2a_scoped_true_lang_scss_ = __webpack_require__("a2ed");
4174
4550
 
4175
4551
  // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&
4176
4552
  var ScaffoldVuervue_type_style_index_1_lang_scss_ = __webpack_require__("642d");
@@ -4191,7 +4567,7 @@ var ScaffoldVuer_component = normalizeComponent(
4191
4567
  staticRenderFns,
4192
4568
  false,
4193
4569
  null,
4194
- "023c058f",
4570
+ "73bfbf2a",
4195
4571
  null
4196
4572
 
4197
4573
  )
@@ -4221,6 +4597,13 @@ module.exports = require("core-js/modules/es.string.includes");
4221
4597
 
4222
4598
  module.exports = require("element-ui/lib/theme-chalk/row.css");
4223
4599
 
4600
+ /***/ }),
4601
+
4602
+ /***/ "fe0e":
4603
+ /***/ (function(module, exports) {
4604
+
4605
+ module.exports = require("core-js/modules/es.array.find");
4606
+
4224
4607
  /***/ })
4225
4608
 
4226
4609
  /******/ });