@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.
@@ -121,7 +121,7 @@ module.exports = _nonIterableSpread;
121
121
 
122
122
  /***/ }),
123
123
 
124
- /***/ "09a4":
124
+ /***/ "0740":
125
125
  /***/ (function(module, exports, __webpack_require__) {
126
126
 
127
127
  // extracted by mini-css-extract-plugin
@@ -149,6 +149,13 @@ module.exports = require("element-ui/lib/theme-chalk/select.css");
149
149
 
150
150
  /***/ }),
151
151
 
152
+ /***/ "0fec":
153
+ /***/ (function(module, exports) {
154
+
155
+ module.exports = require("element-ui/lib/tree");
156
+
157
+ /***/ }),
158
+
152
159
  /***/ "11b0":
153
160
  /***/ (function(module, exports, __webpack_require__) {
154
161
 
@@ -183,17 +190,17 @@ module.exports = require("core-js/modules/es.array.for-each");
183
190
 
184
191
  /***/ }),
185
192
 
186
- /***/ "18d2":
193
+ /***/ "1ac9":
187
194
  /***/ (function(module, exports) {
188
195
 
189
- module.exports = require("core-js/modules/es.array.concat");
196
+ module.exports = require("element-ui/lib/container");
190
197
 
191
198
  /***/ }),
192
199
 
193
- /***/ "1ac9":
194
- /***/ (function(module, exports) {
200
+ /***/ "1b02":
201
+ /***/ (function(module, exports, __webpack_require__) {
195
202
 
196
- module.exports = require("element-ui/lib/container");
203
+ // extracted by mini-css-extract-plugin
197
204
 
198
205
  /***/ }),
199
206
 
@@ -202,17 +209,6 @@ module.exports = require("element-ui/lib/container");
202
209
 
203
210
  module.exports = require("core-js/modules/web.dom-collections.iterator");
204
211
 
205
- /***/ }),
206
-
207
- /***/ "1f67":
208
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
209
-
210
- "use strict";
211
- /* 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");
212
- /* 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__);
213
- /* unused harmony reexport * */
214
-
215
-
216
212
  /***/ }),
217
213
 
218
214
  /***/ "1fe8":
@@ -307,17 +303,6 @@ module.exports = require("element-ui/lib/theme-chalk/color-picker.css");
307
303
 
308
304
  module.exports = require("element-ui/lib/drawer");
309
305
 
310
- /***/ }),
311
-
312
- /***/ "3a59":
313
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
314
-
315
- "use strict";
316
- /* 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");
317
- /* 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__);
318
- /* unused harmony reexport * */
319
-
320
-
321
306
  /***/ }),
322
307
 
323
308
  /***/ "429c":
@@ -346,10 +331,14 @@ module.exports = _toConsumableArray;
346
331
 
347
332
  /***/ }),
348
333
 
349
- /***/ "4646":
350
- /***/ (function(module, exports, __webpack_require__) {
334
+ /***/ "47d7":
335
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
336
+
337
+ "use strict";
338
+ /* 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");
339
+ /* 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__);
340
+ /* unused harmony reexport * */
351
341
 
352
- // extracted by mini-css-extract-plugin
353
342
 
354
343
  /***/ }),
355
344
 
@@ -360,6 +349,13 @@ module.exports = require("element-ui/lib/color-picker");
360
349
 
361
350
  /***/ }),
362
351
 
352
+ /***/ "49d0":
353
+ /***/ (function(module, exports) {
354
+
355
+ module.exports = require("element-ui/lib/theme-chalk/tree.css");
356
+
357
+ /***/ }),
358
+
363
359
  /***/ "4c89":
364
360
  /***/ (function(module, exports) {
365
361
 
@@ -398,16 +394,12 @@ module.exports = require("core-js/modules/es.regexp.exec");
398
394
  /***/ "53d7":
399
395
  /***/ (function(module, exports, __webpack_require__) {
400
396
 
401
- __webpack_require__("ab7e");
402
-
403
397
  __webpack_require__("7c81");
404
398
 
405
399
  __webpack_require__("bcd8");
406
400
 
407
401
  __webpack_require__("2175");
408
402
 
409
- __webpack_require__("fd48");
410
-
411
403
  var _typeof = __webpack_require__("7037");
412
404
 
413
405
  var THREE = __webpack_require__("9206").THREE; // Current model's associate data, data fields, external link, nerve map
@@ -446,6 +438,8 @@ var OrgansSceneData = function OrgansSceneData() {
446
438
 
447
439
 
448
440
  var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
441
+ var _this2 = this;
442
+
449
443
  __webpack_require__("8278").RendererModule.call(this);
450
444
 
451
445
  var _this = this;
@@ -457,6 +451,7 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
457
451
  var organPartAddedCallbacks = new Array();
458
452
  var finishDownloadCallback = undefined;
459
453
  var modelsLoader = ModelsLoaderIn;
454
+ this.NDCCameraControl = undefined;
460
455
  _this.typeName = "Organ Viewer";
461
456
 
462
457
  this.getSceneData = function () {
@@ -499,6 +494,40 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
499
494
  _this.sceneData.currentTime = currentTime / duration * 100.0;
500
495
  };
501
496
 
497
+ this.toggleSyncControl = function (flag) {
498
+ var cameraControl = _this2.scene.getZincCameraControls();
499
+
500
+ if (flag) {
501
+ cameraControl.resetView();
502
+ _this2.NDCCameraControl = cameraControl.enableSyncControl();
503
+ } else {
504
+ cameraControl.disableSyncControl();
505
+ _this2.NDCCameraControl = undefined;
506
+ }
507
+ };
508
+
509
+ this.isSyncControl = function () {
510
+ return _this2.NDCCameraControl !== undefined;
511
+ };
512
+
513
+ this.setSyncControlZoomToBox = function (box) {
514
+ if (_this2.NDCCameraControl) {
515
+ _this2.NDCCameraControl.zoomToBox(box, 2);
516
+ }
517
+ };
518
+
519
+ this.setSyncControlCallback = function (callback) {
520
+ if (_this2.NDCCameraControl) {
521
+ _this2.NDCCameraControl.setEventCallback(callback);
522
+ }
523
+ };
524
+
525
+ this.setSyncControlCenterZoom = function (center, zoom) {
526
+ if (_this2.NDCCameraControl) {
527
+ _this2.NDCCameraControl.setCenterZoom(center, zoom);
528
+ }
529
+ };
530
+
502
531
  var postRenderSelectedCoordinatesUpdate = function postRenderSelectedCoordinatesUpdate() {
503
532
  if (_this.selectedCenter) {
504
533
  var vector = new THREE.Vector3();
@@ -607,17 +636,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
607
636
  var intersected = _this.getIntersectedObject(intersects);
608
637
 
609
638
  var idObject = getIdObjectFromIntersect(intersected);
639
+ var coords = {
640
+ x: window_x,
641
+ y: window_y
642
+ };
610
643
 
611
644
  if (idObject.id) {
612
645
  if (idObject.object.userData.isGlyph) {
613
- if (idObject.object.name) _this.setSelectedByObjects([idObject.object], true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), true);
646
+ if (idObject.object.name) _this.setSelectedByObjects([idObject.object], coords, true);else _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(), coords, true);
614
647
  } else {
615
- _this.setSelectedByObjects([idObject.object], true);
648
+ _this.setSelectedByObjects([idObject.object], coords, true);
616
649
  }
617
650
 
618
651
  return;
619
652
  } else {
620
- _this.setSelectedByObjects([], true);
653
+ _this.setSelectedByObjects([], coords, true);
621
654
  }
622
655
  };
623
656
  };
@@ -633,17 +666,21 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
633
666
  var intersected = _this.getIntersectedObject(intersects);
634
667
 
635
668
  var idObject = getIdObjectFromIntersect(intersected);
669
+ var coords = {
670
+ x: window_x,
671
+ y: window_y
672
+ };
636
673
 
637
674
  if (idObject.id) {
638
675
  _this.displayArea.style.cursor = "pointer";
639
676
 
640
- _this.setHighlightedByObjects([idObject.object], true);
677
+ _this.setHighlightedByObjects([idObject.object], coords, true);
641
678
 
642
679
  return;
643
680
  } else {
644
681
  _this.displayArea.style.cursor = "auto";
645
682
 
646
- _this.setHighlightedByObjects([], true);
683
+ _this.setHighlightedByObjects([], coords, true);
647
684
  }
648
685
  };
649
686
  };
@@ -746,42 +783,34 @@ var OrgansViewer = function OrgansViewer(ModelsLoaderIn) {
746
783
  };
747
784
 
748
785
  var addOrganPartToSceneData = function addOrganPartToSceneData(zincObject) {
749
- if (zincObject.groupName) {
750
- if (zincObject.isGeometry) {
751
- if (!_this.sceneData.geometries.includes(zincObject.groupName)) {
752
- _this.sceneData.geometries.push(zincObject.groupName);
753
- }
754
- } else if (zincObject.isGlyphset) {
755
- if (!_this.sceneData.glyphsets.includes(zincObject.groupName)) {
756
- _this.sceneData.glyphsets.push(zincObject.groupName);
757
- }
758
- } else if (zincObject.isLines) {
759
- if (!_this.sceneData.lines.includes(zincObject.groupName)) {
760
- _this.sceneData.lines.push(zincObject.groupName);
761
- }
762
- } else if (zincObject.isPointset) {
763
- if (!_this.sceneData.pointsets.includes(zincObject.groupName)) {
764
- _this.sceneData.pointsets.push(zincObject.groupName);
765
- }
766
- }
786
+ if (zincObject.isGeometry) {
787
+ _this.sceneData.geometries.push(zincObject);
788
+ } else if (zincObject.isGlyphset) {
789
+ _this.sceneData.glyphsets.push(zincObject);
790
+ } else if (zincObject.isLines) {
791
+ _this.sceneData.lines.push(zincObject);
792
+ } else if (zincObject.isPointset) {
793
+ _this.sceneData.pointsets.push(zincObject);
767
794
  }
768
795
  };
769
796
 
770
797
  var addOrganPart = function addOrganPart(systemName, partName, useDefautColour, zincObject) {
771
798
  for (var i = 0; i < organPartAddedCallbacks.length; i++) {
772
- organPartAddedCallbacks[i](zincObject.groupName, _this.scene.isTimeVarying(), zincObject);
799
+ organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());
773
800
  }
774
801
 
775
802
  if (useDefautColour) modelsLoader.setGeometryColour(zincObject, systemName, partName);
776
803
  addOrganPartToSceneData(zincObject);
777
804
  var annotation = new (__webpack_require__("984d").annotation)();
805
+ var region = zincObject.region.getFullPath();
778
806
  annotation.data = {
779
807
  species: _this.sceneData.currentSpecies,
780
808
  system: systemName,
781
809
  part: partName,
782
- group: zincObject.groupName
810
+ group: zincObject.groupName,
811
+ region: region
783
812
  };
784
- zincObject.userData = [annotation];
813
+ zincObject.userData["annotation"] = annotation;
785
814
  };
786
815
  /**
787
816
  * New organs geometry has been added to the scene, add UIs and make
@@ -1388,6 +1417,13 @@ module.exports = require("element-ui/lib/row");
1388
1417
 
1389
1418
  /***/ }),
