@abi-software/scaffoldvuer 0.2.3-alpha → 0.2.3-alpha-2

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.
@@ -418,7 +418,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var elem
418
418
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
419
419
 
420
420
  "use strict";
421
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-ui/lib/theme-chalk/tabs.css */ \"./node_modules/element-ui/lib/theme-chalk/tabs.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui/lib/theme-chalk/base.css */ \"./node_modules/element-ui/lib/theme-chalk/base.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! element-ui/lib/tabs */ \"./node_modules/element-ui/lib/tabs.js\");\n/* harmony import */ var element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! element-ui/lib/theme-chalk/tab-pane.css */ \"./node_modules/element-ui/lib/theme-chalk/tab-pane.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! element-ui/lib/tab-pane */ \"./node_modules/element-ui/lib/tab-pane.js\");\n/* harmony import */ var element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! element-ui/lib/theme-chalk/slider.css */ \"./node_modules/element-ui/lib/theme-chalk/slider.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! element-ui/lib/slider */ \"./node_modules/element-ui/lib/slider.js\");\n/* harmony import */ var element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-ui/lib/theme-chalk/select.css */ \"./node_modules/element-ui/lib/theme-chalk/select.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! element-ui/lib/select */ \"./node_modules/element-ui/lib/select.js\");\n/* harmony import */ var element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! element-ui/lib/theme-chalk/row.css */ \"./node_modules/element-ui/lib/theme-chalk/row.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! element-ui/lib/row */ \"./node_modules/element-ui/lib/row.js\");\n/* harmony import */ var element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! element-ui/lib/theme-chalk/popover.css */ \"./node_modules/element-ui/lib/theme-chalk/popover.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! element-ui/lib/popover */ \"./node_modules/element-ui/lib/popover.js\");\n/* harmony import */ var element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! element-ui/lib/theme-chalk/option.css */ \"./node_modules/element-ui/lib/theme-chalk/option.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! element-ui/lib/option */ \"./node_modules/element-ui/lib/option.js\");\n/* harmony import */ var element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! element-ui/lib/theme-chalk/loading.css */ \"./node_modules/element-ui/lib/theme-chalk/loading.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! element-ui/lib/loading */ \"./node_modules/element-ui/lib/loading.js\");\n/* harmony import */ var element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! element-ui/lib/theme-chalk/col.css */ \"./node_modules/element-ui/lib/theme-chalk/col.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! element-ui/lib/col */ \"./node_modules/element-ui/lib/col.js\");\n/* harmony import */ var element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! element-ui/lib/theme-chalk/button.css */ \"./node_modules/element-ui/lib/theme-chalk/button.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! element-ui/lib/button */ \"./node_modules/element-ui/lib/button.js\");\n/* harmony import */ var element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"./node_modules/core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/web.url-search-params.js */ \"./node_modules/core-js/modules/web.url-search-params.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_31__);\n/* harmony import */ var _OpacityControls__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./OpacityControls */ \"./src/components/OpacityControls.vue\");\n/* harmony import */ var _ScaffoldTooltip__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./ScaffoldTooltip */ \"./src/components/ScaffoldTooltip.vue\");\n/* harmony import */ var _TreeControls__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./TreeControls */ \"./src/components/TreeControls.vue\");\n/* harmony import */ var _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! @abi-software/svg-sprite */ \"./node_modules/@abi-software/svg-sprite/dist/svg-sprite.common.js\");\n/* harmony import */ var _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(_abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__);\n/* harmony import */ var _scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../scripts/utilities.js */ \"./src/scripts/utilities.js\");\n/* harmony import */ var _scripts_search_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../scripts/search.js */ \"./src/scripts/search.js\");\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! element-ui/lib/locale/lang/en */ \"./node_modules/element-ui/lib/locale/lang/en.js\");\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38__);\n/* harmony import */ var element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! element-ui/lib/locale */ \"./node_modules/element-ui/lib/locale/index.js\");\n/* harmony import */ var element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* eslint-disable no-alert, no-console */\n\n\n\n\n\n\n\n\n\nelement_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39___default.a.use(element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16___default.a.directive);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2___default.a);\nvar OrgansViewer = __webpack_require__(/*! ../scripts/organsRenderer */ \"./src/scripts/organsRenderer.js\").OrgansViewer;\nvar EventNotifier = __webpack_require__(/*! ../scripts/eventNotifier */ \"./src/scripts/eventNotifier.js\").EventNotifier;\n\n/**\r\n * A vue component of the scaffold viewer.\r\n *\r\n * @requires ./OpacityControls.vue\r\n * @requires ./TreeControls.vue\r\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ScaffoldVuer\",\n components: {\n MapSvgIcon: _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__[\"MapSvgIcon\"],\n MapSvgSpriteColor: _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__[\"MapSvgSpriteColor\"],\n OpacityControls: _OpacityControls__WEBPACK_IMPORTED_MODULE_32__[\"default\"],\n ScaffoldTooltip: _ScaffoldTooltip__WEBPACK_IMPORTED_MODULE_33__[\"default\"],\n TreeControls: _TreeControls__WEBPACK_IMPORTED_MODULE_34__[\"default\"]\n },\n props: {\n /**\r\n * URL of the zincjs metadata. This value will be ignored if a valid\r\n * state prop is also provided.\r\n * If the url needs to be updated with state present, please use\r\n * the setURL method.\r\n */\n url: {\n type: String,\n default: \"\"\n },\n /**\r\n * Show the colour control of set to true.\r\n */\n showColourPicker: {\n type: Boolean,\n default: false\n },\n /**\r\n * Flag to show/hide the UI.\r\n */\n displayUI: {\n type: Boolean,\n default: true\n },\n /**\r\n * Display all graphics at start.\r\n *\r\n * This setting only works when traditional is set to false.\r\n */\n displayAtStartUp: {\n type: Boolean,\n default: true\n },\n /**\r\n * Use for toggling the help tooltips.\r\n */\n helpMode: {\n type: Boolean,\n default: false\n },\n /**\r\n * Use for show/display beta warning icon.\r\n */\n displayWarning: {\n type: Boolean,\n default: true\n },\n /**\r\n * Warning message for the hovered over text\r\n * on the warning icon.\r\n */\n warningMessage: {\n type: String,\n default: \"Beta feature - under active development\"\n },\n displayLatestChanges: {\n type: Boolean,\n default: false\n },\n latestChangesMessage: {\n type: String,\n default: \"New feature - Local search is now available\"\n },\n /**\r\n * Show/hide pickable markers for regions.\r\n */\n displayMarkers: {\n type: Boolean,\n default: false\n },\n markerLabels: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n /**\r\n * Show/hide minimap.\r\n */\n displayMinimap: {\n type: Boolean,\n default: false\n },\n /**\r\n * Format of the input URL\r\n */\n format: {\n type: String,\n default: \"metadata\"\n },\n /**\r\n * Settings for minimap position, size and alignment.\r\n */\n minimapSettings: {\n type: Object,\n default: function _default() {\n return {\n x_offset: 16,\n y_offset: 16,\n width: 128,\n height: 128,\n align: \"top-right\"\n };\n }\n },\n /**\r\n * Flag to determine rather open map UI should be\r\n * presented or not.\r\n */\n enableOpenMapUI: {\n type: Boolean,\n default: false\n },\n openMapOptions: {\n type: Array,\n default: function _default() {\n return [{\n display: \"Open AC Map\",\n key: \"AC\"\n }, {\n display: \"Open FC Map\",\n key: \"FC\"\n }, {\n display: \"Open 3D Human Map\",\n key: \"3D\"\n }];\n }\n },\n /**\r\n * State containing state of the scaffold.\r\n */\n state: {\n type: Object,\n default: undefined\n },\n /**\r\n * Optional prop for the name of the region to focus on,\r\n * this option is ignored if state or viewURL is also provided.\r\n */\n region: {\n type: String,\n default: \"\"\n },\n /**\r\n * Optional prop for an URL of containing information of a viewport.\r\n * This option is ignored if state is also provided.\r\n * It will use the provided URL as base if a relative parth is provided.\r\n */\n viewURL: {\n type: String,\n default: \"\"\n },\n /**\r\n * Settings for turning on/off rendering\r\n */\n render: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n sceneData: this.$module.sceneData,\n isPlaying: false,\n isReady: false,\n /**\r\n * This is set when scene is transitioning.\r\n */\n isTransitioning: false,\n tooltipAppendToBody: false,\n hoverVisibilities: [{\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }],\n inHelp: false,\n loading: false,\n duration: 3000,\n drawerOpen: true,\n currentBackground: \"white\",\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\n minimisedSlider: false,\n sliderPosition: \"\",\n timeMax: 100,\n orginalDuration: \"\",\n animateDuration: \"6secs\",\n playSpeed: [{\n value: 0.1,\n label: \"0.1x\"\n }, {\n value: 0.5,\n label: \"0.5x\"\n }, {\n value: 1,\n label: \"1x\"\n }, {\n value: 2,\n label: \"2x\"\n }, {\n value: 5,\n label: \"5x\"\n }, {\n value: 10,\n label: \"10x\"\n }],\n currentSpeed: 1,\n timeStamps: {},\n defaultCheckedKeys: [],\n tData: {\n label: \"\",\n region: \"\",\n visible: false,\n x: 200,\n y: 200\n },\n fileFormat: \"metadata\",\n previousMarkerLabels: []\n };\n },\n watch: {\n format: {\n handler: function handler(value) {\n this.fileFormat = value;\n },\n immediate: true\n },\n url: {\n handler: function handler(newValue) {\n if (this.state === undefined || this.state.url === undefined) this.setURL(newValue);\n },\n immediate: true\n },\n region: {\n handler: function handler(region) {\n if (!(this.state || this.viewURL)) this.setFocusedRegion(region);\n },\n immediate: true\n },\n state: {\n handler: function handler(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true\n },\n viewURL: {\n handler: function handler(viewURL) {\n this.updateViewURL(viewURL);\n },\n immediate: true\n },\n helpMode: function helpMode(val) {\n this.setHelpMode(val);\n },\n displayMarkers: function displayMarkers(val) {\n this.$module.scene.displayMarkers = val;\n //Update pickable objects\n this.$module.scene.forcePickableObjectsUpdate = true;\n },\n displayMinimap: function displayMinimap(val) {\n this.$module.scene.displayMinimap = val;\n },\n \"sceneData.currentTime\": function sceneDataCurrentTime() {\n /**\r\n * Triggers when scene time changes.\r\n *\r\n * @property {number} time Current build-in time of scene.\r\n * of selected object.\r\n */\n this.$emit(\"timeChanged\", this.sceneData.currentTime);\n },\n duration: function duration() {\n this.$module.scene.setDuration(this.duration);\n },\n minimapSettings: {\n deep: true,\n handler: \"updateMinimapScissor\"\n },\n render: function render(val) {\n this.toggleRendering(val);\n },\n markerLabels: function markerLabels(labels) {\n var _this = this;\n console.log(\"marker labels changed\", labels);\n this.previousMarkerLabels.forEach(function (pml) {\n _this.setMarkerModeForObjectsWithName(pml, \"off\");\n });\n labels.forEach(function (l) {\n _this.setMarkerModeForObjectsWithName(l, \"on\");\n });\n this.previousMarkerLabels = labels;\n }\n },\n beforeCreate: function beforeCreate() {\n this.$module = new OrgansViewer();\n this.selectedObjects = [];\n this.hoveredObjects = [];\n this.currentBackground = \"white\";\n this._currentURL = undefined;\n this.availableBackground = [\"white\", \"black\", \"lightskyblue\"];\n this.$_searchIndex = new _scripts_search_js__WEBPACK_IMPORTED_MODULE_37__[\"SearchIndex\"]();\n },\n mounted: function mounted() {\n this.$refs.treeControls.setModule(this.$module);\n var eventNotifier = new EventNotifier();\n eventNotifier.subscribe(this, this.eventNotifierCallback);\n this.$module.addNotifier(eventNotifier);\n this.$module.addOrganPartAddedCallback(this.zincObjectAdded);\n this.$module.initialiseRenderer(this.$refs.display);\n this.toggleRendering(this.render);\n this.ro = new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer);\n this.defaultRate = this.$module.getPlayRate();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.ro) this.ro.disconnect();\n this.$module.destroy();\n this.$module = undefined;\n },\n methods: {\n addZincObject: function addZincObject(zincObject) {\n if (this.$module.scene) {\n this.$module.scene.addZincObject(zincObject);\n this.zincObjectAdded(zincObject);\n if (this.$refs.treeControls) this.$refs.treeControls.zincObjectAdded(zincObject);\n }\n },\n /**\r\n * This is called when a new zinc object is read into the scene.\r\n */\n zincObjectAdded: function zincObjectAdded(zincObject) {\n this.loading = false;\n this.$_searchIndex.addZincObject(zincObject, zincObject.uuid);\n this.$emit(\"zinc-object-added\", zincObject);\n },\n /**\r\n * \r\n */\n addRegionsToSearchIndex: function addRegionsToSearchIndex() {\n var _this2 = this;\n var rootRegion = this.$module.scene.getRootRegion();\n var regions = rootRegion.getChildRegions(true);\n regions.forEach(function (region) {\n _this2.$_searchIndex.addRegion(region, region.uuid);\n });\n },\n /**\r\n * This is called when Change backgspeedround colour button\r\n * is pressed an causes the backgrouColornd colour to be changed\r\n * to one of the three preset colour: white, black and\r\n * lightskyblue.\r\n */\n backgroundChangeCallback: function backgroundChangeCallback(colour) {\n this.currentBackground = colour;\n this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground, 1);\n },\n /**\r\n * This is called by captueeScreenshot and after the last render\r\n * loop, it download a screenshot of the current scene with no UI.\r\n */\n captureScreenshotCallback: function captureScreenshotCallback() {\n //Remove the callback, only needs to happen once\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);\n var screenshot = this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL(\"image/png\");\n var hrefElement = document.createElement(\"a\");\n document.body.append(hrefElement);\n if (!this.captureFilename) hrefElement.download = \"screenshot.png\";else hrefElement.download = this.captureFilename;\n hrefElement.href = screenshot;\n hrefElement.click();\n hrefElement.remove();\n },\n /**\r\n * Function for capturing a screenshot of the current rendering.\r\n *\r\n * @param {String} filename filename given to the screenshot.\r\n *\r\n * @public\r\n */\n captureScreenshot: function captureScreenshot(filename) {\n this.captureFilename = filename;\n this.captureID = this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback);\n },\n /**\r\n * Function to clear current scene, the tree controls and the search index.\r\n *\r\n * @public\r\n */\n clearScene: function clearScene() {\n if (this.$refs.treeControls) this.$refs.treeControls.clear();\n if (this.$_searchIndex) this.$_searchIndex.removeAll();\n if (this.$module.scene) this.$module.scene.clearAll();\n },\n formatTooltip: function formatTooltip(val) {\n if (this.timeMax >= 1000) {\n if (val) {\n var sec = (val % 60000 / 1000).toFixed(2) + \"s\";\n var min = val > 60000 ? (val / 60000).toFixed(0) + \"m \" : \"\";\n return min + sec;\n }\n }\n return val ? val.toFixed(2) + \" ms\" : \"0 ms\";\n },\n /**\r\n * Function to reset the view to default.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n fitWindow: function fitWindow() {\n if (this.$module.scene) {\n this.$module.scene.viewAll();\n }\n },\n /**\r\n * Function to zoom in.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n zoomIn: function zoomIn() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(-1);\n }\n },\n /**\r\n * Function to zoom out.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n zoomOut: function zoomOut() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(1);\n }\n },\n /**\r\n * Function to change the current play speed.\r\n *\r\n * @public\r\n */\n speedChanged: function speedChanged(speed) {\n this.currentSpeed = speed;\n this.$module.setPlayRate(this.defaultRate * this.currentSpeed);\n },\n /**\r\n * Function used to stop the free spin\r\n *\r\n * @public\r\n */\n stopFreeSpin: function stopFreeSpin() {\n var cameracontrol = this.$module.scene.getZincCameraControls();\n cameracontrol.stopAutoTumble();\n this.isTransitioning = false;\n },\n findObjectsWithGroupName: function findObjectsWithGroupName(name) {\n var objects = [];\n if (name && name != \"\" && this.$module.scene) {\n objects = this.$module.scene.findObjectsWithGroupName(name);\n }\n return objects;\n },\n /**\r\n * Focus on named region\r\n */\n viewRegion: function viewRegion(names) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = Array.isArray(names) ? names : [names];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);\n if (box) {\n if (this.$module.isSyncControl()) {\n this.$module.setSyncControlZoomToBox(box);\n } else {\n var dist = this.$module.scene.camera.far - this.$module.scene.camera.near;\n this.$module.scene.viewAllWithBoundingBox(box);\n this.$module.scene.camera.far = this.$module.scene.camera.near + dist;\n this.$module.scene.camera.updateProjectionMatrix();\n }\n return true;\n }\n return false;\n },\n setFocusedRegion: function setFocusedRegion(name) {\n if (name) {\n if (this.isReady) {\n this.viewRegion(name);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n region: name\n }));\n }\n }\n },\n updateViewURL: function updateViewURL(viewURL) {\n if (viewURL) {\n if (this.isReady) {\n var url = new URL(viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewURL: viewURL\n }));\n }\n }\n },\n getRendererInfo: function getRendererInfo() {\n if (this.$module.zincRenderer) {\n return this.$module.zincRenderer.getThreeJSRenderer().info;\n }\n return undefined;\n },\n /**\r\n * Function used to rotate the scene.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n freeSpin: function freeSpin() {\n if (this.$module.scene) {\n var cameracontrol = this.$module.scene.getZincCameraControls();\n this.isTransitioning = true;\n cameracontrol.enableAutoTumble();\n cameracontrol.autoTumble([1.0, 0.0], Math.PI, true);\n setTimeout(this.stopFreeSpin, 4000);\n }\n },\n /**\r\n * Callback when a region is selected/highlighted.\r\n * It will also update other controls.\r\n *\r\n */\n eventNotifierCallback: function eventNotifierCallback(event) {\n var names = [];\n var zincObjects = [];\n var region = undefined;\n if (event.eventType == 1 || event.eventType == 2) {\n event.identifiers.forEach(function (identifier) {\n if (identifier) {\n var id = identifier.data.id ? identifier.data.id : identifier.data.group;\n names.push(id);\n }\n });\n zincObjects = event.zincObjects;\n }\n /*\r\n * Event Type 1: Selected\r\n * Event Type 2: Highlighted\r\n * Event Type 1: Move\r\n */\n if (event.eventType == 1) {\n if (this.$refs.treeControls) {\n if (names.length > 0) {\n //this.$refs.treeControls.changeActiveByNames(names, region, false);\n this.$refs.treeControls.updateActiveUI(zincObjects);\n } else {\n this.hideRegionTooltip();\n this.$refs.treeControls.removeActive(true);\n }\n }\n // Triggers when an object has been selected\n this.$emit(\"scaffold-selected\", event.identifiers);\n } else if (event.eventType == 2) {\n if (this.selectedObjects.length === 0) {\n this.hideRegionTooltip();\n // const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n if (this.$refs.treeControls) {\n if (names.length > 0) {\n //this.$refs.treeControls.changeHoverByNames(names, region, false);\n this.$refs.treeControls.updateHoverUI(zincObjects);\n } else {\n this.$refs.treeControls.removeHover(true);\n }\n }\n if (event.identifiers.length > 0 && event.identifiers[0]) {\n var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;\n if (event.identifiers[0].coords) {\n this.tData.visible = true;\n this.tData.label = id;\n if (event.identifiers[0].data.region) this.tData.region = event.identifiers[0].data.region;else this.tData.region = undefined;\n this.tData.x = event.identifiers[0].coords.x;\n this.tData.y = event.identifiers[0].coords.y;\n }\n }\n // Triggers when an object has been highlighted\n this.$emit(\"scaffold-highlighted\", event.identifiers);\n }\n } else if (event.eventType == 3) {\n //MOVE\n if (event.identifiers.length > 0 && event.identifiers[0]) {\n if (event.identifiers[0].coords) {\n var offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n this.tData.x = event.identifiers[0].coords.x - offsets.left;\n this.tData.y = event.identifiers[0].coords.y - offsets.top;\n }\n }\n }\n },\n /**\r\n * Get the coordinates of the current selected region.\r\n *\r\n * @public\r\n */\n getCoordinatesOfSelected: function getCoordinatesOfSelected() {\n if (this.selectedObjects && this.selectedObjects.length > 0) {\n return this.$module.scene.getObjectsScreenXY(this.selectedObjects);\n }\n return undefined;\n },\n /**\r\n * Return an object containing the window coordinates of the\r\n * current selected region which will be updated after each render\r\n * loop.\r\n *\r\n * @public\r\n */\n getDynamicSelectedCoordinates: function getDynamicSelectedCoordinates() {\n return this.$module.selectedScreenCoordinates;\n },\n /**\r\n * Callback when time is changed through the UI.\r\n */\n timeChange: function timeChange(event) {\n var normalizedTime = event / this.timeMax * 100;\n if (normalizedTime != this.sceneData.currentTime) this.$module.updateTime(normalizedTime);\n },\n /**\r\n * A callback used by children components. Set the selected zinc object\r\n *\r\n * @param {object} object Zinc object\r\n */\n objectSelected: function objectSelected(objects, propagate) {\n this.selectedObjects = objects;\n if (this.selectedObjects && this.selectedObjects.length > 0) this.$refs.opacityControl.setObject(this.selectedObjects[0]);\n this.$module.setSelectedByZincObjects(objects, undefined, propagate);\n },\n /**\r\n * A callback used by children components. Set the highlighted zinc object\r\n *\r\n * @param {object} object Zinc object\r\n */\n objectHovered: function objectHovered(objects, propagate) {\n this.hoveredObjects = objects;\n this.$module.setHighlightedByZincObjects(objects, undefined, propagate);\n },\n /**\r\n * Set the selected by name.\r\n *\r\n * @param {} name Name of the group\r\n */\n changeActiveByName: function changeActiveByName(names, region, propagate) {\n var isArray = Array.isArray(names);\n if (names === undefined || isArray && names.length === 0) {\n this.$refs.treeControls.removeActive(propagate);\n } else {\n var array = names;\n if (!isArray) array = [array];\n this.$refs.treeControls.changeActiveByNames(array, region, propagate);\n }\n },\n /**\r\n * Set the highlighted by name.\r\n *\r\n * @param {name} name Name of the group\r\n */\n changeHighlightedByName: function changeHighlightedByName(names, region, propagate) {\n var isArray = Array.isArray(names);\n if (names === undefined || isArray && names.length === 0) {\n this.$refs.treeControls.removeHover(propagate);\n } else {\n var array = names;\n if (!isArray) array = [array];\n this.$refs.treeControls.changeHoverByNames(array, region, propagate);\n }\n },\n /**\r\n * Start the animation.\r\n *\r\n * @param {object} object Zinc object\r\n */\n play: function play(flag) {\n this.$module.playAnimation(flag);\n this.isPlaying = flag;\n //Hide tooltip as location may\n //this.hideRegionTooltip();\n },\n\n /**\r\n * Function to toggle on/off overlay help.\r\n */\n setHelpMode: function setHelpMode(helpMode) {\n if (helpMode) {\n this.inHelp = true;\n this.hoverVisibilities.forEach(function (item) {\n item.value = true;\n });\n } else {\n this.inHelp = false;\n this.hoverVisibilities.forEach(function (item) {\n item.value = false;\n });\n }\n },\n /**\r\n * Callback function used by showRegionTooltip in the case when the tooltip\r\n * is out of view.\r\n */\n displayTooltipOfObjectsCallback: function displayTooltipOfObjectsCallback(name, objects, regionPath, resetView, liveUpdates) {\n var instance = this;\n return function () {\n instance.$module.zincRenderer.removePostRenderCallbackFunction(instance.$_regionTooltipCallback);\n instance.$_regionTooltipCallback = undefined;\n instance.displayTooltipOfObjects(name, objects, regionPath, resetView, liveUpdates);\n };\n },\n liveUpdateTooltipPosition: function liveUpdateTooltipPosition() {\n if (this.$module.selectedCenter) {\n this.tData.x = this.$module.selectedScreenCoordinates.x;\n this.tData.y = this.$module.selectedScreenCoordinates.y;\n }\n },\n displayTooltipOfObjects: function displayTooltipOfObjects(name, objects, regionPath, resetView, liveUpdates) {\n if (objects.length > 0) {\n var coords = objects[0].getClosestVertexDOMElementCoords(this.$module.scene);\n if (coords) {\n //The coords is not in view, view all if resetView flag is true\n if (!coords.inView) {\n this.hideRegionTooltip();\n if (resetView) {\n this.$module.scene.viewAll();\n //Use the post render callback to make sure the scene has been updated\n //before getting the position of the tooltip.\n if (this.$_regionTooltipCallback) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback);\n }\n this.$_regionTooltipCallback = this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(name, objects, regionPath, resetView, liveUpdates));\n }\n } else {\n this.tData.visible = true;\n this.tData.label = name;\n this.tData.x = coords.position.x;\n this.tData.y = coords.position.y;\n this.tData.region = regionPath;\n if (this.$_liveCoordinatesUpdated) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated);\n }\n if (liveUpdates) {\n this.$module.setupLiveCoordinates(objects);\n this.$_liveCoordinatesUpdated = this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition);\n }\n }\n return true;\n }\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip used for displaying search result.\r\n * When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltipWithObjects: function showRegionTooltipWithObjects(label, zincObjects, regionPath, resetView, liveUpdates) {\n if (label && zincObjects && zincObjects.length > 0 && this.$module.scene) {\n return this.displayTooltipOfObjects(label, zincObjects, regionPath, resetView, liveUpdates);\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip. When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltip: function showRegionTooltip(name, resetView, liveUpdates) {\n if (name && this.$module.scene) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = [name];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n var regionPath = undefined;\n if (objects && objects.length > 0) {\n regionPath = objects[0].getRegion().getFullPath();\n }\n return this.showRegionTooltipWithObjects(name, objects, regionPath, resetView, liveUpdates);\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip using the list of annotations.\r\n * When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltipWithAnnotations: function showRegionTooltipWithAnnotations(annotations, resetView, liveUpdates) {\n if (this.$module.scene) {\n var result = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"getObjectsFromAnnotations\"])(this.$module.scene, annotations);\n if (result && result.objects.length > 0) {\n return this.showRegionTooltipWithObjects(result.label, result.objects, result.regionPath, resetView, liveUpdates);\n }\n }\n this.hideRegionTooltip();\n return false;\n },\n hideRegionTooltip: function hideRegionTooltip() {\n if (this.$_liveCoordinatesUpdated) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated);\n //Unset the tracking\n this.$module.setupLiveCoordinates(undefined);\n }\n this.tData.visible = false;\n this.tData.region = undefined;\n },\n /**\r\n * Set the marker modes for objects with the provided name, mode can\r\n * be \"on\", \"off\" or \"inherited\".\r\n */\n setMarkerModeForObjectsWithName: function setMarkerModeForObjectsWithName(name, mode) {\n if (name && this.$module.scene) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = [name];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n objects.forEach(function (object) {\n return object.setMarkerMode(mode);\n });\n }\n },\n /**\r\n * Set the marker modes for objects specified by the list of annotations\r\n */\n setMarkerModeWithAnnotations: function setMarkerModeWithAnnotations(annotations, mode) {\n if (this.$module.scene) {\n var result = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"getObjectsFromAnnotations\"])(this.$module.scene, annotations);\n if (result && result.objects.length > 0) {\n result.objects.forEach(function (object) {\n return object.setMarkerMode(mode);\n });\n }\n }\n },\n /**\r\n * This is called when mouse cursor enters supported elements\r\n * with help tootltips.\r\n */\n showHelpText: function showHelpText(helpTextNumber) {\n var _this3 = this;\n if (!this.inHelp) {\n this.helpTextWait = setTimeout(function () {\n _this3.hoverVisibilities[helpTextNumber].value = true;\n }, 500);\n }\n },\n /**\r\n * This is called when mouse cursor exits supported element..\r\n */\n hideHelpText: function hideHelpText(helpTextNumber) {\n if (!this.inHelp) {\n this.hoverVisibilities[helpTextNumber].value = false;\n clearTimeout(this.helpTextWait);\n }\n },\n search: function search(text, displayLabel) {\n if (this.$_searchIndex) {\n if (text === undefined || text === \"\" || Array.isArray(text) && text.length === 0) {\n this.objectSelected([], true);\n return false;\n } else {\n var result = this.$_searchIndex.searchAndProcessResult(text);\n var zincObjects = result.zincObjects;\n if (zincObjects.length > 0) {\n this.objectSelected(zincObjects, true);\n if (displayLabel) {\n for (var i = 0; i < zincObjects.length; i++) {\n if (zincObjects[i] && zincObjects[i].groupName) {\n this.showRegionTooltipWithObjects(result.label, zincObjects, result.regionPath, true, true);\n }\n }\n }\n return true;\n } else {\n this.objectSelected([], true);\n }\n }\n }\n return false;\n },\n /**\r\n * Get the list of suggested terms\r\n */\n fetchSuggestions: function fetchSuggestions(term) {\n if (this.$_searchIndex === undefined) return [];\n return this.$_searchIndex.auto_suggest(term);\n },\n /**\r\n * Called when minimap settings has changed. Pass the\r\n * parameters to ZincJS and marked it for update.\r\n */\n updateMinimapScissor: function updateMinimapScissor() {\n var _this4 = this;\n Object.keys(this.minimapSettings).forEach(function (key) {\n _this4.$module.scene.minimapScissor[key] = _this4.minimapSettings[key];\n });\n this.$module.scene.minimapScissor.updateRequired = true;\n },\n updateSettingsfromScene: function updateSettingsfromScene() {\n this.currentSpeed = 1;\n this.$module.setPlayRate(this.defaultRate);\n this.orginalDuration = this.$module.scene.getMetadataTag(\"OriginalDuration\");\n this.animateDuration = this.$module.scene.getMetadataTag(\"Duration\");\n var timeStamps = this.$module.scene.getMetadataTag(\"TimeStamps\");\n this.timeStamps = {};\n for (var key in timeStamps) {\n this.timeStamps[timeStamps[key]] = key;\n }\n this.timeMax = this.$module.scene.getDuration();\n },\n setURLFinishCallback: function setURLFinishCallback(options) {\n var _this5 = this;\n return function () {\n if (options) {\n if (options.viewport) {\n _this5.$module.scene.getZincCameraControls().setCurrentCameraSettings(options.viewport);\n } else if (options.viewURL && options.viewURL !== \"\") {\n var url = new URL(options.viewURL, _this5.url);\n _this5.$module.scene.loadViewURL(url);\n } else if (options.region && options.region !== \"\") {\n _this5.viewRegion(options.region);\n }\n if (options.visibility) {\n // Some UIs may not be ready at this time.\n _this5.$nextTick(function () {\n _this5.$refs.treeControls.setState(options.visibility);\n });\n }\n }\n _this5.updateSettingsfromScene();\n _this5.$module.updateTime(0.01);\n _this5.$module.updateTime(0);\n _this5.$module.unsetFinishDownloadCallback();\n _this5.addRegionsToSearchIndex();\n _this5.$emit(\"on-ready\");\n _this5.isReady = true;\n };\n },\n /**\r\n * Function used for getting the current states of the scene. This exported states\r\n * can be imported using the importStates method.\r\n *\r\n * @public\r\n */\n getState: function getState() {\n var state = {\n format: this.fileFormat,\n url: this._currentURL,\n viewport: undefined,\n visibility: undefined\n };\n if (this.$refs.treeControls) state.visibility = this.$refs.treeControls.getState();\n if (this.$module.scene) {\n var zincCameraControls = this.$module.scene.getZincCameraControls();\n state.viewport = zincCameraControls.getCurrentViewport();\n }\n return state;\n },\n /**\r\n * Function used for importing the states of the scene. This exported states\r\n * can be imported using the read states method.\r\n *\r\n * @public\r\n */\n setState: function setState(state) {\n if (state) {\n if (state.url && state.url !== this._currentURL) {\n this.setURLAndState(state.url, {\n fileFormat: state.fileFormat,\n viewport: state.viewport,\n visibility: state.visibility\n });\n } else {\n if (state.viewport || state.visibility) {\n if (this.isReady && this.$module.scene) {\n if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);\n if (state.visibility) this.$refs.treeControls.setState(state.visibility);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewport: state.viewport,\n visibility: state.visibility\n }));\n }\n }\n }\n }\n },\n exportGLTF: function exportGLTF(binary) {\n return this.$module.scene.exportGLTF(binary);\n },\n /**\r\n * Function used for reading in new scaffold metadata and a custom\r\n * viewport. This function will ignore the state prop and\r\n * read in the new url.\r\n *\r\n * @public\r\n */\n setURLAndState: function setURLAndState(newValue, state) {\n if (newValue != this._currentURL) {\n if (state && state.format) this.fileFormat = state.format;\n var viewport = state && state.viewport ? state.viewport : undefined;\n var visibility = state && state.visibility ? state.visibility : undefined;\n this._currentURL = newValue;\n if (this.$refs.treeControls) this.$refs.treeControls.clear();\n this.loading = true;\n this.isReady = false;\n this.$_searchIndex.removeAll();\n this.hideRegionTooltip();\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewport: viewport,\n region: this.region,\n viewURL: this.viewURL,\n visibility: visibility\n }));\n if (this.fileFormat === \"gltf\") {\n this.$module.loadGLTFFromURL(newValue, \"scene\", true);\n } else {\n this.$module.loadOrgansFromURL(newValue, undefined, undefined, \"scene\", undefined, true);\n }\n this.$module.scene.displayMarkers = this.displayMarkers;\n this.$module.scene.forcePickableObjectsUpdate = true;\n this.$module.scene.displayMinimap = this.displayMinimap;\n this.updateMinimapScissor();\n }\n },\n /**\r\n * Function used for reading in new scaffold metadata. This function will ignore\r\n * the state prop and read in the new url.\r\n *\r\n * @public\r\n */\n setURL: function setURL(newValue) {\n this.setURLAndState(newValue, undefined);\n },\n /**\r\n * Callback when drawer is toggled.\r\n */\n drawerToggled: function drawerToggled(flag) {\n this.drawerOpen = flag;\n this.adjustLayout();\n },\n /**\r\n * Callback using ResizeObserver.\r\n */\n adjustLayout: function adjustLayout() {\n var width = this.$refs.scaffoldContainer.clientWidth;\n this.minimisedSlider = width < 812;\n if (this.minimisedSlider) {\n this.sliderPosition = this.drawerOpen ? \"right\" : \"left\";\n } else {\n this.sliderPosition = \"\";\n }\n },\n toggleRendering: function toggleRendering(flag) {\n if (this.$module.zincRenderer) {\n if (flag) {\n this.$module.zincRenderer.animate();\n } else {\n this.$module.zincRenderer.stopAnimate();\n }\n }\n },\n forceResize: function forceResize() {\n if (this.$module.zincRenderer) {\n this.$module.zincRenderer.onWindowResize();\n }\n },\n syncControlCallback: function syncControlCallback() {\n var payload = this.$module.NDCCameraControl.getPanZoom();\n if (this.tData.visible) {\n this.showRegionTooltip(this.tData.label, true, true);\n }\n this.$emit(\"scaffold-navigated\", payload);\n },\n /**\r\n * Rotate mode - \"none\", \"horizontal\", \"vertical\", \"free\" but\r\n * it will be ignored if flag is set to false.\r\n */\n toggleSyncControl: function toggleSyncControl(flag, rotateMode) {\n this.$module.toggleSyncControl(flag, rotateMode);\n this.$module.setSyncControlCallback(this.syncControlCallback);\n }\n }\n});\n\n//# sourceURL=webpack://scaffoldvuer-wc/./src/components/ScaffoldVuer.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");
421
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-ui/lib/theme-chalk/tabs.css */ \"./node_modules/element-ui/lib/theme-chalk/tabs.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_tabs_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! element-ui/lib/theme-chalk/base.css */ \"./node_modules/element-ui/lib/theme-chalk/base.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_base_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! element-ui/lib/tabs */ \"./node_modules/element-ui/lib/tabs.js\");\n/* harmony import */ var element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! element-ui/lib/theme-chalk/tab-pane.css */ \"./node_modules/element-ui/lib/theme-chalk/tab-pane.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_tab_pane_css__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! element-ui/lib/tab-pane */ \"./node_modules/element-ui/lib/tab-pane.js\");\n/* harmony import */ var element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! element-ui/lib/theme-chalk/slider.css */ \"./node_modules/element-ui/lib/theme-chalk/slider.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_slider_css__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! element-ui/lib/slider */ \"./node_modules/element-ui/lib/slider.js\");\n/* harmony import */ var element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-ui/lib/theme-chalk/select.css */ \"./node_modules/element-ui/lib/theme-chalk/select.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_select_css__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! element-ui/lib/select */ \"./node_modules/element-ui/lib/select.js\");\n/* harmony import */ var element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! element-ui/lib/theme-chalk/row.css */ \"./node_modules/element-ui/lib/theme-chalk/row.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_row_css__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! element-ui/lib/row */ \"./node_modules/element-ui/lib/row.js\");\n/* harmony import */ var element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! element-ui/lib/theme-chalk/popover.css */ \"./node_modules/element-ui/lib/theme-chalk/popover.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_popover_css__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! element-ui/lib/popover */ \"./node_modules/element-ui/lib/popover.js\");\n/* harmony import */ var element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! element-ui/lib/theme-chalk/option.css */ \"./node_modules/element-ui/lib/theme-chalk/option.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_option_css__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! element-ui/lib/option */ \"./node_modules/element-ui/lib/option.js\");\n/* harmony import */ var element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! element-ui/lib/theme-chalk/loading.css */ \"./node_modules/element-ui/lib/theme-chalk/loading.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_loading_css__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! element-ui/lib/loading */ \"./node_modules/element-ui/lib/loading.js\");\n/* harmony import */ var element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! element-ui/lib/theme-chalk/col.css */ \"./node_modules/element-ui/lib/theme-chalk/col.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_col_css__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! element-ui/lib/col */ \"./node_modules/element-ui/lib/col.js\");\n/* harmony import */ var element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! element-ui/lib/theme-chalk/button.css */ \"./node_modules/element-ui/lib/theme-chalk/button.css\");\n/* harmony import */ var element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_theme_chalk_button_css__WEBPACK_IMPORTED_MODULE_19__);\n/* harmony import */ var element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! element-ui/lib/button */ \"./node_modules/element-ui/lib/button.js\");\n/* harmony import */ var element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_22__);\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ \"./node_modules/core-js/modules/es.number.to-fixed.js\");\n/* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_23__);\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ \"./node_modules/core-js/modules/es.array.iterator.js\");\n/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_24__);\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_25__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_26__);\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! core-js/modules/web.url.js */ \"./node_modules/core-js/modules/web.url.js\");\n/* harmony import */ var core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_js__WEBPACK_IMPORTED_MODULE_27__);\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! core-js/modules/web.url-search-params.js */ \"./node_modules/core-js/modules/web.url-search-params.js\");\n/* harmony import */ var core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_28__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_29__);\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/core-js/modules/es.object.keys.js\");\n/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_30__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_31__);\n/* harmony import */ var _OpacityControls__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./OpacityControls */ \"./src/components/OpacityControls.vue\");\n/* harmony import */ var _ScaffoldTooltip__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./ScaffoldTooltip */ \"./src/components/ScaffoldTooltip.vue\");\n/* harmony import */ var _TreeControls__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./TreeControls */ \"./src/components/TreeControls.vue\");\n/* harmony import */ var _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! @abi-software/svg-sprite */ \"./node_modules/@abi-software/svg-sprite/dist/svg-sprite.common.js\");\n/* harmony import */ var _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35___default = /*#__PURE__*/__webpack_require__.n(_abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__);\n/* harmony import */ var _scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../scripts/utilities.js */ \"./src/scripts/utilities.js\");\n/* harmony import */ var _scripts_search_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../scripts/search.js */ \"./src/scripts/search.js\");\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! element-ui/lib/locale/lang/en */ \"./node_modules/element-ui/lib/locale/lang/en.js\");\n/* harmony import */ var element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38__);\n/* harmony import */ var element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! element-ui/lib/locale */ \"./node_modules/element-ui/lib/locale/index.js\");\n/* harmony import */ var element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(element_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* eslint-disable no-alert, no-console */\n\n\n\n\n\n\n\n\n\nelement_ui_lib_locale__WEBPACK_IMPORTED_MODULE_39___default.a.use(element_ui_lib_locale_lang_en__WEBPACK_IMPORTED_MODULE_38___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_button__WEBPACK_IMPORTED_MODULE_20___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_col__WEBPACK_IMPORTED_MODULE_18___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_16___default.a.directive);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_option__WEBPACK_IMPORTED_MODULE_14___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_popover__WEBPACK_IMPORTED_MODULE_12___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_row__WEBPACK_IMPORTED_MODULE_10___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_select__WEBPACK_IMPORTED_MODULE_8___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_slider__WEBPACK_IMPORTED_MODULE_6___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_tab_pane__WEBPACK_IMPORTED_MODULE_4___default.a);\nvue__WEBPACK_IMPORTED_MODULE_31___default.a.use(element_ui_lib_tabs__WEBPACK_IMPORTED_MODULE_2___default.a);\nvar OrgansViewer = __webpack_require__(/*! ../scripts/organsRenderer */ \"./src/scripts/organsRenderer.js\").OrgansViewer;\nvar EventNotifier = __webpack_require__(/*! ../scripts/eventNotifier */ \"./src/scripts/eventNotifier.js\").EventNotifier;\n\n/**\r\n * A vue component of the scaffold viewer.\r\n *\r\n * @requires ./OpacityControls.vue\r\n * @requires ./TreeControls.vue\r\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"ScaffoldVuer\",\n components: {\n MapSvgIcon: _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__[\"MapSvgIcon\"],\n MapSvgSpriteColor: _abi_software_svg_sprite__WEBPACK_IMPORTED_MODULE_35__[\"MapSvgSpriteColor\"],\n OpacityControls: _OpacityControls__WEBPACK_IMPORTED_MODULE_32__[\"default\"],\n ScaffoldTooltip: _ScaffoldTooltip__WEBPACK_IMPORTED_MODULE_33__[\"default\"],\n TreeControls: _TreeControls__WEBPACK_IMPORTED_MODULE_34__[\"default\"]\n },\n props: {\n /**\r\n * URL of the zincjs metadata. This value will be ignored if a valid\r\n * state prop is also provided.\r\n * If the url needs to be updated with state present, please use\r\n * the setURL method.\r\n */\n url: {\n type: String,\n default: \"\"\n },\n /**\r\n * Show the colour control of set to true.\r\n */\n showColourPicker: {\n type: Boolean,\n default: false\n },\n /**\r\n * Flag to show/hide the UI.\r\n */\n displayUI: {\n type: Boolean,\n default: true\n },\n /**\r\n * Display all graphics at start.\r\n *\r\n * This setting only works when traditional is set to false.\r\n */\n displayAtStartUp: {\n type: Boolean,\n default: true\n },\n /**\r\n * Use for toggling the help tooltips.\r\n */\n helpMode: {\n type: Boolean,\n default: false\n },\n /**\r\n * Use for show/display beta warning icon.\r\n */\n displayWarning: {\n type: Boolean,\n default: true\n },\n /**\r\n * Warning message for the hovered over text\r\n * on the warning icon.\r\n */\n warningMessage: {\n type: String,\n default: \"Beta feature - under active development\"\n },\n displayLatestChanges: {\n type: Boolean,\n default: false\n },\n latestChangesMessage: {\n type: String,\n default: \"New feature - Local search is now available\"\n },\n /**\r\n * Show/hide pickable markers for regions.\r\n */\n displayMarkers: {\n type: Boolean,\n default: false\n },\n markerLabels: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n /**\r\n * Show/hide minimap.\r\n */\n displayMinimap: {\n type: Boolean,\n default: false\n },\n /**\r\n * Format of the input URL\r\n */\n format: {\n type: String,\n default: \"metadata\"\n },\n /**\r\n * Settings for minimap position, size and alignment.\r\n */\n minimapSettings: {\n type: Object,\n default: function _default() {\n return {\n x_offset: 16,\n y_offset: 16,\n width: 128,\n height: 128,\n align: \"top-right\"\n };\n }\n },\n /**\r\n * Flag to determine rather open map UI should be\r\n * presented or not.\r\n */\n enableOpenMapUI: {\n type: Boolean,\n default: false\n },\n openMapOptions: {\n type: Array,\n default: function _default() {\n return [{\n display: \"Open AC Map\",\n key: \"AC\"\n }, {\n display: \"Open FC Map\",\n key: \"FC\"\n }, {\n display: \"Open 3D Human Map\",\n key: \"3D\"\n }];\n }\n },\n /**\r\n * State containing state of the scaffold.\r\n */\n state: {\n type: Object,\n default: undefined\n },\n /**\r\n * Optional prop for the name of the region to focus on,\r\n * this option is ignored if state or viewURL is also provided.\r\n */\n region: {\n type: String,\n default: \"\"\n },\n /**\r\n * Optional prop for an URL of containing information of a viewport.\r\n * This option is ignored if state is also provided.\r\n * It will use the provided URL as base if a relative parth is provided.\r\n */\n viewURL: {\n type: String,\n default: \"\"\n },\n /**\r\n * Settings for turning on/off rendering\r\n */\n render: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n sceneData: this.$module.sceneData,\n isPlaying: false,\n isReady: false,\n /**\r\n * This is set when scene is transitioning.\r\n */\n isTransitioning: false,\n tooltipAppendToBody: false,\n hoverVisibilities: [{\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }, {\n value: false\n }],\n inHelp: false,\n loading: false,\n duration: 3000,\n drawerOpen: true,\n currentBackground: \"white\",\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\n minimisedSlider: false,\n sliderPosition: \"\",\n timeMax: 100,\n orginalDuration: \"\",\n animateDuration: \"6secs\",\n playSpeed: [{\n value: 0.1,\n label: \"0.1x\"\n }, {\n value: 0.5,\n label: \"0.5x\"\n }, {\n value: 1,\n label: \"1x\"\n }, {\n value: 2,\n label: \"2x\"\n }, {\n value: 5,\n label: \"5x\"\n }, {\n value: 10,\n label: \"10x\"\n }],\n currentSpeed: 1,\n timeStamps: {},\n defaultCheckedKeys: [],\n tData: {\n label: \"\",\n region: \"\",\n visible: false,\n x: 200,\n y: 200\n },\n fileFormat: \"metadata\",\n previousMarkerLabels: []\n };\n },\n watch: {\n format: {\n handler: function handler(value) {\n this.fileFormat = value;\n },\n immediate: true\n },\n url: {\n handler: function handler(newValue) {\n if (this.state === undefined || this.state.url === undefined) this.setURL(newValue);\n },\n immediate: true\n },\n region: {\n handler: function handler(region) {\n if (!(this.state || this.viewURL)) this.setFocusedRegion(region);\n },\n immediate: true\n },\n state: {\n handler: function handler(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true\n },\n viewURL: {\n handler: function handler(viewURL) {\n this.updateViewURL(viewURL);\n },\n immediate: true\n },\n helpMode: function helpMode(val) {\n this.setHelpMode(val);\n },\n displayMarkers: function displayMarkers(val) {\n this.$module.scene.displayMarkers = val;\n //Update pickable objects\n this.$module.scene.forcePickableObjectsUpdate = true;\n },\n displayMinimap: function displayMinimap(val) {\n this.$module.scene.displayMinimap = val;\n },\n \"sceneData.currentTime\": function sceneDataCurrentTime() {\n /**\r\n * Triggers when scene time changes.\r\n *\r\n * @property {number} time Current build-in time of scene.\r\n * of selected object.\r\n */\n this.$emit(\"timeChanged\", this.sceneData.currentTime);\n },\n duration: function duration() {\n this.$module.scene.setDuration(this.duration);\n },\n minimapSettings: {\n deep: true,\n handler: \"updateMinimapScissor\"\n },\n render: function render(val) {\n this.toggleRendering(val);\n },\n markerLabels: function markerLabels(labels) {\n var _this = this;\n console.log(\"marker labels changed\", labels);\n this.previousMarkerLabels.forEach(function (pml) {\n _this.setMarkerModeForObjectsWithName(pml, \"off\");\n });\n labels.forEach(function (l) {\n _this.setMarkerModeForObjectsWithName(l, \"on\");\n });\n this.previousMarkerLabels = labels;\n }\n },\n beforeCreate: function beforeCreate() {\n this.$module = new OrgansViewer();\n this.selectedObjects = [];\n this.hoveredObjects = [];\n this.currentBackground = \"white\";\n this._currentURL = undefined;\n this.availableBackground = [\"white\", \"black\", \"lightskyblue\"];\n this.$_searchIndex = new _scripts_search_js__WEBPACK_IMPORTED_MODULE_37__[\"SearchIndex\"]();\n },\n mounted: function mounted() {\n this.$refs.treeControls.setModule(this.$module);\n var eventNotifier = new EventNotifier();\n eventNotifier.subscribe(this, this.eventNotifierCallback);\n this.$module.addNotifier(eventNotifier);\n this.$module.addOrganPartAddedCallback(this.zincObjectAdded);\n this.$module.initialiseRenderer(this.$refs.display);\n this.toggleRendering(this.render);\n this.ro = new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer);\n this.defaultRate = this.$module.getPlayRate();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.ro) this.ro.disconnect();\n this.$module.destroy();\n this.$module = undefined;\n },\n methods: {\n addZincObject: function addZincObject(zincObject) {\n if (this.$module.scene) {\n this.$module.scene.addZincObject(zincObject);\n this.zincObjectAdded(zincObject);\n if (this.$refs.treeControls) this.$refs.treeControls.zincObjectAdded(zincObject);\n }\n },\n /**\r\n * This is called when a new zinc object is read into the scene.\r\n */\n zincObjectAdded: function zincObjectAdded(zincObject) {\n this.loading = false;\n this.$_searchIndex.addZincObject(zincObject, zincObject.uuid);\n this.$emit(\"zinc-object-added\", zincObject);\n },\n /**\r\n * \r\n */\n addRegionsToSearchIndex: function addRegionsToSearchIndex() {\n var _this2 = this;\n var rootRegion = this.$module.scene.getRootRegion();\n var regions = rootRegion.getChildRegions(true);\n regions.forEach(function (region) {\n _this2.$_searchIndex.addRegion(region, region.uuid);\n });\n },\n /**\r\n * This is called when Change backgspeedround colour button\r\n * is pressed an causes the backgrouColornd colour to be changed\r\n * to one of the three preset colour: white, black and\r\n * lightskyblue.\r\n */\n backgroundChangeCallback: function backgroundChangeCallback(colour) {\n this.currentBackground = colour;\n this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground, 1);\n },\n /**\r\n * This is called by captueeScreenshot and after the last render\r\n * loop, it download a screenshot of the current scene with no UI.\r\n */\n captureScreenshotCallback: function captureScreenshotCallback() {\n //Remove the callback, only needs to happen once\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);\n var screenshot = this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL(\"image/png\");\n var hrefElement = document.createElement(\"a\");\n document.body.append(hrefElement);\n if (!this.captureFilename) hrefElement.download = \"screenshot.png\";else hrefElement.download = this.captureFilename;\n hrefElement.href = screenshot;\n hrefElement.click();\n hrefElement.remove();\n },\n /**\r\n * Function for capturing a screenshot of the current rendering.\r\n *\r\n * @param {String} filename filename given to the screenshot.\r\n *\r\n * @public\r\n */\n captureScreenshot: function captureScreenshot(filename) {\n this.captureFilename = filename;\n this.captureID = this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback);\n },\n /**\r\n * Function to clear current scene, the tree controls and the search index.\r\n *\r\n * @public\r\n */\n clearScene: function clearScene() {\n if (this.$refs.treeControls) this.$refs.treeControls.clear();\n if (this.$_searchIndex) this.$_searchIndex.removeAll();\n if (this.$module.scene) this.$module.scene.clearAll();\n },\n formatTooltip: function formatTooltip(val) {\n if (this.timeMax >= 1000) {\n if (val) {\n var sec = (val % 60000 / 1000).toFixed(2) + \"s\";\n var min = val > 60000 ? (val / 60000).toFixed(0) + \"m \" : \"\";\n return min + sec;\n }\n }\n return val ? val.toFixed(2) + \" ms\" : \"0 ms\";\n },\n /**\r\n * Function to reset the view to default.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n fitWindow: function fitWindow() {\n if (this.$module.scene) {\n this.$module.scene.viewAll();\n }\n },\n /**\r\n * Function to zoom in.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n zoomIn: function zoomIn() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(-1);\n }\n },\n /**\r\n * Function to zoom out.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n zoomOut: function zoomOut() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(1);\n }\n },\n /**\r\n * Function to change the current play speed.\r\n *\r\n * @public\r\n */\n speedChanged: function speedChanged(speed) {\n this.currentSpeed = speed;\n this.$module.setPlayRate(this.defaultRate * this.currentSpeed);\n },\n /**\r\n * Function used to stop the free spin\r\n *\r\n * @public\r\n */\n stopFreeSpin: function stopFreeSpin() {\n var cameracontrol = this.$module.scene.getZincCameraControls();\n cameracontrol.stopAutoTumble();\n this.isTransitioning = false;\n },\n findObjectsWithGroupName: function findObjectsWithGroupName(name) {\n var objects = [];\n if (name && name != \"\" && this.$module.scene) {\n objects = this.$module.scene.findObjectsWithGroupName(name);\n }\n return objects;\n },\n /**\r\n * Focus on named region\r\n */\n viewRegion: function viewRegion(names) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = Array.isArray(names) ? names : [names];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n var box = this.$module.scene.getBoundingBoxOfZincObjects(objects);\n if (box) {\n if (this.$module.isSyncControl()) {\n this.$module.setSyncControlZoomToBox(box);\n } else {\n var dist = this.$module.scene.camera.far - this.$module.scene.camera.near;\n this.$module.scene.viewAllWithBoundingBox(box);\n this.$module.scene.camera.far = this.$module.scene.camera.near + dist;\n this.$module.scene.camera.updateProjectionMatrix();\n }\n return true;\n }\n return false;\n },\n setFocusedRegion: function setFocusedRegion(name) {\n if (name) {\n if (this.isReady) {\n this.viewRegion(name);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n region: name\n }));\n }\n }\n },\n updateViewURL: function updateViewURL(viewURL) {\n if (viewURL) {\n if (this.isReady) {\n var url = new URL(viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewURL: viewURL\n }));\n }\n }\n },\n getRendererInfo: function getRendererInfo() {\n if (this.$module.zincRenderer) {\n return this.$module.zincRenderer.getThreeJSRenderer().info;\n }\n return undefined;\n },\n /**\r\n * Function used to rotate the scene.\r\n * Also called when the associated button is pressed.\r\n *\r\n * @public\r\n */\n freeSpin: function freeSpin() {\n if (this.$module.scene) {\n var cameracontrol = this.$module.scene.getZincCameraControls();\n this.isTransitioning = true;\n cameracontrol.enableAutoTumble();\n cameracontrol.autoTumble([1.0, 0.0], Math.PI, true);\n setTimeout(this.stopFreeSpin, 4000);\n }\n },\n /**\r\n * Callback when a region is selected/highlighted.\r\n * It will also update other controls.\r\n *\r\n */\n eventNotifierCallback: function eventNotifierCallback(event) {\n var names = [];\n var zincObjects = [];\n var region = undefined;\n if (event.eventType == 1 || event.eventType == 2) {\n event.identifiers.forEach(function (identifier) {\n if (identifier) {\n var id = identifier.data.id ? identifier.data.id : identifier.data.group;\n names.push(id);\n }\n });\n zincObjects = event.zincObjects;\n }\n /*\r\n * Event Type 1: Selected\r\n * Event Type 2: Highlighted\r\n * Event Type 1: Move\r\n */\n if (event.eventType == 1) {\n if (this.$refs.treeControls) {\n if (names.length > 0) {\n //this.$refs.treeControls.changeActiveByNames(names, region, false);\n this.$refs.treeControls.updateActiveUI(zincObjects);\n } else {\n this.hideRegionTooltip();\n this.$refs.treeControls.removeActive(true);\n }\n }\n // Triggers when an object has been selected\n this.$emit(\"scaffold-selected\", event.identifiers);\n } else if (event.eventType == 2) {\n if (this.selectedObjects.length === 0) {\n this.hideRegionTooltip();\n // const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n if (this.$refs.treeControls) {\n if (names.length > 0) {\n //this.$refs.treeControls.changeHoverByNames(names, region, false);\n this.$refs.treeControls.updateHoverUI(zincObjects);\n } else {\n this.$refs.treeControls.removeHover(true);\n }\n }\n if (event.identifiers.length > 0 && event.identifiers[0]) {\n var id = event.identifiers[0].data.id ? event.identifiers[0].data.id : event.identifiers[0].data.group;\n if (event.identifiers[0].coords) {\n this.tData.visible = true;\n this.tData.label = id;\n if (event.identifiers[0].data.region) this.tData.region = event.identifiers[0].data.region;else this.tData.region = undefined;\n this.tData.x = event.identifiers[0].coords.x;\n this.tData.y = event.identifiers[0].coords.y;\n }\n }\n // Triggers when an object has been highlighted\n this.$emit(\"scaffold-highlighted\", event.identifiers);\n }\n } else if (event.eventType == 3) {\n //MOVE\n if (event.identifiers.length > 0 && event.identifiers[0]) {\n if (event.identifiers[0].coords) {\n var offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n this.tData.x = event.identifiers[0].coords.x - offsets.left;\n this.tData.y = event.identifiers[0].coords.y - offsets.top;\n }\n }\n }\n },\n /**\r\n * Get the coordinates of the current selected region.\r\n *\r\n * @public\r\n */\n getCoordinatesOfSelected: function getCoordinatesOfSelected() {\n if (this.selectedObjects && this.selectedObjects.length > 0) {\n return this.$module.scene.getObjectsScreenXY(this.selectedObjects);\n }\n return undefined;\n },\n /**\r\n * Return an object containing the window coordinates of the\r\n * current selected region which will be updated after each render\r\n * loop.\r\n *\r\n * @public\r\n */\n getDynamicSelectedCoordinates: function getDynamicSelectedCoordinates() {\n return this.$module.selectedScreenCoordinates;\n },\n /**\r\n * Callback when time is changed through the UI.\r\n */\n timeChange: function timeChange(event) {\n var normalizedTime = event / this.timeMax * 100;\n if (normalizedTime != this.sceneData.currentTime) this.$module.updateTime(normalizedTime);\n },\n /**\r\n * A callback used by children components. Set the selected zinc object\r\n *\r\n * @param {object} object Zinc object\r\n */\n objectSelected: function objectSelected(objects, propagate) {\n this.selectedObjects = objects;\n if (this.selectedObjects && this.selectedObjects.length > 0) this.$refs.opacityControl.setObject(this.selectedObjects[0]);\n this.$module.setSelectedByZincObjects(objects, undefined, propagate);\n },\n /**\r\n * A callback used by children components. Set the highlighted zinc object\r\n *\r\n * @param {object} object Zinc object\r\n */\n objectHovered: function objectHovered(objects, propagate) {\n this.hoveredObjects = objects;\n this.$module.setHighlightedByZincObjects(objects, undefined, propagate);\n },\n /**\r\n * Set the selected by name.\r\n *\r\n * @param {} name Name of the group\r\n */\n changeActiveByName: function changeActiveByName(names, region, propagate) {\n var isArray = Array.isArray(names);\n if (names === undefined || isArray && names.length === 0) {\n this.$refs.treeControls.removeActive(propagate);\n } else {\n var array = names;\n if (!isArray) array = [array];\n this.$refs.treeControls.changeActiveByNames(array, region, propagate);\n }\n },\n /**\r\n * Set the highlighted by name.\r\n *\r\n * @param {name} name Name of the group\r\n */\n changeHighlightedByName: function changeHighlightedByName(names, region, propagate) {\n var isArray = Array.isArray(names);\n if (names === undefined || isArray && names.length === 0) {\n this.$refs.treeControls.removeHover(propagate);\n } else {\n var array = names;\n if (!isArray) array = [array];\n this.$refs.treeControls.changeHoverByNames(array, region, propagate);\n }\n },\n /**\r\n * Start the animation.\r\n *\r\n * @param {object} object Zinc object\r\n */\n play: function play(flag) {\n this.$module.playAnimation(flag);\n this.isPlaying = flag;\n //Hide tooltip as location may\n //this.hideRegionTooltip();\n },\n\n /**\r\n * Function to toggle on/off overlay help.\r\n */\n setHelpMode: function setHelpMode(helpMode) {\n if (helpMode) {\n this.inHelp = true;\n this.hoverVisibilities.forEach(function (item) {\n item.value = true;\n });\n } else {\n this.inHelp = false;\n this.hoverVisibilities.forEach(function (item) {\n item.value = false;\n });\n }\n },\n /**\r\n * Callback function used by showRegionTooltip in the case when the tooltip\r\n * is out of view.\r\n */\n displayTooltipOfObjectsCallback: function displayTooltipOfObjectsCallback(name, objects, regionPath, resetView, liveUpdates) {\n var instance = this;\n return function () {\n instance.$module.zincRenderer.removePostRenderCallbackFunction(instance.$_regionTooltipCallback);\n instance.$_regionTooltipCallback = undefined;\n instance.displayTooltipOfObjects(name, objects, regionPath, resetView, liveUpdates);\n };\n },\n liveUpdateTooltipPosition: function liveUpdateTooltipPosition() {\n if (this.$module.selectedCenter) {\n this.tData.x = this.$module.selectedScreenCoordinates.x;\n this.tData.y = this.$module.selectedScreenCoordinates.y;\n }\n },\n displayTooltipOfObjects: function displayTooltipOfObjects(name, objects, regionPath, resetView, liveUpdates) {\n if (objects.length > 0) {\n var coords = objects[0].getClosestVertexDOMElementCoords(this.$module.scene);\n if (coords) {\n //The coords is not in view, view all if resetView flag is true\n if (!coords.inView) {\n this.hideRegionTooltip();\n if (resetView) {\n this.$module.scene.viewAll();\n //Use the post render callback to make sure the scene has been updated\n //before getting the position of the tooltip.\n if (this.$_regionTooltipCallback) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback);\n }\n this.$_regionTooltipCallback = this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(name, objects, regionPath, resetView, liveUpdates));\n }\n } else {\n this.tData.visible = true;\n this.tData.label = name;\n this.tData.x = coords.position.x;\n this.tData.y = coords.position.y;\n this.tData.region = regionPath;\n if (this.$_liveCoordinatesUpdated) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated);\n }\n if (liveUpdates) {\n this.$module.setupLiveCoordinates(objects);\n this.$_liveCoordinatesUpdated = this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition);\n }\n }\n return true;\n }\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip used for displaying search result.\r\n * When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltipWithObjects: function showRegionTooltipWithObjects(label, zincObjects, regionPath, resetView, liveUpdates) {\n if (label && zincObjects && zincObjects.length > 0 && this.$module.scene) {\n return this.displayTooltipOfObjects(label, zincObjects, regionPath, resetView, liveUpdates);\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip. When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltip: function showRegionTooltip(name, resetView, liveUpdates) {\n if (name && this.$module.scene) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = [name];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n var regionPath = undefined;\n if (objects && objects.length > 0) {\n regionPath = objects[0].getRegion().getFullPath();\n }\n return this.showRegionTooltipWithObjects(name, objects, regionPath, resetView, liveUpdates);\n }\n this.hideRegionTooltip();\n return false;\n },\n /**\r\n * Display the tooltip using the list of annotations.\r\n * When resetView is set to true, it will\r\n * reset view if the tooltip is not in view.\r\n * Setting liveUpdates to true will update the tooltip location\r\n * at every rendering loop.\r\n */\n showRegionTooltipWithAnnotations: function showRegionTooltipWithAnnotations(annotations, resetView, liveUpdates) {\n if (this.$module.scene) {\n var result = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"getObjectsFromAnnotations\"])(this.$module.scene, annotations);\n if (result && result.objects.length > 0) {\n return this.showRegionTooltipWithObjects(result.label, result.objects, result.regionPath, resetView, liveUpdates);\n }\n }\n this.hideRegionTooltip();\n return false;\n },\n hideRegionTooltip: function hideRegionTooltip() {\n if (this.$_liveCoordinatesUpdated) {\n this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated);\n //Unset the tracking\n this.$module.setupLiveCoordinates(undefined);\n }\n this.tData.visible = false;\n this.tData.region = undefined;\n },\n /**\r\n * Set the marker modes for objects with the provided name, mode can\r\n * be \"on\", \"off\" or \"inherited\".\r\n */\n setMarkerModeForObjectsWithName: function setMarkerModeForObjectsWithName(name, mode) {\n if (name && this.$module.scene) {\n var rootRegion = this.$module.scene.getRootRegion();\n var groups = [name];\n var objects = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"findObjectsWithNames\"])(rootRegion, groups, \"\", true);\n objects.forEach(function (object) {\n return object.setMarkerMode(mode);\n });\n }\n },\n /**\r\n * Set the marker modes for objects specified by the list of annotations\r\n */\n setMarkerModeWithAnnotations: function setMarkerModeWithAnnotations(annotations, mode) {\n if (this.$module.scene) {\n var result = Object(_scripts_utilities_js__WEBPACK_IMPORTED_MODULE_36__[\"getObjectsFromAnnotations\"])(this.$module.scene, annotations);\n if (result && result.objects.length > 0) {\n result.objects.forEach(function (object) {\n return object.setMarkerMode(mode);\n });\n }\n }\n },\n /**\r\n * This is called when mouse cursor enters supported elements\r\n * with help tootltips.\r\n */\n showHelpText: function showHelpText(helpTextNumber) {\n var _this3 = this;\n if (!this.inHelp) {\n this.helpTextWait = setTimeout(function () {\n _this3.hoverVisibilities[helpTextNumber].value = true;\n }, 500);\n }\n },\n /**\r\n * This is called when mouse cursor exits supported element..\r\n */\n hideHelpText: function hideHelpText(helpTextNumber) {\n if (!this.inHelp) {\n this.hoverVisibilities[helpTextNumber].value = false;\n clearTimeout(this.helpTextWait);\n }\n },\n search: function search(text, displayLabel) {\n if (this.$_searchIndex) {\n if (text === undefined || text === \"\" || Array.isArray(text) && text.length === 0) {\n this.objectSelected([], true);\n return false;\n } else {\n var result = this.$_searchIndex.searchAndProcessResult(text);\n var zincObjects = result.zincObjects;\n if (zincObjects.length > 0) {\n this.objectSelected(zincObjects, true);\n if (displayLabel) {\n for (var i = 0; i < zincObjects.length; i++) {\n if (zincObjects[i] && zincObjects[i].groupName) {\n this.showRegionTooltipWithObjects(result.label, zincObjects, result.regionPath, true, true);\n }\n }\n }\n return true;\n } else {\n this.objectSelected([], true);\n }\n }\n }\n return false;\n },\n /**\r\n * Get the list of suggested terms\r\n */\n fetchSuggestions: function fetchSuggestions(term) {\n if (this.$_searchIndex === undefined) return [];\n return this.$_searchIndex.auto_suggest(term);\n },\n /**\r\n * Called when minimap settings has changed. Pass the\r\n * parameters to ZincJS and marked it for update.\r\n */\n updateMinimapScissor: function updateMinimapScissor() {\n var _this4 = this;\n Object.keys(this.minimapSettings).forEach(function (key) {\n _this4.$module.scene.minimapScissor[key] = _this4.minimapSettings[key];\n });\n this.$module.scene.minimapScissor.updateRequired = true;\n },\n updateSettingsfromScene: function updateSettingsfromScene() {\n this.currentSpeed = 1;\n this.$module.setPlayRate(this.defaultRate);\n this.orginalDuration = this.$module.scene.getMetadataTag(\"OriginalDuration\");\n this.animateDuration = this.$module.scene.getMetadataTag(\"Duration\");\n var timeStamps = this.$module.scene.getMetadataTag(\"TimeStamps\");\n this.timeStamps = {};\n for (var key in timeStamps) {\n this.timeStamps[timeStamps[key]] = key;\n }\n this.timeMax = this.$module.scene.getDuration();\n },\n setURLFinishCallback: function setURLFinishCallback(options) {\n var _this5 = this;\n return function () {\n if (options) {\n if (options.viewport) {\n _this5.$module.scene.getZincCameraControls().setCurrentCameraSettings(options.viewport);\n } else if (options.viewURL && options.viewURL !== \"\") {\n var url = new URL(options.viewURL, _this5.url);\n _this5.$module.scene.loadViewURL(url);\n } else if (options.region && options.region !== \"\") {\n _this5.viewRegion(options.region);\n }\n if (options.visibility) {\n // Some UIs may not be ready at this time.\n _this5.$nextTick(function () {\n _this5.$refs.treeControls.setState(options.visibility);\n });\n }\n }\n _this5.updateSettingsfromScene();\n _this5.$module.updateTime(0.01);\n _this5.$module.updateTime(0);\n _this5.$module.unsetFinishDownloadCallback();\n _this5.addRegionsToSearchIndex();\n _this5.$emit(\"on-ready\");\n _this5.setMarkers();\n _this5.isReady = true;\n };\n },\n /**\r\n * Function used for getting the current states of the scene. This exported states\r\n * can be imported using the importStates method.\r\n *\r\n * @public\r\n */\n getState: function getState() {\n var state = {\n format: this.fileFormat,\n url: this._currentURL,\n viewport: undefined,\n visibility: undefined\n };\n if (this.$refs.treeControls) state.visibility = this.$refs.treeControls.getState();\n if (this.$module.scene) {\n var zincCameraControls = this.$module.scene.getZincCameraControls();\n state.viewport = zincCameraControls.getCurrentViewport();\n }\n return state;\n },\n /**\r\n * Function used for importing the states of the scene. This exported states\r\n * can be imported using the read states method.\r\n *\r\n * @public\r\n */\n setState: function setState(state) {\n if (state) {\n if (state.url && state.url !== this._currentURL) {\n this.setURLAndState(state.url, {\n fileFormat: state.fileFormat,\n viewport: state.viewport,\n visibility: state.visibility\n });\n } else {\n if (state.viewport || state.visibility) {\n if (this.isReady && this.$module.scene) {\n if (state.viewport) this.$module.scene.getZincCameraControls().setCurrentCameraSettings(state.viewport);\n if (state.visibility) this.$refs.treeControls.setState(state.visibility);\n } else {\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewport: state.viewport,\n visibility: state.visibility\n }));\n }\n }\n }\n }\n },\n exportGLTF: function exportGLTF(binary) {\n return this.$module.scene.exportGLTF(binary);\n },\n /**\r\n * Function used for reading in new scaffold metadata and a custom\r\n * viewport. This function will ignore the state prop and\r\n * read in the new url.\r\n *\r\n * @public\r\n */\n setURLAndState: function setURLAndState(newValue, state) {\n if (newValue != this._currentURL) {\n if (state && state.format) this.fileFormat = state.format;\n var viewport = state && state.viewport ? state.viewport : undefined;\n var visibility = state && state.visibility ? state.visibility : undefined;\n this._currentURL = newValue;\n if (this.$refs.treeControls) this.$refs.treeControls.clear();\n this.loading = true;\n this.isReady = false;\n this.$_searchIndex.removeAll();\n this.hideRegionTooltip();\n this.$module.setFinishDownloadCallback(this.setURLFinishCallback({\n viewport: viewport,\n region: this.region,\n viewURL: this.viewURL,\n visibility: visibility\n }));\n if (this.fileFormat === \"gltf\") {\n this.$module.loadGLTFFromURL(newValue, \"scene\", true);\n } else {\n this.$module.loadOrgansFromURL(newValue, undefined, undefined, \"scene\", undefined, true);\n }\n this.$module.scene.displayMarkers = this.displayMarkers;\n this.$module.scene.forcePickableObjectsUpdate = true;\n this.$module.scene.displayMinimap = this.displayMinimap;\n this.updateMinimapScissor();\n }\n },\n /**\r\n * Function used for reading in new scaffold metadata. This function will ignore\r\n * the state prop and read in the new url.\r\n *\r\n * @public\r\n */\n setURL: function setURL(newValue) {\n this.setURLAndState(newValue, undefined);\n },\n /**\r\n * Callback when drawer is toggled.\r\n */\n drawerToggled: function drawerToggled(flag) {\n this.drawerOpen = flag;\n this.adjustLayout();\n },\n /**\r\n * Callback using ResizeObserver.\r\n */\n adjustLayout: function adjustLayout() {\n var width = this.$refs.scaffoldContainer.clientWidth;\n this.minimisedSlider = width < 812;\n if (this.minimisedSlider) {\n this.sliderPosition = this.drawerOpen ? \"right\" : \"left\";\n } else {\n this.sliderPosition = \"\";\n }\n },\n toggleRendering: function toggleRendering(flag) {\n if (this.$module.zincRenderer) {\n if (flag) {\n this.$module.zincRenderer.animate();\n } else {\n this.$module.zincRenderer.stopAnimate();\n }\n }\n },\n forceResize: function forceResize() {\n if (this.$module.zincRenderer) {\n this.$module.zincRenderer.onWindowResize();\n }\n },\n syncControlCallback: function syncControlCallback() {\n var payload = this.$module.NDCCameraControl.getPanZoom();\n if (this.tData.visible) {\n this.showRegionTooltip(this.tData.label, true, true);\n }\n this.$emit(\"scaffold-navigated\", payload);\n },\n /**\r\n * Rotate mode - \"none\", \"horizontal\", \"vertical\", \"free\" but\r\n * it will be ignored if flag is set to false.\r\n */\n toggleSyncControl: function toggleSyncControl(flag, rotateMode) {\n this.$module.toggleSyncControl(flag, rotateMode);\n this.$module.setSyncControlCallback(this.syncControlCallback);\n },\n /**\r\n * Set the markers for the scene.\r\n */\n setMarkers: function setMarkers() {\n var _this6 = this;\n this.markerLabels.forEach(function (l) {\n _this6.setMarkerModeForObjectsWithName(l, \"on\");\n });\n }\n }\n});\n\n//# sourceURL=webpack://scaffoldvuer-wc/./src/components/ScaffoldVuer.vue?./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options");
422
422
 
423
423
  /***/ }),
424
424
 
@@ -2034,17 +2034,6 @@ module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.ex
2034
2034
 
2035
2035
  module.exports = require("core-js/modules/es.array.push.js");
2036
2036
 
2037
- /***/ }),
2038
-
2039
- /***/ "2615":
2040
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
2041
-
2042
- "use strict";
2043
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_04d71683_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("eff6");
2044
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_04d71683_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_04d71683_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
2045
- /* unused harmony reexport * */
2046
-
2047
-
2048
2037
  /***/ }),
2049
2038
 
2050
2039
  /***/ "299c":
@@ -2477,6 +2466,13 @@ module.exports = __webpack_require__("8bbf");
2477
2466
 
2478
2467
  /***/ }),
2479
2468
 
2469
+ /***/ "2a5b":
2470
+ /***/ (function(module, exports, __webpack_require__) {
2471
+
2472
+ // extracted by mini-css-extract-plugin
2473
+
2474
+ /***/ }),
2475
+
2480
2476
  /***/ "2a5e":
2481
2477
  /***/ (function(module, exports, __webpack_require__) {
2482
2478
 
@@ -2964,6 +2960,13 @@ var removeResizeListener = exports.removeResizeListener = function removeResizeL
2964
2960
 
2965
2961
  /***/ }),