1390
1419
 
1420
+ /***/ "6faa":
1421
+ /***/ (function(module, exports) {
1422
+
1423
+ module.exports = require("core-js/modules/es.number.constructor");
1424
+
1425
+ /***/ }),
1426
+
1391
1427
  /***/ "7037":
1392
1428
  /***/ (function(module, exports, __webpack_require__) {
1393
1429
 
@@ -1540,7 +1576,6 @@ RendererModule.prototype.getIntersectedObject = function (intersects) {
1540
1576
 
1541
1577
  RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1542
1578
  var annotations = [];
1543
- var count = 0;
1544
1579
 
1545
1580
  for (var i = 0; i < objects.length; i++) {
1546
1581
  var zincObject = objects[i].userData;
@@ -1550,13 +1585,13 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1550
1585
  if (zincObject.isGlyph || zincObject.isGlyphset) {
1551
1586
  var glyphset = zincObject;
1552
1587
  if (zincObject.isGlyph) glyphset = (_readOnlyError("glyphset"), zincObject.getGlyphset());
1553
- annotation = glyphset.userData ? glyphset.userData[0] : undefined;
1588
+ annotation = glyphset.userData ? glyphset.userData.annotation : undefined;
1554
1589
 
1555
1590
  if (annotation && annotation.data) {
1556
1591
  if (objects[i].name && objects[i].name != "") annotation.data.id = objects[i].name;else annotation.data.id = glyphset.groupName;
1557
1592
  }
1558
1593
  } else {
1559
- annotation = zincObject.userData ? zincObject.userData[0] : undefined;
1594
+ annotation = zincObject.userData ? zincObject.userData.annotation : undefined;
1560
1595
 
1561
1596
  if (annotation && annotation.data) {
1562
1597
  annotation.data.id = objects[i].name;
@@ -1564,27 +1599,28 @@ RendererModule.prototype.getAnnotationsFromObjects = function (objects) {
1564
1599
  }
1565
1600
  }
1566
1601
 
1567
- if (annotation) annotations[count++] = annotation;
1602
+ if (annotation) annotations.push(annotation);
1568
1603
  }
1569
1604
 
1570
1605
  return annotations;
1571
1606
  };
1572
1607
 
1573
- RendererModule.prototype.setHighlightedByObjects = function (objects, propagateChanges) {
1608
+ RendererModule.prototype.setHighlightedByObjects = function (objects, coords, propagateChanges) {
1574
1609
  var changed = this.graphicsHighlight.setHighlighted(objects);
1575
1610
 
1576
- if (changed && propagateChanges) {
1577
- var eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1578
-
1611
+ if (propagateChanges) {
1612
+ eventType = __webpack_require__("9b21").EVENT_TYPE.MOVE;
1613
+ if (changed) eventType = __webpack_require__("9b21").EVENT_TYPE.HIGHLIGHTED;
1579
1614
  var annotations = this.getAnnotationsFromObjects(objects);
1615
+ if (annotations.length > 0) annotations[0].coords = coords;
1580
1616
  this.publishChanges(annotations, eventType);
1581
1617
  }
1582
1618
 
1583
1619
  return changed;
1584
1620
  };
1585
1621
 
1586
- RendererModule.prototype.setHighlightedByZincObject = function (zincObject, propagateChanges) {
1587
- return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1622
+ RendererModule.prototype.setHighlightedByZincObject = function (zincObject, coords, propagateChanges) {
1623
+ return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1588
1624
  };
1589
1625
 
1590
1626
  RendererModule.prototype.setupLiveCoordinates = function (zincObjects) {
@@ -1621,7 +1657,7 @@ RendererModule.prototype.objectsToZincObjects = function (objects) {
1621
1657
  return zincObjects;
1622
1658
  };
1623
1659
 
1624
- RendererModule.prototype.setSelectedByObjects = function (objects, propagateChanges) {
1660
+ RendererModule.prototype.setSelectedByObjects = function (objects, coords, propagateChanges) {
1625
1661
  var changed = this.graphicsHighlight.setSelected(objects);
1626
1662
 
1627
1663
  if (changed) {
@@ -1629,18 +1665,19 @@ RendererModule.prototype.setSelectedByObjects = function (objects, propagateChan
1629
1665
  this.setupLiveCoordinates(zincObjects);
1630
1666
 
1631
1667
  if (propagateChanges) {
1632
- var eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1668
+ var _eventType = __webpack_require__("9b21").EVENT_TYPE.SELECTED;
1633
1669
 
1634
1670
  var annotations = this.getAnnotationsFromObjects(objects);
1635
- this.publishChanges(annotations, eventType);
1671
+ if (annotations.length > 0) annotations[0].coords = coords;
1672
+ this.publishChanges(annotations, _eventType);
1636
1673
  }
1637
1674
  }
1638
1675
 
1639
1676
  return changed;
1640
1677
  };
1641
1678
 
1642
- RendererModule.prototype.setSelectedByZincObject = function (zincObject, propagateChanges) {
1643
- return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], propagateChanges);
1679
+ RendererModule.prototype.setSelectedByZincObject = function (zincObject, coords, propagateChanges) {
1680
+ return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined], coords, propagateChanges);
1644
1681
  };
1645
1682
 
1646
1683
  var addGlyphToArray = function addGlyphToArray(objects) {
@@ -1668,12 +1705,12 @@ RendererModule.prototype.findObjectsByGroupName = function (groupName) {
1668
1705
 
1669
1706
  RendererModule.prototype.setHighlightedByGroupName = function (groupName, propagateChanges) {
1670
1707
  var objects = this.findObjectsByGroupName(groupName);
1671
- return this.setHighlightedByObjects(objects, propagateChanges);
1708
+ return this.setHighlightedByObjects(objects, undefined, propagateChanges);
1672
1709
  };
1673
1710
 
1674
1711
  RendererModule.prototype.setSelectedByGroupName = function (groupName, propagateChanges) {
1675
1712
  var objects = this.findObjectsByGroupName(groupName);
1676
- return this.setSelectedByObjects(objects, propagateChanges);
1713
+ return this.setSelectedByObjects(objects, undefined, propagateChanges);
1677
1714
  };
1678
1715
 
1679
1716
  RendererModule.prototype.changeBackgroundColour = function (backgroundColourString) {
@@ -1784,6 +1821,17 @@ module.exports = require("core-js/modules/es.array.iterator");
1784
1821
 
1785
1822
  module.exports = require("element-ui/lib/theme-chalk/icon.css");
1786
1823
 
1824
+ /***/ }),
1825
+
1826
+ /***/ "8f55":
1827
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1828
+
1829
+ "use strict";
1830
+ /* 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");
1831
+ /* 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__);
1832
+ /* unused harmony reexport * */
1833
+
1834
+
1787
1835
  /***/ }),
1788
1836
 
1789
1837
  /***/ "907b":
@@ -1800,6 +1848,13 @@ module.exports = require("zincjs");
1800
1848
 
1801
1849
  /***/ }),
1802
1850
 
1851
+ /***/ "9372":
1852
+ /***/ (function(module, exports, __webpack_require__) {
1853
+
1854
+ // extracted by mini-css-extract-plugin
1855
+
1856
+ /***/ }),
1857
+
1803
1858
  /***/ "93e6":
1804
1859
  /***/ (function(module, exports) {
1805
1860
 
@@ -1847,7 +1902,8 @@ __webpack_require__("7c81");
1847
1902
  var EVENT_TYPE = {
1848
1903
  ALL: 0,
1849
1904
  SELECTED: 1,
1850
- HIGHLIGHTED: 2
1905
+ HIGHLIGHTED: 2,
1906
+ MOVE: 3
1851
1907
  };
1852
1908
 
1853
1909
  var SelectionEvent = function SelectionEvent(eventTypeIn, identifiersIn) {
@@ -1920,6 +1976,17 @@ exports.EVENT_TYPE = EVENT_TYPE;
1920
1976
 
1921
1977
  module.exports = require("@soda/get-current-script");
1922
1978
 
1979
+ /***/ }),
1980
+
1981
+ /***/ "a2ed":
1982
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1983
+
1984
+ "use strict";
1985
+ /* 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");
1986
+ /* 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__);
1987
+ /* unused harmony reexport * */
1988
+
1989
+
1923
1990
  /***/ }),
1924
1991
 
1925
1992
  /***/ "a497":
@@ -1955,17 +2022,6 @@ module.exports = require("core-js/modules/es.array.includes");
1955
2022
 
1956
2023
  module.exports = require("element-ui/lib/loading");
1957
2024
 
1958
- /***/ }),
1959
-
1960
- /***/ "add8":
1961
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1962
-
1963
- "use strict";
1964
- /* 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");
1965
- /* 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__);
1966
- /* unused harmony reexport * */
1967
-
1968
-
1969
2025
  /***/ }),
1970
2026
 
1971
2027
  /***/ "b0e3":
@@ -2017,6 +2073,13 @@ module.exports = require("element-ui/lib/option");
2017
2073
 
2018
2074
  /***/ }),
2019
2075
 
2076
+ /***/ "cacd":
2077
+ /***/ (function(module, exports, __webpack_require__) {
2078
+
2079
+ // extracted by mini-css-extract-plugin
2080
+
2081
+ /***/ }),
2082
+
2020
2083
  /***/ "cf41":
2021
2084
  /***/ (function(module, exports, __webpack_require__) {
2022
2085
 
@@ -2105,10 +2168,21 @@ module.exports = require("core-js/modules/es.array.from");
2105
2168
 
2106
2169
  /***/ }),
2107
2170
 
2108
- /***/ "e8d1":
2109
- /***/ (function(module, exports, __webpack_require__) {
2171
+ /***/ "e716":
2172
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2173
+
2174
+ "use strict";
2175
+ /* 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");
2176
+ /* 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__);
2177
+ /* unused harmony reexport * */
2110
2178
 
2111
- // extracted by mini-css-extract-plugin
2179
+
2180
+ /***/ }),
2181
+
2182
+ /***/ "f705":
2183
+ /***/ (function(module, exports) {
2184
+
2185
+ module.exports = require("core-js/modules/es.array.map");
2112
2186
 
2113
2187
  /***/ }),
2114
2188
 
@@ -2146,12 +2220,12 @@ if (typeof window !== 'undefined') {
2146
2220
  // Indicate to webpack that this file can be concatenated
2147
2221
  /* harmony default export */ var setPublicPath = (null);
2148
2222
 
2149
- // 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&
2150
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('TraditionalControls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"traditionalControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('OpacityControls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2223
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=73bfbf2a&scoped=true&
2224
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"scaffoldContainer",staticClass:"scaffold-container",attrs:{"element-loading-text":"Loading...","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.3)"}},[_c('map-svg-sprite-color'),_c('scaffold-tooltip',{attrs:{"label":_vm.tData.label,"visible":_vm.tData.visible,"x":_vm.tData.x,"y":_vm.tData.y}}),_c('div',{ref:"display",staticStyle:{"height":"100%","width":"100%"},attrs:{"id":"organsDisplayArea","tabindex":"-1"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.displayUI && !_vm.isTransitioning),expression:"displayUI && !isTransitioning"}]},[(_vm.displayWarning)?_c('el-popover',{ref:"warningPopover",attrs:{"content":_vm.warningMessage,"placement":"right","append-to-body":false,"trigger":"manual","popper-class":"warning-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], "value", $$v)},expression:"hoverVisabilities[6].value"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:"popover",rawName:"v-popover:warningPopover",arg:"warningPopover"}],staticClass:"el-icon-warning warning-icon",on:{"mouseover":function($event){return _vm.showToolitip(6)},"mouseout":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:"warning-text"},[_vm._v("Beta")])]):_vm._e(),_c('el-popover',{ref:"checkBoxPopover",attrs:{"content":"Change region visibility","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], "value", $$v)},expression:"hoverVisabilities[5].value"}}),_c('tree-controls',{directives:[{name:"popover",rawName:"v-popover:checkBoxPopover",arg:"checkBoxPopover"}],ref:"treeControl",attrs:{"help-mode":_vm.helpMode,"module":_vm.$module,"show-colour-picker":_vm.showColourPicker},on:{"object-selected":_vm.objectSelected,"object-hovered":_vm.objectHovered,"drawer-toggled":_vm.drawerToggled}}),_c('div',{staticClass:"opacity-box"},[_c('opacity-controls',{ref:"opacityControl"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:"sliderPopover",attrs:{"content":"Move the slider to animate the region","placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper top-popper non-selectable"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], "value", $$v)},expression:"hoverVisabilities[4].value"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:"popover",rawName:"v-popover:sliderPopover",arg:"sliderPopover"}],staticClass:"time-slider-container",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{"type":"card"}},[_c('el-tab-pane',{attrs:{"label":"Animate scaffold"}},[_c('el-row',{staticClass:"tab-content"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:"icon-button video-button",attrs:{"icon":"pause"},nativeOn:{"click":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:"video-button icon-button",attrs:{"icon":"play"},nativeOn:{"click":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:"slider",attrs:{"min":0,"max":_vm.timeMax,"value":_vm.sceneData.currentTime / 100 * _vm.timeMax,"step":0.1,"tooltip-class":"time-slider-tooltip","format-tooltip":_vm.formatTooltip,"marks":_vm.timeStamps},on:{"input":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{"label":"Animation data"}},[_c('el-row',{staticClass:"tab-content"},[_c('div',{staticClass:"animation-data"},[_vm._v(" Original duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.orginalDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Animation duration: "),_c('div',{staticClass:"purple"},[_vm._v(" "+_vm._s(_vm.animateDuration)+" ")])]),_c('div',{staticClass:"animation-data"},[_vm._v(" Playback speed "),_c('el-select',{staticClass:"select-box",attrs:{"popper-append-to-body":true,"value":_vm.currentSpeed,"placeholder":"Select","popper-class":"scaffold_viewer_dropdown"},on:{"change":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.label,"value":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:"bottom-right-control"},[_c('el-popover',{attrs:{"content":"Zoom in","placement":"left","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper left-popper non-selectable"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], "value", $$v)},expression:"hoverVisabilities[0].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomIn",attrs:{"slot":"reference","icon":"zoomIn"},nativeOn:{"click":function($event){return _vm.zoomIn()},"mouseover":function($event){return _vm.showToolitip(0)},"mouseout":function($event){return _vm.hideToolitip(0)}},slot:"reference"})],1),_c('el-popover',{attrs:{"content":"Zoom out","placement":"top-end","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper popper-zoomout non-selectable"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], "value", $$v)},expression:"hoverVisabilities[1].value"}},[_c('map-svg-icon',{staticClass:"icon-button zoomOut",attrs:{"slot":"reference","icon":"zoomOut"},nativeOn:{"click":function($event){return _vm.zoomOut()},"mouseover":function($event){return _vm.showToolitip(1)},"mouseout":function($event){return _vm.hideToolitip(1)}},slot:"reference"})],1),_c('el-popover',{attrs:{"placement":"top","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper non-selectable"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], "value", $$v)},expression:"hoverVisabilities[2].value"}},[_c('div',[_vm._v(" Fit to "),_c('br'),_vm._v(" window ")]),_c('map-svg-icon',{staticClass:"icon-button fitWindow",attrs:{"slot":"reference","icon":"fitWindow"},nativeOn:{"click":function($event){return _vm.fitWindow()},"mouseover":function($event){return _vm.showToolitip(2)},"mouseout":function($event){return _vm.hideToolitip(2)}},slot:"reference"})],1)],1),_c('el-popover',{ref:"backgroundPopover",attrs:{"placement":"top-start","width":"128","append-to-body":false,"trigger":"click","popper-class":"background-popper non-selectable"}},[_c('el-row',{staticClass:"backgroundText"},[_vm._v(" Change background ")]),_c('el-row',{staticClass:"backgroundChooser"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{"click":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{"content":"Change background color","placement":"right","append-to-body":false,"trigger":"manual","popper-class":"scaffold-popper right-popper non-selectable"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], "value", $$v)},expression:"hoverVisabilities[3].value"}},[_c('map-svg-icon',{directives:[{name:"popover",rawName:"v-popover:backgroundPopover",arg:"backgroundPopover"}],staticClass:"icon-button background-colour",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{"slot":"reference","icon":"changeBckgd"},nativeOn:{"mouseover":function($event){return _vm.showToolitip(3)},"mouseout":function($event){return _vm.hideToolitip(3)}},slot:"reference"})],1)],1)],1)}
2151
2225
  var staticRenderFns = []