2966
2962
 
2963
+ /***/ "4136":
2964
+ /***/ (function(module, exports, __webpack_require__) {
2965
+
2966
+ // extracted by mini-css-extract-plugin
2967
+
2968
+ /***/ }),
2969
+
2967
2970
  /***/ "417f":
2968
2971
  /***/ (function(module, exports, __webpack_require__) {
2969
2972
 
@@ -8146,6 +8149,17 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
8146
8149
 
8147
8150
  module.exports = require("core-js/modules/es.string.replace.js");
8148
8151
 
8152
+ /***/ }),
8153
+
8154
+ /***/ "6514":
8155
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8156
+
8157
+ "use strict";
8158
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_718c348c_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4136");
8159
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_718c348c_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_718c348c_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
8160
+ /* unused harmony reexport * */
8161
+
8162
+
8149
8163
  /***/ }),
8150
8164
 
8151
8165
  /***/ "6611":
@@ -18252,17 +18266,6 @@ function isKorean(text) {
18252
18266
  return reg.test(text);
18253
18267
  }
18254
18268
 
18255
- /***/ }),
18256
-
18257
- /***/ "d3b9":
18258
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
18259
-
18260
- "use strict";
18261
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_04d71683_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("dccf");
18262
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_04d71683_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_1_id_04d71683_prod_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
18263
- /* unused harmony reexport * */
18264
-
18265
-
18266
18269
  /***/ }),