2152
2226
 
2153
2227
 
2154
- // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=023c058f&scoped=true&
2228
+ // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=73bfbf2a&scoped=true&
2155
2229
 
2156
2230
  // EXTERNAL MODULE: external "core-js/modules/es.array.for-each"
2157
2231
  var es_array_for_each_ = __webpack_require__("139f");
@@ -2250,7 +2324,7 @@ var col_default = /*#__PURE__*/__webpack_require__.n(col_);
2250
2324
  var external_vue_ = __webpack_require__("8bbf");
2251
2325
  var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
2252
2326
 
2253
- // 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&
2327
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&
2254
2328
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.material!=undefined)?_c('div',{ref:"control",staticClass:"opacity-control"},[_c('el-drawer',{staticClass:"drawer-content",attrs:{"custom-class":"my-drawer","visible":_vm.drawerOpen,"append-to-body":false,"modal-append-to-body":false,"size":"300","with-header":false,"wrapper-closable":false,"modal":false},on:{"update:visible":function($event){_vm.drawerOpen=$event}}},[(_vm.drawerOpen)?_c('div',{staticClass:"tab-button close",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-right"})]):_vm._e(),_c('el-container',{staticClass:"opacity-container"},[_c('el-header',{staticClass:"header",attrs:{"height":"37px"}},[_c('div',[_vm._v("Opacity")])]),_c('el-main',{staticClass:"main"},[_c('div',{staticClass:"block"},[_c('span',{staticClass:"display"},[_vm._v(_vm._s(_vm.displayString))]),_c('el-slider',{staticClass:"my-slider",attrs:{"step":0.01,"min":0,"max":1,"format-tooltip":_vm.formatTooltip,"show-tooltip":false},model:{value:(_vm.material.opacity),callback:function ($$v) {_vm.$set(_vm.material, "opacity", $$v)},expression:"material.opacity"}})],1)])],1)],1),(!_vm.drawerOpen)?_c('div',{staticClass:"tab-button open",on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})]):_vm._e()],1):_vm._e()}
2255
2329
  var OpacityControlsvue_type_template_id_4c00a30f_scoped_true_staticRenderFns = []
2256
2330
 
@@ -2551,25 +2625,149 @@ var component = normalizeComponent(
2551
2625
  )
2552
2626
 
2553
2627
  /* harmony default export */ var OpacityControls = (component.exports);
2554
- // 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&
2555
- 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,
2556
- 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"})])])}
2557
- var TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns = []
2628
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=template&id=7e38bfac&scoped=true&
2629
+ 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)}
2630
+ var ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_staticRenderFns = []
2558
2631
 
2559
2632
 
2560
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=template&id=335c5764&scoped=true&
2633
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=template&id=7e38bfac&scoped=true&
2561
2634
 
2562
- // EXTERNAL MODULE: external "core-js/modules/es.array.concat"
2563
- var es_array_concat_ = __webpack_require__("18d2");
2635
+ // EXTERNAL MODULE: external "core-js/modules/es.number.constructor"
2636
+ var es_number_constructor_ = __webpack_require__("6faa");
2637
+
2638
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2639
+
2640
+
2641
+
2642
+
2643
+ //
2644
+ //
2645
+ //
2646
+ //
2647
+ //
2648
+ //
2649
+ //
2650
+ //
2651
+ //
2652
+ //
2653
+ //
2654
+ //
2655
+ //
2656
+ //
2657
+ //
2658
+ //
2659
+
2660
+ /* eslint-disable no-alert, no-console */
2661
+
2662
+
2663
+
2664
+ locale_default.a.use(en_default.a);
2665
+ external_vue_default.a.use(popover_default.a);
2666
+ /**
2667
+ * A component to control the opacity of the target object.
2668
+ */
2669
+
2670
+ /* harmony default export */ var ScaffoldTooltipvue_type_script_lang_js_ = ({
2671
+ name: "ScaffoldTooltip",
2672
+ props: {
2673
+ label: {
2674
+ type: String,
2675
+ default: ""
2676
+ },
2677
+ visible: {
2678
+ type: Boolean,
2679
+ default: false
2680
+ },
2681
+ x: {
2682
+ type: Number,
2683
+ default: 200
2684
+ },
2685
+ y: {
2686
+ type: Number,
2687
+ default: 200
2688
+ }
2689
+ },
2690
+ data: function data() {
2691
+ return {
2692
+ display: false
2693
+ };
2694
+ },
2695
+ computed: {
2696
+ position: function position() {
2697
+ return {
2698
+ left: this.x + "px",
2699
+ top: this.y - 30 + "px"
2700
+ };
2701
+ }
2702
+ },
2703
+ watch: {
2704
+ label: {
2705
+ handler: function handler() {
2706
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2707
+ },
2708
+ immediate: true
2709
+ },
2710
+ visible: {
2711
+ handler: function handler() {
2712
+ if (this.visible && this.label && this.label !== "") this.display = true;else this.display = false;
2713
+ },
2714
+ immediate: true
2715
+ }
2716
+ }
2717
+ });
2718
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=script&lang=js&
2719
+ /* harmony default export */ var components_ScaffoldTooltipvue_type_script_lang_js_ = (ScaffoldTooltipvue_type_script_lang_js_);
2720
+ // EXTERNAL MODULE: ./src/components/ScaffoldTooltip.vue?vue&type=style&index=0&id=7e38bfac&scoped=true&lang=scss&
2721
+ var ScaffoldTooltipvue_type_style_index_0_id_7e38bfac_scoped_true_lang_scss_ = __webpack_require__("e716");
2722
+
2723
+ // CONCATENATED MODULE: ./src/components/ScaffoldTooltip.vue
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+ /* normalize component */
2731
+
2732
+ var ScaffoldTooltip_component = normalizeComponent(
2733
+ components_ScaffoldTooltipvue_type_script_lang_js_,
2734
+ ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_render,
2735
+ ScaffoldTooltipvue_type_template_id_7e38bfac_scoped_true_staticRenderFns,
2736
+ false,
2737
+ null,
2738
+ "7e38bfac",
2739
+ null
2740
+
2741
+ )
2742
+
2743
+ /* harmony default export */ var ScaffoldTooltip = (ScaffoldTooltip_component.exports);
2744
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0dd1e61a-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2745
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tree-controls",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:"traditional-container"},[_c('el-row',[_c('el-col',{attrs:{"span":12}},[_c('div',{staticClass:"regions-display-text"},[_vm._v(" Regions ")])])],1),_c('div',{staticClass:"tree-container"},[_c('el-tree',{ref:"regionTree",attrs:{"default-expand-all":"","node-key":"id","show-checkbox":"","check-strictly":true,"data":_vm.treeData,"default-checked-keys":['__r/'],"expand-on-click-node":false},on:{"check":_vm.checkChanged},scopedSlots:_vm._u([{key:"default",fn:function(ref){
2746
+ var node = ref.node;
2747
+ var data = ref.data;
2748
+ return _c('span',{staticClass:"region-tree-node",class:{
2749
+ activeItem:
2750
+ (_vm.active.group === data.label &&
2751
+ ((_vm.active.regionPath === data.regionPath) ||
2752
+ _vm.active.regionPath === undefined)),
2753
+ hoverItem:
2754
+ (_vm.hover.group === data.label &&
2755
+ ((_vm.hover.regionPath === data.regionPath) ||
2756
+ _vm.hover.regionPath === undefined))
2757
+ },on:{"click":function($event){return _vm.changeActiveByNode(data, true)},"mouseover":function($event){return _vm.changeHoverByNode(data, true)}}},[(data.primitives)?_c('el-color-picker',{class:{ 'show-picker': _vm.showColourPicker },attrs:{"value":_vm.getColour(data),"size":"small","popper-class":_vm.myPopperClass},on:{"change":function($event){return _vm.setColour(data, $event)}}}):_vm._e(),_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1)],1),_c('div',{staticClass:"drawer-button",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{"click":_vm.toggleDrawer}},[_c('i',{staticClass:"el-icon-arrow-left"})])])}
2758
+ var TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns = []
2759
+
2760
+
2761
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&
2762
+
2763
+ // EXTERNAL MODULE: external "core-js/modules/es.array.find"
2764
+ var es_array_find_ = __webpack_require__("fe0e");
2564
2765
 
2565
2766
  // EXTERNAL MODULE: external "core-js/modules/es.array.includes"
2566
2767
  var es_array_includes_ = __webpack_require__("ab7e");
2567
2768
 
2568
- // EXTERNAL MODULE: external "core-js/modules/es.array.index-of"
2569
- var es_array_index_of_ = __webpack_require__("6bb1");
2570
-
2571
- // EXTERNAL MODULE: external "core-js/modules/es.array.splice"
2572
- var es_array_splice_ = __webpack_require__("7c81");
2769
+ // EXTERNAL MODULE: external "core-js/modules/es.array.map"
2770
+ var es_array_map_ = __webpack_require__("f705");
2573
2771
 
2574
2772
  // EXTERNAL MODULE: external "core-js/modules/es.regexp.exec"
2575
2773
  var es_regexp_exec_ = __webpack_require__("51f7");
@@ -2656,6 +2854,13 @@ function _nonIterableSpread() {
2656
2854
  function _toConsumableArray(arr) {
2657
2855
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
2658
2856
  }
2857
+ // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/tree.css"
2858
+ var tree_css_ = __webpack_require__("49d0");
2859
+
2860
+ // EXTERNAL MODULE: external "element-ui/lib/tree"
2861
+ var tree_ = __webpack_require__("0fec");
2862
+ var tree_default = /*#__PURE__*/__webpack_require__.n(tree_);
2863
+
2659
2864
  // EXTERNAL MODULE: external "element-ui/lib/theme-chalk/color-picker.css"
2660
2865
  var color_picker_css_ = __webpack_require__("3666");
2661
2866
 
@@ -2677,7 +2882,11 @@ var checkbox_css_ = __webpack_require__("55ee");
2677
2882
  var checkbox_ = __webpack_require__("b777");
2678
2883
  var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2679
2884
 
2680
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TraditionalControls.vue?vue&type=script&lang=js&
2885
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TreeControls.vue?vue&type=script&lang=js&
2886
+
2887
+
2888
+
2889
+
2681
2890
 
2682
2891
 
2683
2892
 
@@ -2698,12 +2907,6 @@ var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
2698
2907
 
2699
2908
 
2700
2909
 
2701
- //
2702
- //
2703
- //
2704
- //
2705
- //
2706
- //
2707
2910
  //
2708
2911
  //
2709
2912
  //
@@ -2783,12 +2986,36 @@ external_vue_default.a.use(checkbox_default.a);
2783
2986
  external_vue_default.a.use(checkbox_group_default.a);
2784
2987
  external_vue_default.a.use(color_picker_default.a);
2785
2988
  external_vue_default.a.use(row_default.a);
2989
+ external_vue_default.a.use(tree_default.a);
2990
+
2991
+ var nameSorting = function nameSorting(a, b) {
2992
+ var labelA = a.label.toUpperCase();
2993
+ var labelB = b.label.toUpperCase();
2994
+
2995
+ if (labelA < labelB) {
2996
+ return -1;
2997
+ }
2998
+
2999
+ if (labelA > labelB) {
3000
+ return 1;
3001
+ }
3002
+
3003
+ return 0;
3004
+ };
3005
+
3006
+ var extractAllIds = function extractAllIds(item, list) {
3007
+ list.push(item.id);
3008
+ if (item.children) item.children.forEach(function (child) {
3009
+ return extractAllIds(child, list);
3010
+ });
3011
+ };
2786
3012
  /**
2787
3013
  * A vue component for toggling visibility of various regions.
2788
3014
  */
2789
3015
 
2790
- /* harmony default export */ var TraditionalControlsvue_type_script_lang_js_ = ({
2791
- name: "TraditionalControls",
3016
+
3017
+ /* harmony default export */ var TreeControlsvue_type_script_lang_js_ = ({
3018
+ name: "TreeControls",
2792
3019
  props: {
2793
3020
  /**
2794
3021
  * @ignore
@@ -2805,12 +3032,19 @@ external_vue_default.a.use(row_default.a);
2805
3032
  },
2806
3033
  data: function data() {
2807
3034
  return {
2808
- checkAll: true,
2809
- isIndeterminate: false,
2810
- checkedItems: [],
2811
- sortedPrimitiveGroups: [],
2812
- activeRegion: "",
2813
- hoverRegion: "",
3035
+ treeData: [{
3036
+ label: "Root",
3037
+ id: "__r/",
3038
+ children: []
3039
+ }],
3040
+ active: {
3041
+ group: "",
3042
+ regionPath: undefined
3043
+ },
3044
+ hover: {
3045
+ group: "",
3046
+ regionPath: undefined
3047
+ },
2814
3048
  myPopperClass: "hide-scaffold-colour-popup",
2815
3049
  drawerOpen: true
2816
3050
  };
@@ -2824,68 +3058,179 @@ external_vue_default.a.use(row_default.a);
2824
3058
  }
2825
3059
  },
2826
3060
  created: function created() {
2827
- var tmpArray = this.module.sceneData.geometries.concat(this.module.sceneData.lines);
2828
- tmpArray = tmpArray.concat(this.module.sceneData.glyphsets);
2829
- tmpArray = uniq(tmpArray.concat(this.module.sceneData.pointset));
2830
- this.sortedPrimitiveGroups = orderBy(tmpArray);
3061
+ var _this = this;
3062
+
3063
+ this.module.sceneData.geometries.forEach(function (zincObject) {
3064
+ _this.organsAdded(zincObject);
3065
+ });
3066
+ this.module.sceneData.lines.forEach(function (zincObject) {
3067
+ _this.organsAdded(zincObject);
3068
+ });
3069
+ this.module.sceneData.glyphsets.forEach(function (zincObject) {
3070
+ _this.organsAdded(zincObject);
3071
+ });
3072
+ this.module.sceneData.pointsets.forEach(function (zincObject) {
3073
+ _this.organsAdded(zincObject);
3074
+ });
2831
3075
  this.module.addOrganPartAddedCallback(this.organsAdded);
3076
+ this.__nodeNumbers = 1;
2832
3077
  },
2833
3078
  destroyed: function destroyed() {
2834
3079
  this.sortedPrimitiveGroups = undefined;
2835
3080
  },
2836
3081
  methods: {
2837
- /**
2838
- * This is called when a new organ is read into the scene.
2839
- */
2840
- organsAdded: function organsAdded(name) {
2841
- if (name && name != "") {
2842
- var tmpArray = uniq(this.sortedPrimitiveGroups.concat([name]));
2843
- tmpArray = orderBy(tmpArray);
2844
- var index = tmpArray.indexOf(undefined);
2845
-
2846
- if (index > -1) {
2847
- tmpArray.splice(index, 1);
3082
+ addTreeItem: function addTreeItem(parentContainer, item) {
3083
+ var _this2 = this;
3084
+
3085
+ for (var i = 0; i < parentContainer.length; i++) {
3086
+ if (parentContainer[i].id === item.id) {
3087
+ if (item.primitives && parentContainer[i].primitives) {
3088
+ var _parentContainer$i$pr;
3089
+
3090
+ (_parentContainer$i$pr = parentContainer[i].primitives).push.apply(_parentContainer$i$pr, _toConsumableArray(item.primitives));
3091
+
3092
+ return;
3093
+ }
3094
+ }
3095
+ }
3096
+
3097
+ parentContainer.push(item);
3098
+ parentContainer.sort(function (a, b) {
3099
+ return nameSorting(a, b);
3100
+ });
3101
+ this.__nodeNumbers++;
3102
+ this.$nextTick(function () {
3103
+ _this2.$refs.regionTree.setChecked(item.id, true);
3104
+ });
3105
+ },
3106
+ // find or create new region, region id is always prefixed with
3107
+ // '__r/'
3108
+ findOrCreateRegion: function findOrCreateRegion(data, paths, prefix) {
3109
+ //check if root region has been set
3110
+ if (!this.treeData[0].region && this.module && this.module.scene) {
3111
+ this.treeData[0].region = this.module.scene.getRootRegion();
3112
+ }
3113
+
3114
+ if (paths.length > 0) {
3115
+ var _paths = _toConsumableArray(paths);
3116
+
3117
+ var childRegion = data.children.find(function (child) {
3118
+ return child.label == _paths[0];
3119
+ });
3120
+ var path = prefix + "/" + paths[0];
3121
+ var id = "__r" + path;
3122
+
3123
+ if (!childRegion) {
3124
+ var region = this.treeData[0].region.findChildFromPath(path);
3125
+ childRegion = {
3126
+ label: _paths[0],
3127
+ id: id,
3128
+ children: [],
3129
+ region: region
3130
+ };
3131
+ this.addTreeItem(data.children, childRegion);
2848
3132
  }
2849
3133
 
2850
- this.sortedPrimitiveGroups = tmpArray;
3134
+ _paths.shift();
3135
+
3136
+ return this.findOrCreateRegion(childRegion, _paths, path);
3137
+ } else {
3138
+ return data;
2851
3139
  }
2852
3140
  },
2853
3141
 
2854
3142
  /**
2855
- * Select a region by its name.
3143
+ * This is called when a new organ is read into the scene.
2856
3144
  */
2857
- changeActiveByName: function changeActiveByName(name, propagate) {
2858
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3145
+ organsAdded: function organsAdded(zincObject) {
3146
+ var region = zincObject.region;
2859
3147
 
2860
- if (targetObject && targetObject.getVisibility()) {
2861
- this.activeRegion = name;
2862
- this.$emit("object-selected", targetObject, propagate);
3148
+ if (region) {
3149
+ var paths = region.getFullSeparatedPath();
3150
+ var regionData = this.findOrCreateRegion(this.treeData[0], paths, "");
3151
+
3152
+ if (zincObject.groupName) {
3153
+ if (regionData) {
3154
+ if (!regionData.children) {
3155
+ regionData.children = [];
3156
+ }
3157
+
3158
+ var id = regionData.id.replace("__r/", "") + "/" + zincObject.groupName;
3159
+ var child = {
3160
+ label: zincObject.groupName,
3161
+ id: id,
3162
+ primitives: [zincObject],
3163
+ regionPath: zincObject.region.getFullPath()
3164
+ };
3165
+ this.addTreeItem(regionData.children, child);
3166
+ }
3167
+ }
3168
+ }
3169
+ },
3170
+ checkChanged: function checkChanged(node, data) {
3171
+ var checked = data.checkedKeys.includes(node.id);
3172
+ if (node.region) node.region.setVisibility(checked);
3173
+
3174
+ if (node.primitives) {
3175
+ node.primitives.forEach(function (primitive) {
3176
+ primitive.setVisibility(checked);
3177
+ });
3178
+ }
3179
+ },
3180
+ changeActiveByPrimitive: function changeActiveByPrimitive(primitive, propagate) {
3181
+ if (primitive && primitive.getVisibility()) {
3182
+ this.active.group = primitive.groupName;
3183
+ this.active.regionPath = primitive.region.getFullPath();
3184
+ console.log(this.active);
3185
+ this.$emit("object-selected", primitive, propagate);
2863
3186
  } else {
2864
3187
  this.removeActive(propagate);
2865
3188
  }
2866
3189
 
2867
3190
  this.removeHover(propagate);
2868
3191
  },
3192
+ changeHoverByPrimitive: function changeHoverByPrimitive(primitive, propagate) {
3193
+ if (primitive) {
3194
+ this.hover.group = primitive.groupName;
3195
+ this.hover.regionPath = primitive.region.getFullPath();
3196
+ this.$emit("object-hovered", primitive, propagate);
3197
+ } else {
3198
+ this.removeHover(propagate);
3199
+ }
3200
+ },
2869
3201
 
2870
3202
  /**
2871
- * Hover a region by its name.
3203
+ * Select a region by its name.
2872
3204
  */
2873
- changeHoverByName: function changeHoverByName(name, propagate) {
2874
- var targetObject = this.getFirstZincObjectWithGroupName(name);
3205
+ changeActiveByName: function changeActiveByName(name, regionPath, propagate) {
3206
+ var rootRegion = this.module.scene.getRootRegion();
3207
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3208
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3209
+ this.changeActiveByPrimitive(targetObject, propagate);
3210
+ },
2875
3211
 
2876
- if (targetObject) {
2877
- this.hoverRegion = name;
2878
- this.$emit("object-hovered", targetObject, propagate);
2879
- } else {
2880
- this.removeHover(propagate);
2881
- }
3212
+ /**
3213
+ * Hover a region by its name.
3214
+ */
3215
+ changeHoverByName: function changeHoverByName(name, regionPath, propagate) {
3216
+ var rootRegion = this.module.scene.getRootRegion();
3217
+ var targetRegion = rootRegion.findChildFromPath(regionPath);
3218
+ var targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);
3219
+ this.changeHoverByPrimitive(targetObject, propagate);
3220
+ },
3221
+ changeActiveByNode: function changeActiveByNode(node, propagate) {
3222
+ if (node.primitives) this.changeActiveByPrimitive(node.primitives[0], propagate);
3223
+ },
3224
+ changeHoverByNode: function changeHoverByNode(node, propagate) {
3225
+ if (node.primitives) this.changeHoverByPrimitive(node.primitives[0], propagate);
2882
3226
  },
2883
3227
 
2884
3228
  /**
2885
3229
  * Unselect the current selected region.
2886
3230
  */
2887
3231
  removeActive: function removeActive(propagate) {
2888
- this.activeRegion = "";
3232
+ this.active.group = "";
3233
+ this.active.regionPath = undefined;
2889
3234
  this.$emit("object-selected", undefined, propagate);
2890
3235
  },
2891
3236
 
@@ -2893,7 +3238,8 @@ external_vue_default.a.use(row_default.a);
2893
3238
  * Unselect the current hover region.
2894
3239
  */
2895
3240
  removeHover: function removeHover(propagate) {
2896
- this.hoverRegion = "";
3241
+ this.hover.group = "";
3242
+ this.hover.regionPath = undefined;
2897
3243
  this.$emit("object-hovered", undefined, propagate);
2898
3244
  },
2899
3245
 
@@ -2901,68 +3247,47 @@ external_vue_default.a.use(row_default.a);
2901
3247
  * Reset the controls.
2902
3248
  */
2903
3249
  clear: function clear() {
2904
- this.sortedPrimitiveGroups = [];
2905
- this.checkedItems = [];
2906
- this.checkAll = true;
2907
- this.isIndeterminate = false;
2908
- this.activeRegion = "";
2909
- this.hoverRegion = "";
3250
+ this.active.group = "";
3251
+ this.active.regionPath = undefined;
3252
+ this.hover.group = "";
3253
+ this.hover.regionPath = undefined;
3254
+ this.$refs.regionTree.updateKeyChildren("__r/", []);
2910
3255
  this.$emit("object-selected", undefined);
2911
3256
  },
2912
- getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(name) {
2913
- if (this.module && this.module.scene) {
2914
- var array = this.module.scene.findGeometriesWithGroupName(name);
3257
+ getFirstZincObjectWithGroupName: function getFirstZincObjectWithGroupName(region, name) {
3258
+ if (region) {
3259
+ var array = region.findGeometriesWithGroupName(name);
2915
3260
  if (array.length > 0) return array[0];
2916
- array = this.module.scene.findGlyphsetsWithGroupName(name);
3261
+ array = region.findGlyphsetsWithGroupName(name);
2917
3262
  if (array.length > 0) return array[0];
2918
- array = this.module.scene.findLinesWithGroupName(name);
3263
+ array = region.findLinesWithGroupName(name);
2919
3264
  if (array.length > 0) return array[0];
2920
- array = this.module.scene.findPointsetsWithGroupName(name);
3265
+ array = region.findPointsetsWithGroupName(name);
2921
3266
  if (array.length > 0) return array[0];
2922
3267
  }
2923
3268
 
2924
3269
  return undefined;
2925
3270
  },
2926
- getColour: function getColour(name) {
2927
- var graphic = this.getFirstZincObjectWithGroupName(name);
3271
+ getColour: function getColour(nodeData) {
3272
+ if (nodeData) {
3273
+ var graphic = nodeData.primitives[0];
2928
3274
 
2929
- if (graphic) {
2930
- var hex = graphic.getColourHex();
2931
- if (hex) return "#" + hex;
3275
+ if (graphic) {
3276
+ var hex = graphic.getColourHex();
3277
+ if (hex) return "#" + hex;
3278
+ }
2932
3279
  }
2933
3280
 
2934
3281
  return "#FFFFFF";
2935
3282
  },
2936
- setColour: function setColour(name, value) {
2937
- var graphic = this.getFirstZincObjectWithGroupName(name);
2938
-
2939
- if (graphic) {
2940
- var hexString = value.replace("#", "0x");
2941
- graphic.setColourHex(hexString);
2942
- }
2943
- },
2944
- checkboxHover: function checkboxHover(name) {
2945
- this.changeHoverByName(name, true);
2946
- },
2947
- itemClicked: function itemClicked(name, event) {
2948
- if (!(event.target.classList.contains("el-checkbox__inner") || event.target.classList.contains("el-checkbox__original"))) {
2949
- this.changeActiveByName(name, true);
2950
- event.preventDefault();
2951
- }
2952
- },
2953
- handleCheckedItemsChange: function handleCheckedItemsChange() {
2954
- var unnamed = this.checkedItems.includes(undefined) ? true : false;
2955
- var checkedCount = this.checkedItems.length;
2956
- if (unnamed) checkedCount--;
2957
- this.checkAll = checkedCount === this.sortedPrimitiveGroups.length;
2958
- this.isIndeterminate = checkedCount > 0 && checkedCount < this.sortedPrimitiveGroups.length;
2959
- },
2960
- handleCheckAllChange: function handleCheckAllChange(val) {
2961
- this.checkedItems = val ? _toConsumableArray(this.sortedPrimitiveGroups) : [];
2962
- this.isIndeterminate = false;
3283
+ setColour: function setColour(nodeData, value) {
3284
+ if (nodeData) {
3285
+ var graphic = nodeData.primitives[0];
2963
3286
 
2964
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
2965
- this.visibilityToggle(this.sortedPrimitiveGroups[i], this.checkAll);
3287
+ if (graphic) {
3288
+ var hexString = value.replace("#", "0x");
3289
+ graphic.setColourHex(hexString);
3290
+ }
2966
3291
  }
2967
3292
  },
2968
3293
  viewAll: function viewAll() {
@@ -2985,56 +3310,70 @@ external_vue_default.a.use(row_default.a);
2985
3310
  this.drawerOpen = !this.drawerOpen;
2986
3311
  this.$emit("drawer-toggled", this.drawerOpen);
2987
3312
  },
2988
- getState: function getState() {
2989
- if (this.checkAll) {
2990
- return {
2991
- checkAll: true
2992
- };
2993
- }
2994
-
2995
- var checkedItems = _toConsumableArray(this.checkedItems);
2996
-
2997
- var index = checkedItems.indexOf(undefined);
2998
-
2999
- if (index > -1) {
3000
- checkedItems.splice(index, 1);
3001
- }
3313
+ setTreeVisibility: function setTreeVisibility(node, list) {
3314
+ var _this3 = this;
3002
3315
 
3316
+ var flag = false;
3317
+ if (list.includes(node.id)) flag = true;
3318
+ if (node.region) node.region.setVisibility(flag);
3319
+ if (node.primitives) node.primitives.forEach(function (primitive) {
3320
+ return primitive.setVisibility(flag);
3321
+ });
3322
+ if (node.children) node.children.forEach(function (child) {
3323
+ return _this3.setTreeVisibility(child, list);
3324
+ });
3325
+ },
3326
+ checkAllKeys: function checkAllKeys() {
3327
+ var keysList = [];
3328
+ extractAllIds(this.treeData[0], keysList);
3329
+ this.setTreeVisibility(this.treeData[0], keysList);
3330
+ this.$refs.regionTree.setCheckedKeys(keysList);
3331
+ },
3332
+ getState: function getState() {
3333
+ var checkedItems = this.$refs.regionTree.getCheckedKeys();
3334
+ if (checkedItems.length === this.__nodeNumbers) return {
3335
+ checkAll: true,
3336
+ version: "2.0"
3337
+ };
3003
3338
  return {
3004
- checkedItems: checkedItems
3339
+ checkedItems: checkedItems,
3340
+ version: "2.0"
3005
3341
  };
3006
3342
  },
3007
3343
  setState: function setState(state) {
3008
3344
  if (state) {
3009
3345
  if (state.checkAll) {
3010
- this.checkedItems = _toConsumableArray(this.sortedPrimitiveGroups);
3011
-
3012
- for (var i = 0; i < this.sortedPrimitiveGroups.length; i++) {
3013
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[i], true);
3014
- }
3346
+ this.checkAllKeys();
3015
3347
  } else if (state.checkedItems) {
3016
- this.checkedItems = _toConsumableArray(state.checkedItems);
3348
+ var list = [];
3017
3349
 
3018
- for (var _i = 0; _i < this.sortedPrimitiveGroups.length; _i++) {
3019
- var visible = this.checkedItems.includes(this.sortedPrimitiveGroups[_i]);
3020
- this.module.changeOrganPartsVisibility(this.sortedPrimitiveGroups[_i], visible);
3350
+ if (state.version !== "2.0") {
3351
+ list = state.checkedItems.map(function (item) {
3352
+ return "/" + item;
3353
+ });
3354
+ list.shift("__r/");
3355
+ } else {
3356
+ var _list;
3357
+
3358
+ (_list = list).push.apply(_list, _toConsumableArray(state.checkedItems));
3021
3359
  }
3360
+
3361
+ this.setTreeVisibility(this.treeData[0], list);
3362
+ this.$refs.regionTree.setCheckedKeys(list);
3022
3363
  }
3023
3364
  }
3024
-
3025
- this.handleCheckedItemsChange();
3026
3365
  }
3027
3366
  }
3028
3367
  });
3029
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue?vue&type=script&lang=js&
3030
- /* harmony default export */ var components_TraditionalControlsvue_type_script_lang_js_ = (TraditionalControlsvue_type_script_lang_js_);
3031
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=0&id=335c5764&scoped=true&lang=scss&
3032
- var TraditionalControlsvue_type_style_index_0_id_335c5764_scoped_true_lang_scss_ = __webpack_require__("3a59");
3368
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue?vue&type=script&lang=js&
3369
+ /* harmony default export */ var components_TreeControlsvue_type_script_lang_js_ = (TreeControlsvue_type_script_lang_js_);
3370
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&
3371
+ var TreeControlsvue_type_style_index_0_id_4d20ec9a_scoped_true_lang_scss_ = __webpack_require__("47d7");
3033
3372
 
3034
- // EXTERNAL MODULE: ./src/components/TraditionalControls.vue?vue&type=style&index=1&lang=css&
3035
- var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("add8");
3373
+ // EXTERNAL MODULE: ./src/components/TreeControls.vue?vue&type=style&index=1&lang=css&
3374
+ var TreeControlsvue_type_style_index_1_lang_css_ = __webpack_require__("8f55");
3036
3375
 
3037
- // CONCATENATED MODULE: ./src/components/TraditionalControls.vue
3376
+ // CONCATENATED MODULE: ./src/components/TreeControls.vue
3038
3377
 
3039
3378
 
3040
3379
 
@@ -3044,18 +3383,18 @@ var TraditionalControlsvue_type_style_index_1_lang_css_ = __webpack_require__("a
3044
3383
 
3045
3384
  /* normalize component */
3046
3385
 
3047
- var TraditionalControls_component = normalizeComponent(
3048
- components_TraditionalControlsvue_type_script_lang_js_,
3049
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_render,
3050
- TraditionalControlsvue_type_template_id_335c5764_scoped_true_staticRenderFns,
3386
+ var TreeControls_component = normalizeComponent(
3387
+ components_TreeControlsvue_type_script_lang_js_,
3388
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_render,
3389
+ TreeControlsvue_type_template_id_4d20ec9a_scoped_true_staticRenderFns,
3051
3390
  false,
3052
3391
  null,
3053
- "335c5764",
3392
+ "4d20ec9a",
3054
3393
  null
3055
3394
 
3056
3395
  )
3057
3396
 
3058
- /* harmony default export */ var TraditionalControls = (TraditionalControls_component.exports);
3397
+ /* harmony default export */ var TreeControls = (TreeControls_component.exports);
3059
3398
  // EXTERNAL MODULE: external "@abi-software/svg-sprite"
3060
3399
  var svg_sprite_ = __webpack_require__("429c");
3061
3400
 
@@ -3334,6 +3673,12 @@ var svg_sprite_ = __webpack_require__("429c");
3334
3673
  //
3335
3674
  //
3336
3675
  //
3676
+ //
3677
+ //
3678
+ //
3679
+ //
3680
+ //
3681
+ //
3337
3682
 
3338
3683
  /* eslint-disable no-alert, no-console */
3339
3684
 
@@ -3342,6 +3687,7 @@ var svg_sprite_ = __webpack_require__("429c");
3342
3687
 
3343
3688
 
3344
3689
 
3690
+
3345
3691
  locale_default.a.use(en_default.a);
3346
3692
  external_vue_default.a.use(col_default.a);
3347
3693
  external_vue_default.a.use(loading_default.a.directive);
@@ -3360,17 +3706,18 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3360
3706
  * A vue component of the scaffold viewer.
3361
3707
  *
3362
3708
  * @requires ./OpacityControls.vue
3363
- * @requires ./TraditionalControls.vue
3709
+ * @requires ./TreeControls.vue
3364
3710
  */
3365
3711
 
3366
3712
 
3367
3713
  /* harmony default export */ var ScaffoldVuervue_type_script_lang_js_ = ({
3368
3714
  name: "ScaffoldVuer",
3369
3715
  components: {
3370
- OpacityControls: OpacityControls,
3371
3716
  MapSvgIcon: svg_sprite_["MapSvgIcon"],
3372
3717
  MapSvgSpriteColor: svg_sprite_["MapSvgSpriteColor"],
3373
- TraditionalControls: TraditionalControls
3718
+ OpacityControls: OpacityControls,
3719
+ ScaffoldTooltip: ScaffoldTooltip,
3720
+ TreeControls: TreeControls
3374
3721
  },
3375
3722
  props: {
3376
3723
  /**
@@ -3558,7 +3905,14 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3558
3905
  label: "10x"
3559
3906
  }],
3560
3907
  currentSpeed: 1,
3561
- timeStamps: {}
3908
+ timeStamps: {},
3909
+ defaultCheckedKeys: [],
3910
+ tData: {
3911
+ label: "",
3912
+ visible: false,
3913
+ x: 200,
3914
+ y: 200
3915
+ }
3562
3916
  };
3563
3917
  },
3564
3918
  watch: {
@@ -3764,7 +4118,11 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3764
4118
  var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);
3765
4119
 
3766
4120
  if (box) {
3767
- this.$module.scene.viewAllWithBoundingBox(box);
4121
+ if (this.$module.isSyncControl()) {
4122
+ this.$module.setSyncControlZoomToBox(box);
4123
+ } else {
4124
+ this.$module.scene.viewAllWithBoundingBox(box);
4125
+ }
3768
4126
  }
3769
4127
  }
3770
4128
  },
@@ -3821,40 +4179,49 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3821
4179
  */
3822
4180
  eventNotifierCallback: function eventNotifierCallback(event) {
3823
4181
  if (event.eventType == 1) {
3824
- if (this.$refs.traditionalControl) {
4182
+ if (this.$refs.treeControl) {
3825
4183
  if (event.identifiers[0]) {
3826
4184
  var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
3827
- this.$refs.traditionalControl.changeActiveByName(id, true);
4185
+ var region = event.identifiers[0].data.region;
4186
+ this.$refs.treeControl.changeActiveByName(id, region, true);
3828
4187
  } else {
3829
- this.$refs.traditionalControl.removeActive(true);
4188
+ this.$refs.treeControl.removeActive(true);
3830
4189
  }
3831
- }
3832
- /**
3833
- * Triggers when an object has been selected
3834
- *
3835
- * @property {array} identifiers array of identifiers
3836
- * of selected object.
3837
- */
4190
+ } // Triggers when an object has been selected
3838
4191
 
3839
4192
 
3840
4193
  this.$emit("scaffold-selected", event.identifiers);
3841
4194
  } else if (event.eventType == 2) {
3842
- if (this.$refs.traditionalControl) {
3843
- if (event.identifiers[0]) {
3844
- var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4195
+ this.tData.visible = false;
3845
4196
 
3846
- this.$refs.traditionalControl.changeHoverByName(_id, true);
3847
- } else this.$refs.traditionalControl.removeHover(true);
3848
- }
3849
- /**
3850
- * Triggers when an object has been highlighted
3851
- *
3852
- * @property {array} identifiers array of identifiers
3853
- * of highlighted object.
3854
- */
4197
+ if (event.identifiers[0]) {
4198
+ var _id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;
4199
+
4200
+ if (event.identifiers[0].coords) {
4201
+ this.tData.visible = true;
4202
+ this.tData.label = _id;
4203
+ this.tData.x = event.identifiers[0].coords.x;
4204
+ this.tData.y = event.identifiers[0].coords.y;
4205
+ }
4206
+
4207
+ if (this.$refs.treeControl) {
4208
+ var _region = event.identifiers[0].data.region;
4209
+ this.$refs.treeControl.changeHoverByName(_id, _region, true);
4210
+ } else {
4211
+ this.$refs.treeControl.removeHover(true);
4212
+ }
4213
+ } // Triggers when an object has been highlighted
3855
4214
 
3856
4215
 
3857
4216
  this.$emit("scaffold-highlighted", event.identifiers);
4217
+ } else if (event.eventType == 3) {
4218
+ //MOVE
4219
+ if (event.identifiers[0]) {
4220
+ if (event.identifiers[0].coords) {
4221
+ this.tData.x = event.identifiers[0].coords.x;
4222
+ this.tData.y = event.identifiers[0].coords.y;
4223
+ }
4224
+ }
3858
4225
  }
3859
4226
  },
3860
4227
 
@@ -3899,7 +4266,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3899
4266
  if (object !== this.selectedObject) {
3900
4267
  this.selectedObject = object;
3901
4268
  this.$refs.opacityControl.setObject(this.selectedObject);
3902
- if (object) this.$module.setSelectedByZincObject(object, propagate);else this.$module.setSelectedByObjects([], propagate);
4269
+ if (object) this.$module.setSelectedByZincObject(object, undefined, propagate);else this.$module.setSelectedByObjects([], undefined, propagate);
3903
4270
  }
3904
4271
  },
3905
4272
 
@@ -3911,26 +4278,26 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
3911
4278
  objectHovered: function objectHovered(object, propagate) {
3912
4279
  if (object !== this.hoveredObject) {
3913
4280
  this.hoveredObject = object;
3914
- if (object) this.$module.setHighlightedByZincObject(object, propagate);else this.$module.setHighlightedByObjects([], propagate);
4281
+ if (object) this.$module.setHighlightedByZincObject(object, undefined, propagate);else this.$module.setHighlightedByObjects([], undefined, propagate);
3915
4282
  }
3916
4283
  },
3917
4284
 
3918
4285
  /**
3919
4286
  * Set the selected by name.
3920
4287
  *
3921
- * @param {name} name Name of the region
4288
+ * @param {name} name Name of the group
3922
4289
  */
3923
- changeActiveByName: function changeActiveByName(name, propagate) {
3924
- if (name === undefined) this.$refs.traditionalControl.removeActive(propagate);else this.$refs.traditionalControl.changeActiveByName(name, propagate);
4290
+ changeActiveByName: function changeActiveByName(name, region, propagate) {
4291
+ if (name === undefined) this.$refs.treeControl.removeActive(propagate);else this.$refs.treeControl.changeActiveByName(name, region, propagate);
3925
4292
  },
3926
4293
 
3927
4294
  /**
3928
4295
  * Set the highlighted by name.
3929
4296
  *
3930
- * @param {name} name Name of the region
4297
+ * @param {name} name Name of the group
3931
4298
  */
3932
- changeHighlightedByName: function changeHighlightedByName(name, propagate) {
3933
- if (name === undefined) this.$refs.traditionalControl.removeHover(propagate);else this.$refs.traditionalControl.changeHoverByName(name, propagate);
4299
+ changeHighlightedByName: function changeHighlightedByName(name, region, propagate) {
4300
+ if (name === undefined) this.$refs.treeControl.removeHover(propagate);else this.$refs.treeControl.changeHoverByName(name, region, propagate);
3934
4301
  },
3935
4302
 
3936
4303
  /**
@@ -4028,7 +4395,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4028
4395
  if (options.visibility) {
4029
4396
  // Some UIs may not be ready at this time.
4030
4397
  _this3.$nextTick(function () {
4031
- _this3.$refs.traditionalControl.setState(options.visibility);
4398
+ _this3.$refs.treeControl.setState(options.visibility);
4032
4399
  });
4033
4400
  }
4034
4401
  }
@@ -4041,6 +4408,8 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4041
4408
 
4042
4409
  _this3.$module.unsetFinishDownloadCallback();
4043
4410
 
4411
+ _this3.$emit("on-ready");
4412
+
4044
4413
  _this3.isReady = true;
4045
4414
  };
4046
4415
  },
@@ -4057,7 +4426,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4057
4426
  viewport: undefined,
4058
4427
  visibility: undefined
4059
4428
  };
4060
- if (this.$refs.traditionalControl) state.visibility = this.$refs.traditionalControl.getState();
4429
+ if (this.$refs.treeControl) state.visibility = this.$refs.treeControl.getState();
4061
4430
 
4062
4431
  if (this.$module.scene) {
4063
4432
  var zincCameraControls = this.$module.scene.getZincCameraControls();
@@ -4084,7 +4453,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4084
4453
  if (state.viewport || state.visibility) {
4085
4454
  if (this.isReady && this.$module.scene) {
4086
4455
  if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);
4087
- if (state.visibility) this.$refs.traditionalControl.setState(state.visibility);
4456
+ if (state.visibility) this.$refs.treeControl.setState(state.visibility);
4088
4457
  } else {
4089
4458
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
4090
4459
  viewport: state.viewport,
@@ -4111,7 +4480,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4111
4480
  var viewport = state && state.viewport ? state.viewport : undefined;
4112
4481
  var visibility = state && state.visibility ? state.visibility : undefined;
4113
4482
  this._currentURL = newValue;
4114
- if (this.$refs.traditionalControl) this.$refs.traditionalControl.clear();
4483
+ if (this.$refs.treeControl) this.$refs.treeControl.clear();
4115
4484
  this.loading = true;
4116
4485
  this.isReady = false;
4117
4486
  this.$module.setFinishDownloadCallback(this.setURLFinishCallback({
@@ -4148,7 +4517,6 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4148
4517
 
4149
4518
  /**
4150
4519
  * Callback using ResizeObserver.
4151
-
4152
4520
  */
4153
4521
  adjustLayout: function adjustLayout() {
4154
4522
  var width = this.$refs.scaffoldContainer.clientWidth;
@@ -4173,13 +4541,21 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
4173
4541
  if (this.$module.zincRenderer) {
4174
4542
  this.$module.zincRenderer.onWindowResize();
4175
4543
  }
4544
+ },
4545
+ syncControlCallback: function syncControlCallback() {
4546
+ var payload = this.$module.NDCCameraControl.getPanZoom();
4547
+ this.$emit("scaffold-navigated", payload);
4548
+ },
4549
+ toggleSyncControl: function toggleSyncControl(flag) {
4550
+ this.$module.toggleSyncControl(flag);
4551
+ this.$module.setSyncControlCallback(this.syncControlCallback);
4176
4552
  }
4177
4553
  }
4178
4554
  });
4179
4555
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=script&lang=js&
4180
4556
  /* harmony default export */ var components_ScaffoldVuervue_type_script_lang_js_ = (ScaffoldVuervue_type_script_lang_js_);
4181
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=023c058f&scoped=true&lang=scss&
4182
- var ScaffoldVuervue_type_style_index_0_id_023c058f_scoped_true_lang_scss_ = __webpack_require__("1f67");
4557
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=73bfbf2a&scoped=true&lang=scss&
4558
+ var ScaffoldVuervue_type_style_index_0_id_73bfbf2a_scoped_true_lang_scss_ = __webpack_require__("a2ed");
4183
4559
 
4184
4560
  // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&
4185
4561
  var ScaffoldVuervue_type_style_index_1_lang_scss_ = __webpack_require__("642d");
@@ -4200,7 +4576,7 @@ var ScaffoldVuer_component = normalizeComponent(
4200
4576
  staticRenderFns,
4201
4577
  false,
4202
4578
  null,
4203
- "023c058f",
4579
+ "73bfbf2a",
4204
4580
  null
4205
4581
 
4206
4582
  )
@@ -4230,6 +4606,13 @@ module.exports = require("core-js/modules/es.string.includes");
4230
4606
 
4231
4607
  module.exports = require("element-ui/lib/theme-chalk/row.css");
4232
4608
 
4609
+ /***/ }),
4610
+
4611
+ /***/ "fe0e":
4612
+ /***/ (function(module, exports) {
4613
+
4614
+ module.exports = require("core-js/modules/es.array.find");
4615
+
4233
4616
  /***/ })
4234
4617
 
4235
4618
  /******/ });