18267
18270
 
18268
18271
  /***/ "d4df":
@@ -18304,13 +18307,6 @@ module.exports = require("core-js/modules/es.error.cause.js");
18304
18307
 
18305
18308
  /***/ }),
18306
18309
 
18307
- /***/ "dccf":
18308
- /***/ (function(module, exports, __webpack_require__) {
18309
-
18310
- // extracted by mini-css-extract-plugin
18311
-
18312
- /***/ }),
18313
-
18314
18310
  /***/ "dcdc":
18315
18311
  /***/ (function(module, exports, __webpack_require__) {
18316
18312
 
@@ -20812,6 +20808,17 @@ module.exports = require("core-js/modules/es.array.slice.js");
20812
20808
 
20813
20809
  module.exports = require("core-js/modules/es.object.keys.js");
20814
20810
 
20811
+ /***/ }),
20812
+
20813
+ /***/ "ee47":
20814
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
20815
+
20816
+ "use strict";
20817
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_718c348c_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2a5b");
20818
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_718c348c_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ScaffoldVuer_vue_vue_type_style_index_0_id_718c348c_prod_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
20819
+ /* unused harmony reexport * */
20820
+
20821
+
20815
20822
  /***/ }),
20816
20823
 
20817
20824
  /***/ "eedf":
@@ -21176,13 +21183,6 @@ src_button.install = function (Vue) {
21176
21183
 
21177
21184
  /***/ }),
21178
21185
 
21179
- /***/ "eff6":
21180
- /***/ (function(module, exports, __webpack_require__) {
21181
-
21182
- // extracted by mini-css-extract-plugin
21183
-
21184
- /***/ }),
21185
-
21186
21186
  /***/ "f0d9":
21187
21187
  /***/ (function(module, exports, __webpack_require__) {
21188
21188
 
@@ -22381,7 +22381,7 @@ if (typeof window !== 'undefined') {
22381
22381
  // Indicate to webpack that this file can be concatenated
22382
22382
  /* harmony default export */ var setPublicPath = (null);
22383
22383
 
22384
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"04e65820-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=04d71683&scoped=true&
22384
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"04e65820-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/ScaffoldVuer.vue?vue&type=template&id=718c348c&scoped=true&
22385
22385
  var render = function render() {
22386
22386
  var _vm = this,
22387
22387
  _c = _vm._self._c;
@@ -22866,7 +22866,7 @@ var render = function render() {
22866
22866
  };
22867
22867
  var staticRenderFns = [];
22868
22868
 
22869
- // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=04d71683&scoped=true&
22869
+ // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=template&id=718c348c&scoped=true&
22870
22870
 
22871
22871
  // EXTERNAL MODULE: ./node_modules/element-ui/lib/theme-chalk/tabs.css
22872
22872
  var tabs = __webpack_require__("075a");
@@ -25673,6 +25673,7 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
25673
25673
  _this5.$module.unsetFinishDownloadCallback();
25674
25674
  _this5.addRegionsToSearchIndex();
25675
25675
  _this5.$emit("on-ready");
25676
+ _this5.setMarkers();
25676
25677
  _this5.isReady = true;
25677
25678
  };
25678
25679
  },
@@ -25819,16 +25820,25 @@ var EventNotifier = __webpack_require__("9b21").EventNotifier;
25819
25820
  toggleSyncControl: function toggleSyncControl(flag, rotateMode) {
25820
25821
  this.$module.toggleSyncControl(flag, rotateMode);
25821
25822
  this.$module.setSyncControlCallback(this.syncControlCallback);
25823
+ },
25824
+ /**
25825
+ * Set the markers for the scene.
25826
+ */
25827
+ setMarkers: function setMarkers() {
25828
+ var _this6 = this;
25829
+ this.markerLabels.forEach(function (l) {
25830
+ _this6.setMarkerModeForObjectsWithName(l, "on");
25831
+ });
25822
25832
  }
25823
25833
  }
25824
25834
  });
25825
25835
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue?vue&type=script&lang=js&
25826
25836
  /* harmony default export */ var components_ScaffoldVuervue_type_script_lang_js_ = (ScaffoldVuervue_type_script_lang_js_);
25827
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=04d71683&prod&scoped=true&lang=scss&
25828
- var ScaffoldVuervue_type_style_index_0_id_04d71683_prod_scoped_true_lang_scss_ = __webpack_require__("2615");
25837
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=0&id=718c348c&prod&scoped=true&lang=scss&
25838
+ var ScaffoldVuervue_type_style_index_0_id_718c348c_prod_scoped_true_lang_scss_ = __webpack_require__("ee47");
25829
25839
 
25830
- // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&id=04d71683&prod&lang=scss&
25831
- var ScaffoldVuervue_type_style_index_1_id_04d71683_prod_lang_scss_ = __webpack_require__("d3b9");
25840
+ // EXTERNAL MODULE: ./src/components/ScaffoldVuer.vue?vue&type=style&index=1&id=718c348c&prod&lang=scss&
25841
+ var ScaffoldVuervue_type_style_index_1_id_718c348c_prod_lang_scss_ = __webpack_require__("6514");
25832
25842
 
25833
25843
  // CONCATENATED MODULE: ./src/components/ScaffoldVuer.vue
25834
25844
 
@@ -25846,7 +25856,7 @@ var ScaffoldVuer_component = normalizeComponent(
25846
25856
  staticRenderFns,
25847
25857
  false,
25848
25858
  null,
25849
- "04d71683",
25859
+ "718c348c",
25850
25860
  null
25851
25861
 
25852
25862
  )