@abi-software/flatmapvuer 0.2.4-dynamic-1 → 0.2.4
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.
- package/LICENSE +201 -201
- package/README.md +105 -105
- package/babel.config.js +14 -14
- package/dist/flatmapvuer.common.js +133 -112
- package/dist/flatmapvuer.common.js.map +1 -1
- package/dist/flatmapvuer.css +1 -1
- package/dist/flatmapvuer.umd.js +133 -112
- package/dist/flatmapvuer.umd.js.map +1 -1
- package/dist/flatmapvuer.umd.min.js +1 -1
- package/dist/flatmapvuer.umd.min.js.map +1 -1
- package/package-lock.json +13897 -13890
- package/package.json +66 -66
- package/public/index.html +17 -17
- package/src/App.vue +159 -150
- package/src/assets/_variables.scss +43 -43
- package/src/assets/styles.scss +7 -7
- package/src/components/FlatmapVuer.vue +1282 -1264
- package/src/components/MultiFlatmapVuer.vue +340 -336
- package/src/components/PubmedViewer.vue +180 -180
- package/src/components/Tooltip.vue +267 -267
- package/src/components/index.js +9 -9
- package/src/icons/fonts/mapicon-species.eot +0 -0
- package/src/icons/fonts/mapicon-species.svg +14 -14
- package/src/icons/fonts/mapicon-species.ttf +0 -0
- package/src/icons/fonts/mapicon-species.woff +0 -0
- package/src/icons/mapicon-species-style.css +42 -42
- package/src/main.js +8 -8
- package/vue.config.js +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://flatmapvuer/webpack/universalModuleDefinition","webpack://flatmapvuer/webpack/bootstrap","webpack://flatmapvuer/external \"element-ui/lib/checkbox-group\"","webpack://flatmapvuer/external \"core-js/modules/es.string.split.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/checkbox-group.css\"","webpack://flatmapvuer/external \"element-ui/lib/select\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/select.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/radio-group.css\"","webpack://flatmapvuer/external \"core-js/modules/web.dom-collections.for-each.js\"","webpack://flatmapvuer/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack://flatmapvuer/external \"element-ui/lib/container\"","webpack://flatmapvuer/external \"core-js/modules/es.string.search.js\"","webpack://flatmapvuer/external \"element-ui/lib/main\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/link.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/button.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/radio.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/loading.css\"","webpack://flatmapvuer/external \"element-ui/lib/header\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.iterator.js\"","webpack://flatmapvuer/external \"core-js/modules/es.regexp.to-string.js\"","webpack://flatmapvuer/./src/components/PubmedViewer.vue?d298","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/carousel.css\"","webpack://flatmapvuer/external \"@abi-software/svg-sprite\"","webpack://flatmapvuer/external \"core-js/modules/es.array.from.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.map.js\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.description.js\"","webpack://flatmapvuer/external \"@abi-software/flatmap-viewer\"","webpack://flatmapvuer/external \"core-js/modules/es.array.iterator.js\"","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?34a3","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/header.css\"","webpack://flatmapvuer/external \"element-ui/lib/radio\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/checkbox.css\"","webpack://flatmapvuer/external \"element-ui/lib/button\"","webpack://flatmapvuer/external \"core-js/modules/es.string.replace.js\"","webpack://flatmapvuer/external \"element-ui/lib/locale/lang/en\"","webpack://flatmapvuer/external \"element-ui/lib/row\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/col.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/main.css\"","webpack://flatmapvuer/external \"element-ui/lib/link\"","webpack://flatmapvuer/external \"element-ui/lib/locale\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/option.css\"","webpack://flatmapvuer/external \"core-js/modules/es.set.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.includes.js\"","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?f438","webpack://flatmapvuer/external \"vue\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/icon.css\"","webpack://flatmapvuer/external \"element-ui/lib/popover\"","webpack://flatmapvuer/external \"core-js/modules/es.object.to-string.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/base.css\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.js\"","webpack://flatmapvuer/external \"@soda/get-current-script\"","webpack://flatmapvuer/external \"core-js/modules/es.string.iterator.js\"","webpack://flatmapvuer/external \"element-ui/lib/carousel\"","webpack://flatmapvuer/external \"element-ui/lib/col\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/popover.css\"","webpack://flatmapvuer/external \"element-ui/lib/loading\"","webpack://flatmapvuer/external \"css-element-queries/src/ResizeSensor\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/container.css\"","webpack://flatmapvuer/external \"element-ui/lib/icon\"","webpack://flatmapvuer/external \"element-ui/lib/checkbox\"","webpack://flatmapvuer/external \"core-js/modules/web.url.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/carousel-item.css\"","webpack://flatmapvuer/external \"element-ui/lib/option\"","webpack://flatmapvuer/external \"element-ui/lib/carousel-item\"","webpack://flatmapvuer/./src/components/Tooltip.vue?d570","webpack://flatmapvuer/external \"core-js/modules/es.regexp.exec.js\"","webpack://flatmapvuer/external \"core-js/modules/es.function.name.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.slice.js\"","webpack://flatmapvuer/external \"core-js/modules/es.object.keys.js\"","webpack://flatmapvuer/external \"core-js/modules/es.promise.js\"","webpack://flatmapvuer/external \"core-js/modules/es.number.constructor.js\"","webpack://flatmapvuer/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?5711","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://flatmapvuer/./src/components/Tooltip.vue?e9e4","webpack://flatmapvuer/./src/components/PubmedViewer.vue?16b9","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://flatmapvuer/src/components/PubmedViewer.vue","webpack://flatmapvuer/./src/components/PubmedViewer.vue?8f41","webpack://flatmapvuer/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://flatmapvuer/./src/components/PubmedViewer.vue","webpack://flatmapvuer/src/components/Tooltip.vue","webpack://flatmapvuer/./src/components/Tooltip.vue?0f87","webpack://flatmapvuer/./src/components/Tooltip.vue","webpack://flatmapvuer/./src/icons/flatmap-marker.js","webpack://flatmapvuer/src/components/FlatmapVuer.vue","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?f442","webpack://flatmapvuer/./src/components/FlatmapVuer.vue","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?6e01","webpack://flatmapvuer/src/components/MultiFlatmapVuer.vue","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?6257","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue","webpack://flatmapvuer/external \"core-js/modules/es.string.includes.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/row.css\"","webpack://flatmapvuer/external \"element-ui/lib/radio-group\""],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","window","currentScript","document","getCurrentScript","src","match","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","staticStyle","ref","warningMessage","model","hoverVisibilities","callback","$$v","$set","_e","arg","on","$event","showToolitip","hideToolitip","_v","nativeOn","zoomIn","slot","zoomOut","resetView","class","open","drawerOpen","close","pathways","length","pathControls","domProps","_s","flatmapMarker","isIndeterminate","handleCheckAllChange","checkAll","handleCheckedItemsChange","checkedItems","_l","item","type","visibilityToggle","label","toggleDrawer","setColour","colourRadio","setOutlines","outlinesRadio","currentBackground","backgroundChangeCallback","tooltipContent","flatmapAPI","resourceSelected","staticRenderFns","_arrayLikeToArray","arr","len","arr2","Array","_unsupportedIterableToArray","minLen","arrayLikeToArray","toString","slice","constructor","from","test","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","unsupportedIterableToArray","F","done","e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","content","titleCase","title","featureId","pubmedSearchUrlUpdate","components","start","distribution","action","openUrl","pubmedSearchUrl","loading","pub","html","url","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","props","String","default","watch","console","log","val","flatmapQuery","computed","data","pubmeds","pubmedIds","mounted","methods","stripPMIDPrefix","pubmedId","split","titleFromPubmed","Promise","fetch","resolve","apa","format","error","splitLink","response","endpoint","method","headers","body","JSON","stringify","values","forEach","params","append","ids","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","str","replace","visible","Boolean","undefined","activeSpecies","appendToBody","$emit","onClose","map","resize","MapSvgIcon","MapSvgSpriteColor","Tooltip","mapManager","mapImp","colour","setBackgroundColour","flag","outlineRadio","resetMap","pathTypes","showPaths","checkedCount","eventCallback","dataset","feature","taxonomy","resource","userData","args","eventType","checkAndCreatePopups","showPopup","popUpCssHack","ftooltip","style","display","querySelector","$refs","tooltip","$el","onclick","createTooltipFromNeuronCuration","actions","tooltipVisible","includes","foundAnnotations","uberon","nervePath","myOptions","className","node","showMarkerPopup","setHelpMode","helpMode","inHelp","openFlatmapHelpPopup","closeFlatmapHelpPopup","tooltipWait","setTimeout","tooltipNumber","clearTimeout","heartId","elm","anchor","getLabels","Set","labels","getState","entry","viewport","state","setState","createFlatmap","_viewportToBeSet","displayMinimap","minimap","promise1","then","returnedObject","searchAndShowResult","term","clearSearchResults","searchResults","__featureIds","featureInfo","minZoom","Number","searchable","tooltips","renderAtMounted","displayWarning","availableBackground","handler","immediate","deep","flatmap","MapManager","flatmapChanged","iconClass","refInFor","showLayer","taxo","FlatmapSelected","FlatmapReady","FlatmapVuer","initialise","keys","describes","getCoordinatesOfLastClick","getCurrentFlatmap","species","initial","availableSpecies","speciesList"],"mappings":"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","file":"flatmapvuer.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"flatmapvuer\"] = factory();\n\telse\n\t\troot[\"flatmapvuer\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = require(\"element-ui/lib/checkbox-group\");","module.exports = require(\"core-js/modules/es.string.split.js\");","module.exports = require(\"element-ui/lib/theme-chalk/checkbox-group.css\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"element-ui/lib/theme-chalk/select.css\");","module.exports = require(\"element-ui/lib/theme-chalk/radio-group.css\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","module.exports = require(\"element-ui/lib/container\");","module.exports = require(\"core-js/modules/es.string.search.js\");","module.exports = require(\"element-ui/lib/main\");","module.exports = require(\"element-ui/lib/theme-chalk/link.css\");","module.exports = require(\"element-ui/lib/theme-chalk/button.css\");","module.exports = require(\"element-ui/lib/theme-chalk/radio.css\");","module.exports = require(\"element-ui/lib/theme-chalk/loading.css\");","module.exports = require(\"element-ui/lib/header\");","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=style&index=0&id=06d0e387&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/carousel.css\");","module.exports = require(\"@abi-software/svg-sprite\");","module.exports = require(\"core-js/modules/es.array.from.js\");","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"core-js/modules/es.symbol.description.js\");","module.exports = require(\"@abi-software/flatmap-viewer\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=style&index=0&id=f7035e5c&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/header.css\");","module.exports = require(\"element-ui/lib/radio\");","module.exports = require(\"element-ui/lib/theme-chalk/checkbox.css\");","module.exports = require(\"element-ui/lib/button\");","module.exports = require(\"core-js/modules/es.string.replace.js\");","module.exports = require(\"element-ui/lib/locale/lang/en\");","module.exports = require(\"element-ui/lib/row\");","module.exports = require(\"element-ui/lib/theme-chalk/col.css\");","module.exports = require(\"element-ui/lib/theme-chalk/main.css\");","module.exports = require(\"element-ui/lib/link\");","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"element-ui/lib/theme-chalk/option.css\");","module.exports = require(\"core-js/modules/es.set.js\");","module.exports = require(\"core-js/modules/es.array.includes.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=style&index=0&id=45aec25f&scoped=true&lang=scss&\"","module.exports = require(\"vue\");","module.exports = require(\"element-ui/lib/theme-chalk/icon.css\");","module.exports = require(\"element-ui/lib/popover\");","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"element-ui/lib/theme-chalk/base.css\");","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@soda/get-current-script\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"element-ui/lib/carousel\");","module.exports = require(\"element-ui/lib/col\");","module.exports = require(\"element-ui/lib/theme-chalk/popover.css\");","module.exports = require(\"element-ui/lib/loading\");","module.exports = require(\"css-element-queries/src/ResizeSensor\");","module.exports = require(\"element-ui/lib/theme-chalk/container.css\");","module.exports = require(\"element-ui/lib/icon\");","module.exports = require(\"element-ui/lib/checkbox\");","module.exports = require(\"core-js/modules/web.url.js\");","module.exports = require(\"element-ui/lib/theme-chalk/carousel-item.css\");","module.exports = require(\"element-ui/lib/option\");","module.exports = require(\"element-ui/lib/carousel-item\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=style&index=0&id=4802b201&scoped=true&lang=scss&\"","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"core-js/modules/es.object.keys.js\");","module.exports = require(\"core-js/modules/es.promise.js\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"flatmap-container\",attrs:{\"element-loading-text\":\"Loading...\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.3)\"}},[_c('map-svg-sprite-color'),_c('div',{staticStyle:{\"height\":\"100%\",\"width\":\"100%\",\"position\":\"relative\",\"overflow-y\":\"none\"}},[_c('div',{ref:\"display\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}}),(_vm.displayWarning)?_c('el-popover',{ref:\"warningPopover\",attrs:{\"content\":_vm.warningMessage,\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"warning-popper flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[6], \"value\", $$v)},expression:\"hoverVisibilities[6].value\"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:warningPopover\",arg:\"warningPopover\"}],staticClass:\"el-icon-warning warning-icon\",on:{\"mouseover\":function($event){return _vm.showToolitip(6)},\"mouseout\":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:\"warning-text\"},[_vm._v(\"Beta\")])]):_vm._e(),_c('div',{staticClass:\"bottom-right-control\"},[_c('el-popover',{attrs:{\"content\":\"Zoom in\",\"placement\":\"left\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper left-popper\"},model:{value:(_vm.hoverVisibilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[0], \"value\", $$v)},expression:\"hoverVisibilities[0].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomIn\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomIn\"},nativeOn:{\"click\":function($event){return _vm.zoomIn()},\"mouseover\":function($event){return _vm.showToolitip(0)},\"mouseout\":function($event){return _vm.hideToolitip(0)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Zoom out\",\"placement\":\"top-end\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper popper-zoomout\"},model:{value:(_vm.hoverVisibilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[1], \"value\", $$v)},expression:\"hoverVisibilities[1].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomOut\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomOut\"},nativeOn:{\"click\":function($event){return _vm.zoomOut()},\"mouseover\":function($event){return _vm.showToolitip(1)},\"mouseout\":function($event){return _vm.hideToolitip(1)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Reset\",\"placement\":\"top\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper\"},model:{value:(_vm.hoverVisibilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[2], \"value\", $$v)},expression:\"hoverVisibilities[2].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button resetView\",attrs:{\"slot\":\"reference\",\"icon\":\"resetZoom\"},nativeOn:{\"click\":function($event){return _vm.resetView()},\"mouseover\":function($event){return _vm.showToolitip(2)},\"mouseout\":function($event){return _vm.hideToolitip(2)}},slot:\"reference\"})],1)],1),_c('el-popover',{ref:\"checkBoxPopover\",attrs:{\"content\":\"Change pathway visibility\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[4], \"value\", $$v)},expression:\"hoverVisibilities[4].value\"}}),_c('div',{staticClass:\"pathway-location\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[(_vm.pathways.length > 0 && _vm.pathControls)?_c('div',{directives:[{name:\"popover\",rawName:\"v-popover:checkBoxPopover\",arg:\"checkBoxPopover\"}],staticClass:\"pathway-container\"},[_c('el-popover',{ref:\"markerPopover\",attrs:{\"content\":\"Find these markers for data\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper popper-bump-right right-popper\"},model:{value:(_vm.hoverVisibilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[5], \"value\", $$v)},expression:\"hoverVisibilities[5].value\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hoverVisibilities[5].value),expression:\"hoverVisibilities[5].value\"},{name:\"popover\",rawName:\"v-popover:markerPopover\",arg:\"markerPopover\"}],staticClass:\"flatmap-marker-help\",domProps:{\"innerHTML\":_vm._s(_vm.flatmapMarker)}}),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"pathways-display-text\"},[_vm._v(\"Pathways\")])]),_c('el-col',{attrs:{\"span\":12}},[_c('el-checkbox',{staticClass:\"all-checkbox\",attrs:{\"indeterminate\":_vm.isIndeterminate},on:{\"change\":_vm.handleCheckAllChange},model:{value:(_vm.checkAll),callback:function ($$v) {_vm.checkAll=$$v},expression:\"checkAll\"}},[_vm._v(\"Display all\")])],1)],1),_c('el-checkbox-group',{staticClass:\"checkbox-group\",attrs:{\"size\":\"small\"},on:{\"change\":_vm.handleCheckedItemsChange},model:{value:(_vm.checkedItems),callback:function ($$v) {_vm.checkedItems=$$v},expression:\"checkedItems\"}},[_c('div',{staticClass:\"checkbox-group-inner\"},_vm._l((_vm.pathways),function(item){return _c('el-row',{key:item.type,attrs:{\"label\":item.type}},[_c('div',{staticClass:\"checkbox-container\"},[_c('el-checkbox',{staticClass:\"my-checkbox\",attrs:{\"label\":item.type,\"checked\":true},on:{\"change\":function($event){return _vm.visibilityToggle()}}},[_c('div',{staticClass:\"path-visual\",class:item.type}),_vm._v(\" \"+_vm._s(item.label)+\" \")])],1)])}),1)])],1):_vm._e(),_c('div',{staticClass:\"drawer-button\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})])]),_c('el-popover',{ref:\"backgroundPopover\",attrs:{\"placement\":\"top-start\",\"width\":\"175\",\"appendToBody\":false,\"trigger\":\"click\",\"popper-class\":\"background-popper\"}},[_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Organs display\")]),_c('el-row',{staticClass:\"backgroundControl\"},[_c('el-radio-group',{staticClass:\"flatmap-radio\",on:{\"change\":_vm.setColour},model:{value:(_vm.colourRadio),callback:function ($$v) {_vm.colourRadio=$$v},expression:\"colourRadio\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"Colour\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"Greyscale\")])],1)],1),_c('el-row',{staticClass:\"backgroundSpacer\"}),_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Outlines display\")]),_c('el-row',{staticClass:\"backgroundControl\"},[_c('el-radio-group',{staticClass:\"flatmap-radio\",on:{\"change\":_vm.setOutlines},model:{value:(_vm.outlinesRadio),callback:function ($$v) {_vm.outlinesRadio=$$v},expression:\"outlinesRadio\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"Show\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"Hide\")])],1)],1),_c('el-row',{staticClass:\"backgroundSpacer\"}),_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Change background\")]),_c('el-row',{staticClass:\"backgroundControl\"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{\"click\":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{\"content\":\"Change background color\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[3], \"value\", $$v)},expression:\"hoverVisibilities[3].value\"}},[_c('map-svg-icon',{directives:[{name:\"popover\",rawName:\"v-popover:backgroundPopover\",arg:\"backgroundPopover\"}],staticClass:\"icon-button background-colour\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{\"slot\":\"reference\",\"icon\":\"changeBckgd\"},nativeOn:{\"mouseover\":function($event){return _vm.showToolitip(3)},\"mouseout\":function($event){return _vm.hideToolitip(3)}},slot:\"reference\"})],1),_c('Tooltip',{ref:\"tooltip\",staticClass:\"tooltip\",attrs:{\"content\":_vm.tooltipContent,\"flatmapAPI\":_vm.flatmapAPI},on:{\"resource-selected\":_vm.resourceSelected}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tooltip-container\"},[(_vm.content)?_c('el-main',{staticClass:\"main\"},[(_vm.content.title)?_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.titleCase(_vm.content.title)))])]):_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.content.featureId))])]),(_vm.content.featureId)?_c('pubmed-viewer',{staticClass:\"block\",attrs:{\"flatmapAPI\":_vm.flatmapAPI,\"featureId\":_vm.content.featureId},on:{\"pubmedSearchUrl\":_vm.pubmedSearchUrlUpdate}}):_vm._e(),(_vm.content.components)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Components\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.components))])]):_vm._e(),(_vm.content.start)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Origin\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.start))])]):_vm._e(),(_vm.content.distribution)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Distribution\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.distribution))])]):_vm._e(),_vm._l((_vm.content.actions),function(action){return _c('el-button',{key:action.title,staticClass:\"button\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.resourceSelected(action)}}},[(action.title === 'Search for dataset' || action.title === 'View Dataset' )?_c('i',{staticClass:\"el-icon-coin\"}):_vm._e(),_vm._v(\" \"+_vm._s(action.title)+\" \")])}),(_vm.pubmedSearchUrl)?_c('el-button',{staticClass:\"button\",attrs:{\"icon\":\"el-icon-notebook-2\"},on:{\"click\":function($event){return _vm.openUrl(_vm.pubmedSearchUrl)}}},[_vm._v(\" Open publications in pubmed \")]):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pubmed-container\"},[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading.response),expression:\"loading.response\"}],staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Pubmed Resources\")]),_c('br'),_c('el-carousel',{attrs:{\"autoplay\":false,\"indicator-position\":\"outside\",\"height\":\"250px\",\"width\":\"200px\"}},_vm._l((_vm.pubmeds),function(pub,i){return _c('el-carousel-item',{key:i},[_c('div',{staticClass:\"attribute-content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(pub.html)}}),_c('el-link',{staticClass:\"el-link\",attrs:{\"href\":pub.url,\"underline\":false,\"target\":\"_blank\"}},[_vm._v(_vm._s(pub.url))])],1)])}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","<template>\r\n <div class=\"pubmed-container\">\r\n <div v-loading=\"loading.response\" class=\"block\">\r\n <div class=\"attribute-title\">Pubmed Resources</div>\r\n <br/>\r\n <el-carousel \r\n :autoplay=\"false\" \r\n indicator-position=\"outside\"\r\n height=\"250px\" width=\"200px\"\r\n >\r\n <el-carousel-item v-for=\"(pub, i) in pubmeds\" :key=\"i\">\r\n <div class=\"attribute-content\">\r\n <div v-html=\"pub.html\"/>\r\n <el-link :href=\"pub.url\" :underline=\"false\" class=\"el-link\" target=\"_blank\">{{pub.url}}</el-link>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n/* eslint-disable no-alert, no-console */\r\nimport Vue from \"vue\";\r\nimport {\r\n Link,\r\n Carousel,\r\n CarouselItem\r\n} from \"element-ui\";\r\nimport lang from \"element-ui/lib/locale/lang/en\";\r\nimport locale from \"element-ui/lib/locale\";\r\nlocale.use(lang);\r\nVue.use(Link);\r\nVue.use(Carousel);\r\nVue.use(CarouselItem);\r\n\r\n\r\nexport default {\r\n name: \"Tooltip\",\r\n props: { \r\n featureId: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * Specify the endpoint of the flatmap server.\r\n */\r\n flatmapAPI: {\r\n type: String,\r\n default: \"https://mapcore-demo.org/flatmaps/\"\r\n }\r\n },\r\n watch: {\r\n 'featureId': function (val){\r\n console.log('feature id watch triggered', val)\r\n this.flatmapQuery(val)\r\n }\r\n },\r\n computed: {\r\n },\r\n data: function() {\r\n return {\r\n pubmeds: [],\r\n pubmedIds: [],\r\n loading: {response: true, publications: true}\r\n };\r\n },\r\n mounted: function() {\r\n this.flatmapQuery(this.featureId)\r\n },\r\n methods: {\r\n stripPMIDPrefix: function (pubmedId){\r\n return pubmedId.split(':')[1]\r\n },\r\n titleFromPubmed: function (pubmedId){\r\n return new Promise((resolve) => {\r\n fetch(`https://api.ncbi.nlm.nih.gov/lit/ctxp/v1/pubmed/?format=citation&contenttype=json&id=${pubmedId}`)\r\n .then(response => response.json())\r\n .then(data => {\r\n resolve(data.apa.format)\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n })\r\n },\r\n splitLink(bibliographyString){\r\n let split = bibliographyString.split('https')\r\n return [split[0], 'https' + split[1]]\r\n },\r\n flatmapQuery: function(identifier){\r\n this.pubmeds = []\r\n this.loading.response = true\r\n let endpoint = this.flatmapAPI + 'knowledge/query/';\r\n const data = { sql: 'select publication from publications where entity=?', \"params\": [identifier]};\r\n fetch(endpoint, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n this.responseData = data\r\n this.loading.response = false\r\n data.values.forEach(identifier => {\r\n let ids = this.stripPMIDPrefix(identifier[0])\r\n this.titleFromPubmed(ids).then( bib=>{\r\n let [html, link] = this.splitLink(bib)\r\n this.pubmeds.push({identifier: identifier[0] , html: html, url: link})\r\n \r\n })\r\n });\r\n this.$emit('pubmedSearchUrl', this.pubmedSearchUrl(data.values.map(id=>this.stripPMIDPrefix(id[0]))))\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n },\r\n pubmedSearchUrl: function(ids) {\r\n let url = 'https://pubmed.ncbi.nlm.nih.gov/?'\r\n let params = new URLSearchParams()\r\n params.append('term', ids)\r\n return url + params.toString()\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import \"~element-ui/packages/theme-chalk/src/link\";\r\n@import \"~element-ui/packages/theme-chalk/src/carousel\";\r\n@import \"~element-ui/packages/theme-chalk/src/carousel-item\";\r\n\r\n.attribute-title{\r\n font-size: 16px;\r\n font-weight: 600;\r\n /* font-weight: bold; */\r\n text-transform: uppercase;\r\n}\r\n\r\n.attribute-content{\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n\r\n.el-link {\r\n color: $app-primary-color;\r\n text-decoration: none;\r\n word-wrap: break-word;\r\n &:hover, &:focus{\r\n color: $app-primary-color;\r\n text-decoration: underline;\r\n }\r\n}\r\n\r\n::v-deep .el-carousel__button {\r\n background-color: $app-primary-color; \r\n}\r\n\r\n.button {\r\n margin-left: 0px !important;\r\n margin-top: 0px !important;\r\n font-size: 14px !important;\r\n background-color: $app-primary-color;\r\n color: #fff;\r\n &:hover{\r\n color: #fff !important;\r\n background: #ac76c5 !important;\r\n border: 1px solid #ac76c5 !important;\r\n }\r\n &+.button {\r\n margin-top: 10px !important;\r\n background-color: $app-primary-color;\r\n color: #fff; \r\n }\r\n}\r\n\r\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./PubmedViewer.vue?vue&type=template&id=06d0e387&scoped=true&\"\nimport script from \"./PubmedViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./PubmedViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PubmedViewer.vue?vue&type=style&index=0&id=06d0e387&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06d0e387\",\n null\n \n)\n\nexport default component.exports","<template>\r\n <div class=\"tooltip-container\">\r\n <el-main v-if=\"content\" class=\"main\">\r\n <div class=\"block\" v-if=\"content.title\">\r\n <span class=\"title\">{{titleCase(content.title)}}</span>\r\n </div>\r\n <div class=\"block\" v-else>\r\n <span class=\"title\">{{content.featureId}}</span>\r\n </div>\r\n \r\n\r\n <pubmed-viewer v-if=\"content.featureId\" class=\"block\" :flatmapAPI=flatmapAPI :featureId=\"content.featureId\" @pubmedSearchUrl=\"pubmedSearchUrlUpdate\"/>\r\n <div v-if=\"content.components\" class=\"block\">\r\n <div class=\"attribute-title\">Components</div>\r\n <span class=\"attribute-content\">{{content.components}}</span>\r\n </div>\r\n <div v-if=\"content.start\" class=\"block\">\r\n <div class=\"attribute-title\">Origin</div>\r\n <span class=\"attribute-content\">{{content.start}}</span>\r\n </div>\r\n <div v-if=\"content.distribution\" class=\"block\">\r\n <div class=\"attribute-title\">Distribution</div>\r\n <span class=\"attribute-content\">{{content.distribution}}</span>\r\n </div>\r\n <el-button v-for=\"action in content.actions\" round :key=\"action.title\"\r\n class=\"button\" @click=\"resourceSelected(action)\">\r\n <i v-if=\"action.title === 'Search for dataset' || action.title === 'View Dataset' \" class=\"el-icon-coin\"></i>\r\n {{action.title}}\r\n </el-button>\r\n <el-button v-if=\"pubmedSearchUrl\" class=\"button\" icon=\"el-icon-notebook-2\" @click=\"openUrl(pubmedSearchUrl)\">\r\n Open publications in pubmed\r\n </el-button>\r\n </el-main>\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n/* eslint-disable no-alert, no-console */\r\nimport Vue from \"vue\";\r\nimport {\r\n Button,\r\n Container,\r\n Header,\r\n Icon,\r\n Main\r\n} from \"element-ui\";\r\nimport lang from \"element-ui/lib/locale/lang/en\";\r\nimport locale from \"element-ui/lib/locale\";\r\nlocale.use(lang);\r\nVue.use(Button);\r\nVue.use(Container);\r\nVue.use(Header);\r\nVue.use(Icon);\r\nVue.use(Main);\r\n\r\nimport PubmedViewer from './PubmedViewer.vue'\r\n\r\nconst titleCase = (str) => {\r\n return str.replace(/\\w\\S*/g, (t) => { return t.charAt(0).toUpperCase() + t.substr(1).toLowerCase() });\r\n}\r\n\r\nexport default {\r\n components: { PubmedViewer },\r\n name: \"Tooltip\",\r\n props: { \r\n visible: {\r\n type: Boolean,\r\n default: false\r\n },\r\n content: {\r\n type: Object,\r\n default: undefined\r\n },\r\n /**\r\n * Specify the endpoint of the flatmap server.\r\n */\r\n flatmapAPI: {\r\n type: String,\r\n default: \"https://mapcore-demo.org/flatmaps/\"\r\n }\r\n },\r\n data: function() {\r\n return {\r\n activeSpecies: undefined,\r\n appendToBody: false,\r\n pubmedSearchUrl: ''\r\n };\r\n },\r\n methods: {\r\n resourceSelected: function(action) {\r\n this.$emit(\"resource-selected\", action); \r\n },\r\n titleCase: function(title){\r\n return titleCase(title)\r\n },\r\n onClose: function() {\r\n this.$emit(\"onClose\");\r\n },\r\n openUrl: function(url){\r\n window.open(url, '_blank')\r\n },\r\n pubmedSearchUrlUpdate: function (val){\r\n this.pubmedSearchUrl = val\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import \"~element-ui/packages/theme-chalk/src/button\";\r\n@import \"~element-ui/packages/theme-chalk/src/container\";\r\n@import \"~element-ui/packages/theme-chalk/src/header\";\r\n@import \"~element-ui/packages/theme-chalk/src/main\";\r\n\r\n.tooltip-container {\r\n text-align:justify;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 2px rgba(0,0,0,.1);\r\n pointer-events: auto;\r\n background: #fff;\r\n border: 1px solid $app-primary-color;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.display {\r\n width: 44px;\r\n word-break: normal;\r\n}\r\n\r\n.title {\r\n text-align: left;\r\n width: 16em;\r\n line-height: 1.5em !important;\r\n font-size: 1em;\r\n font-family: Helvetica;\r\n font-weight: 500;\r\n /* font-weight: bold; */\r\n padding-bottom: 8px;\r\n}\r\n\r\n.block {\r\n margin-bottom: 1.5em;\r\n}\r\n\r\n.pub {\r\n width: 16rem;\r\n}\r\n\r\n.icon {\r\n right: 0px;\r\n position: absolute;\r\n top: 10px;\r\n}\r\n\r\n.icon:hover {\r\n cursor: pointer;\r\n}\r\n\r\n.main {\r\n font-size: 14px;\r\n text-align: left;\r\n line-height: 1.5em;\r\n font-family: Helvetica;\r\n font-weight: 400;\r\n /* outline: thin red solid; */\r\n padding: 1em !important;\r\n overflow: hidden;\r\n min-width: 16rem;\r\n}\r\n\r\n.attribute-title{\r\n font-size: 16px;\r\n font-weight: 600;\r\n /* font-weight: bold; */\r\n text-transform: uppercase;\r\n}\r\n\r\n.attribute-content{\r\n font-size: 14px;\r\n font-weight: 400;\r\n}\r\n\r\n.popover-container {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.main {\r\n .el-button.is-round{\r\n border-radius: 4px;\r\n padding: 9px 20px 10px 20px;\r\n display: flex;\r\n height: 36px;\r\n }\r\n}\r\n\r\n.button {\r\n margin-left: 0px !important;\r\n margin-top: 0px !important;\r\n font-size: 14px !important;\r\n background-color: $app-primary-color;\r\n color: #fff;\r\n &+.button {\r\n margin-top: 10px !important;\r\n }\r\n &:hover {\r\n color: #fff !important;\r\n background: #ac76c5 !important;\r\n border: 1px solid #ac76c5 !important;\r\n }\r\n}\r\n\r\n.tooltip-container{\r\n &::after, &::before {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n flex-shrink: 0;\r\n }\r\n}\r\n\r\n.mapboxgl-popup-anchor-bottom {\r\n .tooltip-container {\r\n &::after, &::before {\r\n top: 100%;\r\n border-width: 12px;\r\n }\r\n &::after {\r\n margin-top:-1px;\r\n border-color: rgb(255, 255, 255) transparent transparent transparent ;\r\n }\r\n &::before {\r\n margin: 0 auto;\r\n border-color: $app-primary-color transparent transparent transparent ;\r\n }\r\n }\r\n}\r\n\r\n.mapboxgl-popup-anchor-top {\r\n .tooltip-container {\r\n &::after, &::before {\r\n top: -24px;\r\n border-width: 12px;\r\n }\r\n &::after {\r\n margin-top: 1px;\r\n border-color: transparent transparent rgb(255, 255, 255) transparent ;\r\n }\r\n &::before {\r\n margin: 0 auto;\r\n border-color: transparent transparent $app-primary-color transparent ;\r\n }\r\n }\r\n}\r\n\r\n\r\n/* Fix for chrome bug where under triangle pops up above one on top of it */\r\n.selector:not(*:root), .tooltip-container::after{\r\n top: 99.4%;\r\n}\r\n</style>\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tooltip.vue?vue&type=template&id=4802b201&scoped=true&\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tooltip.vue?vue&type=style&index=0&id=4802b201&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4802b201\",\n null\n \n)\n\nexport default component.exports","export default '<div class=\"flatmap-marker\"><svg display=\"block\" height=\"41px\" width=\"27px\" viewBox=\"0 0 27 41\"><g fill-rule=\"nonzero\"><g transform=\"translate(3.0, 29.0)\" fill=\"#000000\"><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"10.5\" ry=\"5.25002273\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"10.5\" ry=\"5.25002273\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"9.5\" ry=\"4.77275007\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"8.5\" ry=\"4.29549936\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"7.5\" ry=\"3.81822308\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"6.5\" ry=\"3.34094679\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"5.5\" ry=\"2.86367051\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"4.5\" ry=\"2.38636864\"></ellipse></g><g fill=\"#005974\"><path d=\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"></path></g><g opacity=\"0.25\" fill=\"#000000\"><path d=\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"></path></g><g transform=\"translate(6.0, 7.0)\" fill=\"#FFFFFF\"></g><g transform=\"translate(8.0, 8.0)\"><circle fill=\"#000000\" opacity=\"0.25\" cx=\"5.5\" cy=\"5.5\" r=\"5.4999962\"></circle><circle fill=\"#FFFFFF\" cx=\"5.5\" cy=\"5.5\" r=\"5.4999962\"></circle></g></g></svg></div>'","<template>\r\n <div\r\n class=\"flatmap-container\"\r\n v-loading=\"loading\"\r\n element-loading-text=\"Loading...\"\r\n element-loading-spinner=\"el-icon-loading\"\r\n element-loading-background=\"rgba(0, 0, 0, 0.3)\"\r\n >\r\n <map-svg-sprite-color />\r\n <div style=\"height:100%;width:100%;position:relative;overflow-y:none\">\r\n <div style=\"height:100%;width:100%;\" ref=\"display\"></div>\r\n <el-popover\r\n :content=\"warningMessage\"\r\n placement=\"right\"\r\n v-if=\"displayWarning\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"warning-popper flatmap-popper right-popper\"\r\n v-model=\"hoverVisibilities[6].value\"\r\n ref=\"warningPopover\"\r\n ></el-popover>\r\n <i\r\n class=\"el-icon-warning warning-icon\"\r\n v-if=\"displayWarning\"\r\n @mouseover=\"showToolitip(6)\"\r\n @mouseout=\"hideToolitip(6)\"\r\n v-popover:warningPopover\r\n >\r\n <span class=\"warning-text\">Beta</span>\r\n </i>\r\n <div class=\"bottom-right-control\">\r\n <el-popover\r\n content=\"Zoom in\"\r\n placement=\"left\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper left-popper\"\r\n v-model=\"hoverVisibilities[0].value\"\r\n >\r\n <map-svg-icon\r\n icon=\"zoomIn\"\r\n class=\"icon-button zoomIn\"\r\n slot=\"reference\"\r\n @click.native=\"zoomIn()\"\r\n @mouseover.native=\"showToolitip(0)\"\r\n @mouseout.native=\"hideToolitip(0)\"\r\n />\r\n </el-popover>\r\n <el-popover\r\n content=\"Zoom out\"\r\n placement=\"top-end\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper popper-zoomout\"\r\n v-model=\"hoverVisibilities[1].value\"\r\n >\r\n <map-svg-icon\r\n icon=\"zoomOut\"\r\n class=\"icon-button zoomOut\"\r\n slot=\"reference\"\r\n @click.native=\"zoomOut()\"\r\n @mouseover.native=\"showToolitip(1)\"\r\n @mouseout.native=\"hideToolitip(1)\"\r\n />\r\n </el-popover>\r\n <el-popover\r\n content=\"Reset\"\r\n placement=\"top\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper\"\r\n v-model=\"hoverVisibilities[2].value\"\r\n >\r\n <map-svg-icon\r\n icon=\"resetZoom\"\r\n class=\"icon-button resetView\"\r\n slot=\"reference\"\r\n @click.native=\"resetView()\"\r\n @mouseover.native=\"showToolitip(2)\"\r\n @mouseout.native=\"hideToolitip(2)\"\r\n />\r\n </el-popover>\r\n </div>\r\n <el-popover\r\n content=\"Change pathway visibility\"\r\n placement=\"right\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper right-popper\"\r\n v-model=\"hoverVisibilities[4].value\"\r\n ref=\"checkBoxPopover\"\r\n />\r\n <div class=\"pathway-location\" :class=\"{ open: drawerOpen, close: !drawerOpen }\">\r\n <div\r\n class=\"pathway-container\"\r\n v-if=\"pathways.length > 0 && pathControls\"\r\n v-popover:checkBoxPopover\r\n >\r\n <el-popover\r\n content=\"Find these markers for data\"\r\n placement=\"right\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper popper-bump-right right-popper\"\r\n v-model=\"hoverVisibilities[5].value\"\r\n ref=\"markerPopover\"\r\n ></el-popover>\r\n <div\r\n v-show=\"hoverVisibilities[5].value\"\r\n class=\"flatmap-marker-help\"\r\n v-html=\"flatmapMarker\"\r\n v-popover:markerPopover\r\n ></div>\r\n <el-row>\r\n <el-col :span=\"12\">\r\n <div class=\"pathways-display-text\">Pathways</div>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-checkbox\r\n class=\"all-checkbox\"\r\n :indeterminate=\"isIndeterminate\"\r\n v-model=\"checkAll\"\r\n @change=\"handleCheckAllChange\"\r\n >Display all</el-checkbox>\r\n </el-col>\r\n </el-row>\r\n <el-checkbox-group\r\n v-model=\"checkedItems\"\r\n size=\"small\"\r\n class=\"checkbox-group\"\r\n @change=\"handleCheckedItemsChange\"\r\n >\r\n <div class=\"checkbox-group-inner\">\r\n <el-row v-for=\"item in pathways\" :key=\"item.type\" :label=\"item.type\">\r\n <div class=\"checkbox-container\">\r\n <el-checkbox\r\n class=\"my-checkbox\"\r\n :label=\"item.type\"\r\n @change=\"visibilityToggle()\"\r\n :checked=\"true\"\r\n >\r\n <div class=\"path-visual\" :class=\"item.type\"></div>\r\n {{item.label}}\r\n </el-checkbox>\r\n </div>\r\n </el-row>\r\n </div>\r\n </el-checkbox-group>\r\n </div>\r\n <div\r\n @click=\"toggleDrawer\"\r\n class=\"drawer-button\"\r\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\r\n >\r\n <i class=\"el-icon-arrow-left\"></i>\r\n </div>\r\n </div>\r\n <el-popover\r\n ref=\"backgroundPopover\"\r\n placement=\"top-start\"\r\n width=\"175\"\r\n :appendToBody=\"false\"\r\n trigger=\"click\"\r\n popper-class=\"background-popper\"\r\n >\r\n <el-row class=\"backgroundText\">Organs display</el-row>\r\n <el-row class=\"backgroundControl\">\r\n <el-radio-group v-model=\"colourRadio\" class=\"flatmap-radio\" @change=\"setColour\">\r\n <el-radio :label=\"true\">Colour</el-radio>\r\n <el-radio :label=\"false\">Greyscale</el-radio>\r\n </el-radio-group>\r\n </el-row>\r\n <el-row class=\"backgroundSpacer\"></el-row>\r\n <el-row class=\"backgroundText\">Outlines display</el-row>\r\n <el-row class=\"backgroundControl\">\r\n <el-radio-group v-model=\"outlinesRadio\" class=\"flatmap-radio\" @change=\"setOutlines\">\r\n <el-radio :label=\"true\">Show</el-radio>\r\n <el-radio :label=\"false\">Hide</el-radio>\r\n </el-radio-group>\r\n </el-row>\r\n <el-row class=\"backgroundSpacer\"></el-row>\r\n <el-row class=\"backgroundText\">Change background</el-row>\r\n <el-row class=\"backgroundControl\">\r\n <div\r\n v-for=\"item in availableBackground\"\r\n :key=\"item\"\r\n :class=\"['backgroundChoice', item, item == currentBackground ? 'active' :'']\"\r\n @click=\"backgroundChangeCallback(item)\"\r\n />\r\n </el-row>\r\n </el-popover>\r\n <el-popover\r\n content=\"Change background color\"\r\n placement=\"right\"\r\n v-model=\"hoverVisibilities[3].value\"\r\n :appendToBody=\"false\"\r\n trigger=\"manual\"\r\n popper-class=\"flatmap-popper right-popper\"\r\n >\r\n <map-svg-icon\r\n v-popover:backgroundPopover\r\n icon=\"changeBckgd\"\r\n class=\"icon-button background-colour\"\r\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\r\n slot=\"reference\"\r\n @mouseover.native=\"showToolitip(3)\"\r\n @mouseout.native=\"hideToolitip(3)\"\r\n />\r\n </el-popover>\r\n <Tooltip\r\n ref=\"tooltip\"\r\n class=\"tooltip\"\r\n :content=\"tooltipContent\"\r\n :flatmapAPI=\"flatmapAPI\"\r\n @resource-selected=\"resourceSelected\"\r\n />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n/* eslint-disable no-alert, no-console */\r\nimport Vue from \"vue\";\r\nimport Tooltip from \"./Tooltip\";\r\nimport { MapSvgIcon, MapSvgSpriteColor } from \"@abi-software/svg-sprite\";\r\nimport {\r\n Checkbox,\r\n CheckboxGroup,\r\n Col,\r\n Loading,\r\n Radio,\r\n RadioGroup,\r\n Row\r\n} from \"element-ui\";\r\nimport lang from \"element-ui/lib/locale/lang/en\";\r\nimport locale from \"element-ui/lib/locale\";\r\nimport flatmapMarker from \"../icons/flatmap-marker\";\r\nlocale.use(lang);\r\nVue.use(Checkbox);\r\nVue.use(CheckboxGroup);\r\nVue.use(Col);\r\nVue.use(Loading.directive);\r\nVue.use(Radio);\r\nVue.use(RadioGroup);\r\nVue.use(Row);\r\nconst ResizeSensor = require(\"css-element-queries/src/ResizeSensor\");\r\n\r\nconst mapResize = map => {\r\n return () => {\r\n if (map) map.resize();\r\n };\r\n};\r\n\r\nexport default {\r\n name: \"FlatmapVuer\",\r\n components: {\r\n MapSvgIcon,\r\n MapSvgSpriteColor,\r\n Tooltip\r\n },\r\n beforeCreate: function() {\r\n this.mapManager = undefined;\r\n this.mapImp = undefined;\r\n },\r\n methods: {\r\n backgroundChangeCallback: function(colour) {\r\n this.currentBackground = colour;\r\n if (this.mapImp) {\r\n this.mapImp.setBackgroundColour(this.currentBackground, 1);\r\n }\r\n },\r\n toggleDrawer: function() {\r\n this.drawerOpen = !this.drawerOpen;\r\n },\r\n /**\r\n * Function to toggle colour/greyscale of organs.\r\n */\r\n setColour: function(flag) {\r\n this.colourRadio = flag;\r\n if (this.mapImp) {\r\n this.mapImp.setColour({ colour: flag, outline: this.outlinesRadio });\r\n }\r\n },\r\n /**\r\n * Function to toggle outlines f organs.\r\n */\r\n setOutlines: function(flag) {\r\n this.outlineRadio = flag;\r\n if (this.mapImp) {\r\n this.mapImp.setColour({ colour: this.colourRadio, outline: flag });\r\n }\r\n },\r\n /**\r\n * Function to toggle paths to default.\r\n * Also called when the associated button is pressed.\r\n */\r\n resetView: function() {\r\n if (this.mapImp) {\r\n this.mapImp.resetMap();\r\n this.checkedItems = this.mapImp.pathTypes().map(item => item.type);\r\n this.isIndeterminate = false;\r\n this.checkAll = true;\r\n }\r\n },\r\n /**\r\n * Function to zoom in.\r\n * Also called when the associated button is pressed.\r\n */\r\n zoomIn: function() {\r\n if (this.mapImp) {\r\n this.mapImp.zoomIn();\r\n }\r\n },\r\n /**\r\n * Function to zoom out.\r\n * Also called when the associated button is pressed.\r\n */\r\n zoomOut: function() {\r\n if (this.mapImp) {\r\n this.mapImp.zoomOut();\r\n }\r\n },\r\n visibilityToggle: function() {\r\n if (this.mapImp) {\r\n this.mapImp.showPaths(this.checkedItems);\r\n }\r\n },\r\n handleCheckedItemsChange: function(value) {\r\n let checkedCount = value.length;\r\n this.checkAll = checkedCount === this.pathways.length;\r\n this.isIndeterminate =\r\n checkedCount > 0 && checkedCount < this.pathways.length;\r\n },\r\n handleCheckAllChange(val) {\r\n this.checkedItems = val ? this.pathways.map(a => a.type) : [];\r\n this.isIndeterminate = false;\r\n if (this.mapImp) {\r\n this.mapImp.showPaths(this.checkedItems);\r\n }\r\n },\r\n eventCallback: function() {\r\n return (eventType, feature, ...args) => {\r\n const label = feature.label;\r\n const resource = [feature.models];\r\n const taxonomy = this.entry;\r\n const data = {\r\n dataset: feature.dataset,\r\n taxonomy: taxonomy,\r\n resource: resource,\r\n label: label,\r\n feature: feature,\r\n userData: args,\r\n eventType: eventType\r\n };\r\n // Disable the nueron pop up for now.\r\n if (feature && feature.type !== \"marker\")\r\n this.checkAndCreatePopups(data);\r\n this.$emit(\"resource-selected\", data);\r\n };\r\n },\r\n // checkNeuronClicked shows a neuron path pop up if a path was recently clicked\r\n checkAndCreatePopups: function(data) {\r\n if (\r\n data.eventType == \"click\" &&\r\n this.createTooltipFromNeuronCuration(data)\r\n ) {\r\n this.mapImp.showPopup(\r\n this.mapImp.modelFeatureIds(data.resource[0])[0],\r\n this.$refs.tooltip.$el,\r\n { className: \"flatmap-tooltip-dialog\" }\r\n );\r\n this.popUpCssHack();\r\n }\r\n },\r\n popUpCssHack: function() {\r\n // Below is a hack to remove flatmap tooltips while popup is open\r\n let ftooltip = document.querySelector(\".flatmap-tooltip-popup\");\r\n if (ftooltip) ftooltip.style.display = \"none\";\r\n document.querySelector(\".mapboxgl-popup-close-button\").style.display =\r\n \"block\";\r\n this.$refs.tooltip.$el.style.display = \"flex\";\r\n document.querySelector(\".mapboxgl-popup-close-button\").onclick = () => {\r\n document.querySelector(\".flatmap-tooltip-popup\").style.display =\r\n \"block\";\r\n };\r\n },\r\n resourceSelected: function(action) {\r\n this.$emit(\"resource-selected\", action);\r\n },\r\n createTooltipFromNeuronCuration: function(data) {\r\n const feature = data.resource[0];\r\n let content = {\r\n title: undefined,\r\n components: undefined,\r\n start: undefined,\r\n distribution: undefined,\r\n actions: []\r\n };\r\n\r\n let foundAnnotations = false;\r\n this.tooltipVisible = false;\r\n\r\n // neural data check\r\n if (feature) {\r\n if (feature.includes(\"ilxtr:neuron\")) {\r\n foundAnnotations = true;\r\n this.tooltipVisible = true;\r\n this.tooltipContent = content;\r\n this.tooltipContent.uberon = feature;\r\n this.tooltipContent.title = data.label;\r\n this.tooltipContent.featureId = feature;\r\n this.tooltipContent.actions.push({\r\n title: \"Search for dataset\",\r\n label: \"Neuron Datasets\",\r\n resource: feature.split(\":\")[1],\r\n type: \"Neuron Search\",\r\n nervePath: true\r\n });\r\n }\r\n }\r\n // annotated with datset check\r\n if (data.dataset) {\r\n foundAnnotations = true;\r\n this.tooltipVisible = true;\r\n this.tooltipContent = content;\r\n this.tooltipContent.uberon = feature;\r\n this.tooltipContent.title = data.label;\r\n this.tooltipContent.actions.push({\r\n title: \"View dataset\",\r\n resource: data.dataset,\r\n type: \"URL\",\r\n nervePath: false\r\n });\r\n }\r\n\r\n if (foundAnnotations) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n },\r\n // Keeping this as an API\r\n showPopup: function(featureId, node, options) {\r\n let myOptions = options;\r\n if (this.mapImp) {\r\n if (myOptions) {\r\n if (!myOptions.className) myOptions.className = \"flatmapvuer-popover\";\r\n } else {\r\n myOptions = { className: \"flatmapvuer-popover\" };\r\n }\r\n this.mapImp.showPopup(featureId, node, myOptions);\r\n }\r\n },\r\n showMarkerPopup: function(featureId, node, options) {\r\n if (this.mapImp) {\r\n this.mapImp.showMarkerPopup(featureId, node, options);\r\n }\r\n },\r\n setHelpMode: function(helpMode) {\r\n if (helpMode) {\r\n this.inHelp = true;\r\n this.hoverVisibilities.forEach(item => {\r\n item.value = true;\r\n });\r\n this.openFlatmapHelpPopup();\r\n } else {\r\n this.inHelp = false;\r\n this.hoverVisibilities.forEach(item => {\r\n item.value = false;\r\n });\r\n this.closeFlatmapHelpPopup();\r\n }\r\n },\r\n showToolitip: function(tooltipNumber) {\r\n if (!this.inHelp) {\r\n this.tooltipWait = setTimeout(() => {\r\n this.hoverVisibilities[tooltipNumber].value = true;\r\n }, 500);\r\n }\r\n },\r\n hideToolitip: function(tooltipNumber) {\r\n if (!this.inHelp) {\r\n this.hoverVisibilities[tooltipNumber].value = false;\r\n clearTimeout(this.tooltipWait);\r\n }\r\n },\r\n openFlatmapHelpPopup: function() {\r\n if (this.mapImp) {\r\n let heartId = this.mapImp.featureIdsForModel(\"UBERON:0000948\")[0];\r\n const elm = \"Click for more information\";\r\n this.mapImp.showPopup(heartId, elm, {\r\n anchor: \"top\",\r\n className: \"flatmap-popup-popper\"\r\n });\r\n }\r\n },\r\n closeFlatmapHelpPopup: function() {\r\n this.$el\r\n .querySelectorAll(\".mapboxgl-popup-close-button\")\r\n .forEach(item => {\r\n item.click();\r\n });\r\n },\r\n getLabels: function() {\r\n let labels = [];\r\n if (this.mapImp) {\r\n let annotations = this.mapImp.annotations;\r\n for (let value of annotations.values()) {\r\n if (value.label) labels.push(value.label);\r\n }\r\n return Array.from(new Set(labels));\r\n }\r\n },\r\n getState: function() {\r\n if (this.mapImp) {\r\n let state = {\r\n entry: this.entry,\r\n viewport: this.mapImp.getState()\r\n };\r\n return state;\r\n }\r\n return undefined;\r\n },\r\n setState: function(state) {\r\n if (state) {\r\n if (this.mapImp && state.entry) {\r\n if (this.entry == state.entry)\r\n if (state.viewport) {\r\n this.mapImp.setState(state.viewport);\r\n }\r\n } else {\r\n this.createFlatmap(state);\r\n }\r\n }\r\n },\r\n createFlatmap: function(state) {\r\n if (!this.mapImp && !this.loading) {\r\n this.loading = true;\r\n let minimap = false;\r\n if (this.displayMinimap) {\r\n minimap = { position: \"top-right\" };\r\n }\r\n let entry = this.entry;\r\n if (state && state.entry) entry = state.entry;\r\n let promise1 = this.mapManager.loadMap(\r\n entry,\r\n this.$refs.display,\r\n this.eventCallback(),\r\n {\r\n //fullscreenControl: false,\r\n //annotatable: false,\r\n //debug: true,\r\n featureInfo: this.featureInfo,\r\n \"min-zoom\": this.minZoom,\r\n pathControls: false,\r\n searchable: this.searchable,\r\n tooltips: this.tooltips,\r\n minimap: minimap\r\n }\r\n );\r\n promise1.then(returnedObject => {\r\n this.mapImp = returnedObject;\r\n window.mapImp = returnedObject\r\n this.sensor = new ResizeSensor(\r\n this.$refs.display,\r\n mapResize(this.mapImp)\r\n );\r\n this.mapImp.setBackgroundOpacity(1);\r\n this.backgroundChangeCallback(this.currentBackground);\r\n this.pathways = this.mapImp.pathTypes();\r\n this.$emit(\"ready\", this);\r\n this.loading = false;\r\n if (this._viewportToBeSet)\r\n this.mapImp.setState(this._viewportToBeSet);\r\n else if (state && state.viewport)\r\n this.mapImp.setState(state.viewport);\r\n });\r\n } else if (state) {\r\n if (this.entry == state.entry) this._viewportToBeSet = state.viewport;\r\n }\r\n },\r\n /**\r\n * Function to display features with annotation matching the provided term.\r\n */\r\n searchAndShowResult: function(term) {\r\n if (this.mapImp) {\r\n if (term === undefined || term === \"\") {\r\n this.mapImp.clearSearchResults();\r\n } else {\r\n let searchResults = this.mapImp.search(term);\r\n if (searchResults && searchResults.__featureIds.length > 0)\r\n this.mapImp.showSearchResults(searchResults);\r\n else this.mapImp.clearSearchResults();\r\n }\r\n }\r\n }\r\n },\r\n props: {\r\n entry: String,\r\n featureInfo: {\r\n type: Boolean,\r\n default: false\r\n },\r\n minZoom: {\r\n type: Number,\r\n default: 4\r\n },\r\n pathControls: {\r\n type: Boolean,\r\n default: true\r\n },\r\n searchable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n tooltips: {\r\n type: Boolean,\r\n default: true\r\n },\r\n helpMode: {\r\n type: Boolean,\r\n default: false\r\n },\r\n renderAtMounted: {\r\n type: Boolean,\r\n default: true\r\n },\r\n displayWarning: {\r\n type: Boolean,\r\n default: true\r\n },\r\n displayMinimap: {\r\n type: Boolean,\r\n default: false\r\n },\r\n warningMessage: {\r\n type: String,\r\n default: \"Beta feature - This map is based on the connectivity of a rat. New connectivity and species specificity will be added as the SPARC program progress.\"\r\n },\r\n /**\r\n * State containing state of the flatmap.\r\n */\r\n state: {\r\n type: Object,\r\n default: undefined\r\n },\r\n /**\r\n * Specify the endpoint of the flatmap server.\r\n */\r\n flatmapAPI: {\r\n type: String,\r\n default: \"https://mapcore-demo.org/flatmaps/\"\r\n }\r\n },\r\n data: function() {\r\n return {\r\n checkedItems: [],\r\n pathways: [],\r\n isIndeterminate: false,\r\n checkAll: true,\r\n hoverVisibilities: [\r\n { value: false },\r\n { value: false },\r\n { value: false },\r\n { value: false },\r\n { value: false },\r\n { value: false },\r\n { value: false }\r\n ],\r\n inHelp: false,\r\n currentBackground: \"white\",\r\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\r\n loading: false,\r\n flatmapMarker: flatmapMarker,\r\n drawerOpen: true,\r\n tooltipContent: {},\r\n colourRadio: true,\r\n outlinesRadio: true\r\n };\r\n },\r\n watch: {\r\n entry: function() {\r\n if (!this.state) this.createFlatmap();\r\n },\r\n helpMode: function(val) {\r\n this.setHelpMode(val);\r\n },\r\n state: {\r\n handler: function(state) {\r\n this.setState(state);\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n mounted: function() {\r\n const flatmap = require(\"@abi-software/flatmap-viewer\");\r\n this.mapManager = new flatmap.MapManager(this.flatmapAPI);\r\n if (this.renderAtMounted) this.createFlatmap();\r\n }\r\n};\r\n</script>\r\n\r\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\r\n<style scoped lang=\"scss\">\r\n@import \"~element-ui/packages/theme-chalk/src/button\";\r\n@import \"~element-ui/packages/theme-chalk/src/checkbox\";\r\n@import \"~element-ui/packages/theme-chalk/src/checkbox-group\";\r\n@import \"~element-ui/packages/theme-chalk/src/loading\";\r\n@import \"~element-ui/packages/theme-chalk/src/row\";\r\n\r\n.warning-icon {\r\n position: absolute;\r\n top: 90px;\r\n left: 37px;\r\n text-align: left;\r\n font-size: 25px;\r\n color: $warning;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n.warning-text {\r\n font-size: 15px;\r\n vertical-align: 5px;\r\n}\r\n\r\n.path-visual {\r\n margin: 3px 0;\r\n height: 3px;\r\n width: 25px;\r\n margin-right: 5px;\r\n display: inline-block;\r\n &.cns {\r\n background: #9b1fc1;\r\n }\r\n &.lcn {\r\n background: #f19e38;\r\n }\r\n &.para-pre {\r\n background: #3f8f4a;\r\n }\r\n &.para-post {\r\n background: repeating-linear-gradient(\r\n 90deg,\r\n #3f8f4a,\r\n #3f8f4a 6px,\r\n transparent 0,\r\n transparent 9px\r\n );\r\n }\r\n &.sensory {\r\n background: #2a62f6;\r\n }\r\n &.somatic {\r\n background: #98561d;\r\n }\r\n &.symp-pre {\r\n background: #ea3423;\r\n }\r\n &.symp-post {\r\n background: repeating-linear-gradient(\r\n 90deg,\r\n #ea3423,\r\n #ea3423 6px,\r\n transparent 0,\r\n transparent 9px\r\n );\r\n }\r\n}\r\n\r\n.flatmap-container {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.pathway-location {\r\n position: absolute;\r\n bottom: 0px;\r\n transition: all 1s ease;\r\n &.open {\r\n left: 0px;\r\n }\r\n &.close {\r\n left: -298px;\r\n }\r\n}\r\n\r\n.pathway-container {\r\n float: left;\r\n padding-left: 16px;\r\n padding-right: 18px;\r\n max-height: calc(100% - 184px);\r\n text-align: left;\r\n overflow: auto;\r\n border: 1px solid rgb(220, 223, 230);\r\n padding-top: 7px;\r\n padding-bottom: 16px;\r\n background: #ffffff;\r\n}\r\n\r\n.pathways-display-text {\r\n width: 59px;\r\n height: 20px;\r\n color: rgb(48, 49, 51);\r\n font-size: 14px;\r\n font-weight: normal;\r\n line-height: 20px;\r\n margin-left: 8px;\r\n}\r\n\r\n.all-checkbox {\r\n float: right;\r\n}\r\n\r\n.checkbox-container {\r\n display: flex;\r\n cursor: pointer;\r\n}\r\n\r\n.checkbox-group {\r\n width: 260px;\r\n border: 1px solid rgb(144, 147, 153);\r\n border-radius: 4px;\r\n background: #ffffff;\r\n}\r\n\r\n.my-checkbox {\r\n background-color: #fff;\r\n width: 100%;\r\n}\r\n\r\n.checkbox-group-inner {\r\n padding: 18px;\r\n}\r\n\r\n.flatmap-marker-help {\r\n display: inline-block;\r\n}\r\n\r\n::v-deep .popper-bump-right {\r\n left: 30px;\r\n}\r\n\r\n::v-deep .el-checkbox__label {\r\n padding-left: 5px;\r\n color: $app-primary-color;\r\n font-size: 12px;\r\n font-weight: 500;\r\n letter-spacing: 0px;\r\n line-height: 14px;\r\n}\r\n\r\n::v-deep .el-checkbox__input {\r\n &.is-indeterminate,\r\n &.is-checked {\r\n .el-checkbox__inner {\r\n background-color: $app-primary-color;\r\n border-color: $app-primary-color;\r\n }\r\n }\r\n}\r\n\r\n::v-deep .el-checkbox__label {\r\n color: $app-primary-color !important;\r\n}\r\n\r\n.el-dropdown-link {\r\n cursor: pointer;\r\n color: #409eff;\r\n}\r\n.el-icon-arrow-down {\r\n font-size: 12px;\r\n}\r\n.demonstration {\r\n display: block;\r\n color: #8492a6;\r\n font-size: 14px;\r\n margin-bottom: 20px;\r\n}\r\n\r\n.tooltip {\r\n display: none;\r\n}\r\n\r\n::v-deep .mapboxgl-popup {\r\n max-width: 300px !important;\r\n}\r\n\r\n::v-deep .flatmap-tooltip-popup {\r\n &.mapboxgl-popup-anchor-bottom {\r\n .mapboxgl-popup-content {\r\n margin-bottom: 12px;\r\n &::after,\r\n &::before {\r\n top: 100%;\r\n border-width: 12px;\r\n }\r\n /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */\r\n &::after {\r\n margin-top: -1px;\r\n border-color: rgb(255, 255, 255) transparent transparent transparent;\r\n }\r\n /* this border color controlls the outside, thin border */\r\n &::before {\r\n margin: 0 auto;\r\n border-color: $app-primary-color transparent transparent transparent;\r\n }\r\n }\r\n }\r\n &.mapboxgl-popup-anchor-top {\r\n .mapboxgl-popup-content {\r\n margin-top: 18px;\r\n &::after,\r\n &::before {\r\n top: calc(-100% + 6px);\r\n border-width: 12px;\r\n }\r\n /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */\r\n &::after {\r\n margin-top: 1px;\r\n border-color: transparent transparent rgb(255, 255, 255) transparent;\r\n }\r\n &::before {\r\n margin: 0 auto;\r\n border-color: transparent transparent $app-primary-color transparent;\r\n }\r\n }\r\n }\r\n .mapboxgl-popup-content {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\r\n pointer-events: none;\r\n display: none;\r\n background: #fff;\r\n border: 1px solid $app-primary-color;\r\n padding-left: 6px;\r\n padding-right: 6px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n &::after,\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: absolute;\r\n width: 0;\r\n height: 0;\r\n border-style: solid;\r\n flex-shrink: 0;\r\n }\r\n }\r\n .mapboxgl-popup-tip {\r\n display: none;\r\n }\r\n}\r\n\r\n::v-deep .mapboxgl-popup {\r\n &.flatmap-marker-popup {\r\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);\r\n pointer-events: auto;\r\n background: #fff;\r\n }\r\n}\r\n\r\n/* Fix for chrome bug where under triangle pops up above one on top of it */\r\n.selector:not(*:root),\r\n::v-deep.flatmap-tooltip-popup {\r\n .mapboxgl-popup-content::after {\r\n top: 99.9%;\r\n }\r\n}\r\n\r\n::v-deep .flatmap-tooltip-dialog {\r\n .mapboxgl-popup-tip {\r\n display: none;\r\n }\r\n}\r\n\r\n::v-deep .flatmap-marker-popup {\r\n .mapboxgl-popup-content {\r\n padding: 0px;\r\n }\r\n}\r\n\r\n::v-deep .flatmapvuer-popover {\r\n .mapboxgl-popup-close-button {\r\n position: absolute;\r\n right: 0.5em;\r\n top: 0;\r\n border: 0;\r\n border-radius: 0 3px 0 0;\r\n cursor: pointer;\r\n background-color: transparent;\r\n font-size: 2.5em;\r\n color: grey;\r\n top: 0.95em;\r\n }\r\n}\r\n\r\n.zoomOut {\r\n padding-left: 8px;\r\n}\r\n\r\n.resetView {\r\n padding-left: 8px;\r\n}\r\n\r\n.background-colour {\r\n bottom: 16px;\r\n position: absolute;\r\n transition: all 1s ease;\r\n}\r\n.background-colour.open {\r\n left: 322px;\r\n}\r\n.background-colour.close {\r\n left: 24px;\r\n}\r\n\r\n::v-deep .background-popper {\r\n padding: 5px 12px;\r\n background-color: #ffffff;\r\n border: 1px solid $app-primary-color;\r\n box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);\r\n height: 200px;\r\n width: 175px;\r\n min-width: 175px;\r\n &.el-popper[x-placement^=\"top\"] {\r\n .popper__arrow {\r\n border-top-color: $app-primary-color !important;\r\n &::after {\r\n border-top-color: #fff !important;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.backgroundText {\r\n color: rgb(48, 49, 51);\r\n font-size: 14px;\r\n font-weight: normal;\r\n line-height: 20px;\r\n}\r\n\r\n.backgroundControl {\r\n display: flex;\r\n margin-top: 16px;\r\n}\r\n\r\n.backgroundChoice {\r\n width: 20px;\r\n height: 20px;\r\n border: 1px solid rgb(144, 147, 153);\r\n margin-left: 20px;\r\n &.active {\r\n border: 2px solid $app-primary-color;\r\n }\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n &.white {\r\n background-color: white;\r\n margin-left: 10px;\r\n }\r\n &.black {\r\n background-color: black;\r\n }\r\n &.lightskyblue {\r\n background-color: white;\r\n }\r\n}\r\n\r\n.togglePaths {\r\n top: 201px;\r\n right: 20px;\r\n position: absolute;\r\n}\r\n\r\n.icon-button {\r\n height: 24px !important;\r\n width: 24px !important;\r\n color: $app-primary-color;\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n::v-deep .flatmap-popper {\r\n padding: 6px 4px;\r\n font-size: 12px;\r\n color: rgb(48, 49, 51);\r\n background-color: #f3ecf6;\r\n border: 1px solid $app-primary-color;\r\n white-space: nowrap;\r\n min-width: unset;\r\n &.warning-popper {\r\n min-width: 150px;\r\n max-width: 400px;\r\n word-break: keep-all;\r\n white-space: unset;\r\n }\r\n &.left-popper {\r\n .popper__arrow {\r\n border-left-color: $app-primary-color !important;\r\n &::after {\r\n border-left-color: #f3ecf6 !important;\r\n }\r\n }\r\n }\r\n &.right-popper {\r\n .popper__arrow {\r\n border-right-color: $app-primary-color !important;\r\n &:after {\r\n border-right-color: #f3ecf6 !important;\r\n }\r\n }\r\n }\r\n &.el-popper[x-placement^=\"top\"] {\r\n .popper__arrow {\r\n border-top-color: $app-primary-color !important;\r\n &:after {\r\n border-top-color: #f3ecf6 !important;\r\n }\r\n }\r\n }\r\n}\r\n\r\n::v-deep .el-loading-spinner {\r\n i,\r\n .el-loading-text {\r\n color: $app-primary-color;\r\n }\r\n}\r\n\r\n::v-deep .flatmap-popup-popper {\r\n .mapboxgl-popup-tip {\r\n border-bottom-color: $app-primary-color;\r\n }\r\n .mapboxgl-popup-content {\r\n padding: 6px 4px;\r\n font-size: 12px;\r\n color: rgb(48, 49, 51);\r\n background-color: #f3ecf6;\r\n border: 1px solid $app-primary-color;\r\n white-space: nowrap;\r\n min-width: unset;\r\n .mapboxgl-popup-close-button {\r\n display: none;\r\n }\r\n }\r\n}\r\n\r\n::v-deep .flatmap-popper {\r\n \r\n}\r\n\r\n::v-deep .popper-zoomout {\r\n padding-right: 13px !important;\r\n left: -21px !important;\r\n}\r\n\r\n::v-deep .popper-zoomout {\r\n .popper__arrow {\r\n left: 53px !important;\r\n }\r\n}\r\n\r\n::v-deep .mapboxgl-popup-content {\r\n padding: 0px;\r\n}\r\n\r\n.bottom-right-control {\r\n position: absolute;\r\n right: 16px;\r\n bottom: 16px;\r\n}\r\n\r\n::v-deep .my-drawer {\r\n background: rgba(0, 0, 0, 0);\r\n box-shadow: none;\r\n}\r\n\r\n.drawer {\r\n ::v-deep .el-drawer:focus {\r\n outline: none;\r\n }\r\n}\r\n\r\n.open-drawer,\r\n.drawer-button {\r\n z-index: 8;\r\n width: 20px;\r\n height: 40px;\r\n border: solid 1px #e4e7ed;\r\n text-align: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n pointer-events: auto;\r\n}\r\n\r\n.open-drawer {\r\n position: absolute;\r\n left: 0px;\r\n background-color: #f7faff;\r\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\r\n}\r\n\r\n.drawer-button {\r\n float: left;\r\n margin-top: calc(50% - 36px);\r\n border-left: 0;\r\n background-color: #ffffff;\r\n i {\r\n margin-top: 12px;\r\n color: $app-primary-color;\r\n transition-delay: 0.9s;\r\n }\r\n &.open {\r\n i {\r\n transform: rotate(0deg) scaleY(2.5);\r\n }\r\n }\r\n &.close {\r\n i {\r\n transform: rotate(180deg) scaleY(2.5);\r\n }\r\n }\r\n}\r\n\r\n::v-deep .mapboxgl-canvas-container {\r\n canvas {\r\n outline: none;\r\n }\r\n}\r\n\r\n.backgroundSpacer {\r\n border-bottom: 1px solid #e4e7ed;\r\n margin-bottom: 10px;\r\n}\r\n\r\n.flatmap-radio {\r\n ::v-deep label {\r\n margin-right: 20px;\r\n &:last-child {\r\n margin-right: 0px;\r\n }\r\n }\r\n .el-radio__input {\r\n &.is-checked {\r\n & + .el-radio__label {\r\n color: $app-primary-color;\r\n }\r\n .el-radio__inner {\r\n border-color: $app-primary-color;\r\n background: $app-primary-color;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FlatmapVuer.vue?vue&type=template&id=f7035e5c&scoped=true&\"\nimport script from \"./FlatmapVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./FlatmapVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FlatmapVuer.vue?vue&type=style&index=0&id=f7035e5c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f7035e5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"multi-container\"},[_c('div',{staticStyle:{\"position\":\"absolute\",\"z-index\":\"10\"}},[_c('div',{staticClass:\"species-display-text\"},[_vm._v(\" Species \")]),_c('el-popover',{ref:\"selectPopover\",attrs:{\"content\":\"Select a species\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.helpMode),callback:function ($$v) {_vm.helpMode=$$v},expression:\"helpMode\"}}),_c('el-select',{directives:[{name:\"popover\",rawName:\"v-popover:selectPopover\",arg:\"selectPopover\"}],staticClass:\"select-box\",attrs:{\"id\":\"flatmap-select\",\"popper-append-to-body\":_vm.appendToBody,\"placeholder\":\"Select\",\"popper-class\":\"flatmap_dropdown\"},on:{\"change\":_vm.flatmapChanged},model:{value:(_vm.activeSpecies),callback:function ($$v) {_vm.activeSpecies=$$v},expression:\"activeSpecies\"}},_vm._l((_vm.speciesList),function(item,key){return _c('el-option',{key:key,attrs:{\"label\":key,\"value\":key}},[_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('i',{class:item.iconClass})]),_c('el-col',{attrs:{\"span\":12}},[_vm._v(_vm._s(key))])],1)],1)}),1)],1),_vm._l((_vm.speciesList),function(item,key){return _c('FlatmapVuer',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeSpecies==key),expression:\"activeSpecies==key\"}],key:key,ref:key,refInFor:true,staticStyle:{\"height\":\"100%\"},attrs:{\"showLayer\":_vm.showLayer,\"entry\":item.taxo,\"displayWarning\":item.displayWarning,\"warningMessage\":_vm.warningMessage,\"featureInfo\":_vm.featureInfo,\"minZoom\":_vm.minZoom,\"pathControls\":_vm.pathControls,\"searchable\":_vm.searchable,\"helpMode\":_vm.helpMode,\"renderAtMounted\":_vm.renderAtMounted,\"displayMinimap\":_vm.displayMinimap,\"flatmapAPI\":_vm.flatmapAPI},on:{\"resource-selected\":_vm.FlatmapSelected,\"ready\":_vm.FlatmapReady}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"multi-container\">\r\n <div style=\"position:absolute;z-index:10;\">\r\n <div class=\"species-display-text\">\r\n Species\r\n </div>\r\n <el-popover content=\"Select a species\" placement=\"right\" \r\n :appendToBody=false trigger=\"manual\" popper-class=\"flatmap-popper right-popper\" v-model=\"helpMode\" ref=\"selectPopover\">\r\n </el-popover>\r\n <el-select\r\n id=\"flatmap-select\"\r\n :popper-append-to-body=\"appendToBody\"\r\n v-model=\"activeSpecies\"\r\n placeholder=\"Select\"\r\n class=\"select-box\"\r\n popper-class=\"flatmap_dropdown\"\r\n @change=\"flatmapChanged\"\r\n v-popover:selectPopover\r\n >\r\n <el-option v-for=\"(item, key) in speciesList\" :key=\"key\" :label=\"key\" :value=\"key\">\r\n <el-row>\r\n <el-col :span=\"8\"><i :class=\"item.iconClass\"></i></el-col>\r\n <el-col :span=\"12\">{{ key }}</el-col>\r\n </el-row>\r\n </el-option>\r\n </el-select>\r\n </div>\r\n <FlatmapVuer\r\n v-for=\"(item, key) in speciesList\"\r\n :key=\"key\"\r\n :showLayer=\"showLayer\"\r\n v-show=\"activeSpecies==key\"\r\n :entry=\"item.taxo\"\r\n :displayWarning=\"item.displayWarning\"\r\n :warningMessage=\"warningMessage\"\r\n :ref=\"key\"\r\n @resource-selected=\"FlatmapSelected\"\r\n @ready=\"FlatmapReady\"\r\n :featureInfo=\"featureInfo\"\r\n :minZoom=\"minZoom\"\r\n :pathControls=\"pathControls\"\r\n :searchable=\"searchable\"\r\n :helpMode=\"helpMode\"\r\n :renderAtMounted=\"renderAtMounted\"\r\n :displayMinimap=\"displayMinimap\"\r\n style=\"height:100%\"\r\n :flatmapAPI=\"flatmapAPI\"\r\n />\r\n </div>\r\n</template>\r\n\r\n\r\n<script>\r\n/* eslint-disable no-alert, no-console */\r\nimport Vue from \"vue\";\r\nimport FlatmapVuer from \"./FlatmapVuer.vue\";\r\nimport { Col, Option, Select, Row, Popover } from \"element-ui\"; \r\nimport lang from \"element-ui/lib/locale/lang/en\";\r\nimport locale from \"element-ui/lib/locale\";\r\nlocale.use(lang);\r\nVue.use(Col);\r\nVue.use(Row);\r\nVue.use(Option);\r\nVue.use(Select);\r\nVue.use(Popover)\r\n\r\n\r\nexport default {\r\n name: \"MultiFlatmapVuer\",\r\n components: {\r\n FlatmapVuer\r\n },\r\n mounted: function() {\r\n this.initialise();\r\n },\r\n methods: {\r\n initialise: function() {\r\n return new Promise(resolve => {\r\n fetch(this.flatmapAPI)\r\n .then(response => response.json())\r\n .then(data => {\r\n this.speciesLis= {};\r\n Object.keys(this.availableSpecies).forEach(key => {\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].describes == this.availableSpecies[key].taxo) {\r\n this.speciesList[key] = this.availableSpecies[key];\r\n break;\r\n }\r\n }\r\n });\r\n if (!this.state) {\r\n if (this.initial && this.speciesList[this.initial] !== undefined) {\r\n this.activeSpecies = this.initial;\r\n } else {\r\n this.activeSpecies = Object.keys(this.speciesList)[0];\r\n }\r\n Vue.nextTick(() => {\r\n if (this.$refs[this.activeSpecies])\r\n this.$refs[this.activeSpecies][0].createFlatmap();\r\n });\r\n }\r\n resolve();\r\n });\r\n })\r\n },\r\n FlatmapSelected: function(resource) {\r\n this.$emit(\"resource-selected\", resource);\r\n },\r\n FlatmapReady: function(component) {\r\n this.$emit(\"ready\", component);\r\n },\r\n getCoordinatesOfLastClick: function() {\r\n const flatmap = this.$refs[this.activeSpecies];\r\n if (flatmap && flatmap[0]) {\r\n return flatmap[0].getCoordinatesOfLastClick();\r\n }\r\n return undefined;\r\n },\r\n getCurrentFlatmap: function() {\r\n return this.$refs[this.activeSpecies][0];\r\n },\r\n showPopup: function(featureId, node, options) {\r\n let map = this.getCurrentFlatmap();\r\n map.showPopup(featureId, node, options);\r\n },\r\n showMarkerPopup: function(featureId, node, options) {\r\n let map = this.getCurrentFlatmap();\r\n map.showMarkerPopup(featureId, node, options);\r\n },\r\n flatmapChanged: function(species){\r\n if (this.activeSpecies != species) \r\n this.activeSpecies = species;\r\n this.$refs[this.activeSpecies][0].createFlatmap();\r\n this.$emit('flatmapChanged', this.activeSpecies);\r\n },\r\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 */\r\n getState: function() {\r\n let state = {\r\n species: this.activeSpecies,\r\n state: undefined,\r\n };\r\n let map = this.getCurrentFlatmap();\r\n state.state = map.getState();\r\n return state;\r\n },\r\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 */\r\n setState: function(state) {\r\n if (state) {\r\n this.initialise().then(() => {\r\n if (state.species && state.species !== this.activeSpecies) {\r\n this.activeSpecies = state.species;\r\n if (state.state) {\r\n //Wait for next tick when the refs are ready for rendering\r\n this.$nextTick(() => {\r\n this.$refs[this.activeSpecies][0].createFlatmap(state.state);\r\n this.$emit('flatmapChanged', this.activeSpecies);\r\n })\r\n }\r\n } else if (state.state) {\r\n let map = this.getCurrentFlatmap();\r\n map.setState(state.state);\r\n }\r\n })\r\n }\r\n },\r\n resourceSelected: function(action) {\r\n this.$emit(\"resource-selected\", action);\r\n },\r\n },\r\n props: {\r\n showLayer: {\r\n type: Boolean,\r\n default: false\r\n },\r\n featureInfo: {\r\n type: Boolean,\r\n default: false\r\n },\r\n pathControls: {\r\n type: Boolean,\r\n default: true\r\n },\r\n searchable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Initial species for the flatmap.\r\n * This value will be ignored if a valid state object is provided.\r\n */\r\n initial: {\r\n type: String,\r\n default: \"\"\r\n },\r\n minZoom: {\r\n type: Number,\r\n default: 4\r\n },\r\n renderAtMounted: {\r\n type: Boolean,\r\n default: false\r\n },\r\n helpMode: {\r\n type: Boolean,\r\n default: false\r\n },\r\n displayMinimap: {\r\n type: Boolean,\r\n default: false\r\n },\r\n warningMessage: {\r\n type: String,\r\n default: \"Beta feature - This map is based on the connectivity of a rat. New connectivity and species specificity will be added as the SPARC program progress.\"\r\n },\r\n availableSpecies: {},\r\n /**\r\n * State containing state of the flatmap.\r\n */\r\n state: {\r\n type: Object,\r\n default: undefined,\r\n },\r\n /**\r\n * Specify the endpoint of the flatmap server.\r\n */\r\n flatmapAPI: {\r\n type: String,\r\n default: \"https://mapcore-demo.org/flatmaps/\"\r\n },\r\n },\r\n data: function() {\r\n return {\r\n activeSpecies: undefined,\r\n appendToBody: false,\r\n speciesList: {}\r\n };\r\n },\r\n watch: {\r\n state: {\r\n handler: function(state) {\r\n this.setState(state);\r\n },\r\n immediate: true,\r\n deep: true,\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n@import \"~element-ui/packages/theme-chalk/src/select\";\r\n@import \"~element-ui/packages/theme-chalk/src/option\";\r\n\r\n.multi-container {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.species-display-text {\r\n width: 47px;\r\n height: 20px;\r\n color: rgb(48, 49, 51);\r\n font-size: 14px;\r\n font-weight: normal;\r\n line-height: 20px;\r\n left:24px;\r\n top:16px;\r\n position: absolute;\r\n}\r\n\r\n.select-box {\r\n width: 120px;\r\n border-radius: 4px;\r\n border: 1px solid rgb(144, 147, 153);\r\n background-color: var(--white);\r\n font-weight: 500;\r\n color:rgb(48, 49, 51);;\r\n left: 16px;\r\n top: 44px;\r\n position: absolute;\r\n ::v-deep .el-input__inner {\r\n color: rgb(48, 49, 51);\r\n padding-top: 0.25em;\r\n .is-focus {\r\n border: 1px solid $app-primary-color;\r\n }\r\n }\r\n}\r\n\r\n.flatmap_dropdown {\r\n .el-select-dropdown__item {\r\n white-space: nowrap;\r\n text-align: left;\r\n &.selected {\r\n color: $app-primary-color;\r\n font-weight: normal;\r\n }\r\n }\r\n}\r\n\r\n::v-deep .flatmap-popper {\r\n padding: 6px 4px;\r\n font-size:12px;\r\n color: rgb(48, 49, 51);\r\n background-color: #f3ecf6;\r\n border: 1px solid $app-primary-color;\r\n white-space: nowrap;\r\n min-width: unset;\r\n &.right-popper {\r\n .popper__arrow {\r\n border-right-color: $app-primary-color !important;\r\n &:after {\r\n border-right-color: #f3ecf6 !important;\r\n }\r\n }\r\n }\r\n}\r\n\r\n::v-deep .flatmap-marker-popup{\r\n background-color: #f0f0f000 !important;\r\n box-shadow: none !important;\r\n}\r\n\r\n</style>\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MultiFlatmapVuer.vue?vue&type=template&id=45aec25f&scoped=true&\"\nimport script from \"./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MultiFlatmapVuer.vue?vue&type=style&index=0&id=45aec25f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"45aec25f\",\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es.string.includes.js\");","module.exports = require(\"element-ui/lib/theme-chalk/row.css\");","module.exports = require(\"element-ui/lib/radio-group\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://flatmapvuer/webpack/universalModuleDefinition","webpack://flatmapvuer/webpack/bootstrap","webpack://flatmapvuer/external \"element-ui/lib/checkbox-group\"","webpack://flatmapvuer/external \"core-js/modules/es.string.split.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/checkbox-group.css\"","webpack://flatmapvuer/external \"element-ui/lib/select\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/select.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/radio-group.css\"","webpack://flatmapvuer/external \"core-js/modules/web.dom-collections.for-each.js\"","webpack://flatmapvuer/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack://flatmapvuer/external \"element-ui/lib/container\"","webpack://flatmapvuer/external \"core-js/modules/es.string.search.js\"","webpack://flatmapvuer/external \"element-ui/lib/main\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/link.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/button.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/radio.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/loading.css\"","webpack://flatmapvuer/external \"element-ui/lib/header\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.iterator.js\"","webpack://flatmapvuer/external \"core-js/modules/es.regexp.to-string.js\"","webpack://flatmapvuer/./src/components/PubmedViewer.vue?d298","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/carousel.css\"","webpack://flatmapvuer/external \"@abi-software/svg-sprite\"","webpack://flatmapvuer/external \"core-js/modules/es.array.from.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.map.js\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.description.js\"","webpack://flatmapvuer/external \"@abi-software/flatmap-viewer\"","webpack://flatmapvuer/external \"core-js/modules/es.array.iterator.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/header.css\"","webpack://flatmapvuer/external \"element-ui/lib/radio\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/checkbox.css\"","webpack://flatmapvuer/external \"element-ui/lib/button\"","webpack://flatmapvuer/external \"core-js/modules/es.string.replace.js\"","webpack://flatmapvuer/external \"element-ui/lib/locale/lang/en\"","webpack://flatmapvuer/external \"element-ui/lib/row\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/col.css\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/main.css\"","webpack://flatmapvuer/external \"element-ui/lib/link\"","webpack://flatmapvuer/external \"element-ui/lib/locale\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/option.css\"","webpack://flatmapvuer/external \"core-js/modules/es.set.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.includes.js\"","webpack://flatmapvuer/external \"vue\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/icon.css\"","webpack://flatmapvuer/external \"element-ui/lib/popover\"","webpack://flatmapvuer/external \"core-js/modules/es.object.to-string.js\"","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?c957","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/base.css\"","webpack://flatmapvuer/external \"core-js/modules/es.symbol.js\"","webpack://flatmapvuer/external \"@soda/get-current-script\"","webpack://flatmapvuer/external \"core-js/modules/es.string.iterator.js\"","webpack://flatmapvuer/external \"element-ui/lib/carousel\"","webpack://flatmapvuer/external \"element-ui/lib/col\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/popover.css\"","webpack://flatmapvuer/external \"element-ui/lib/loading\"","webpack://flatmapvuer/external \"css-element-queries/src/ResizeSensor\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/container.css\"","webpack://flatmapvuer/external \"element-ui/lib/icon\"","webpack://flatmapvuer/external \"element-ui/lib/checkbox\"","webpack://flatmapvuer/external \"core-js/modules/web.url.js\"","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?11bf","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/carousel-item.css\"","webpack://flatmapvuer/external \"element-ui/lib/option\"","webpack://flatmapvuer/external \"element-ui/lib/carousel-item\"","webpack://flatmapvuer/./src/components/Tooltip.vue?d570","webpack://flatmapvuer/external \"core-js/modules/es.regexp.exec.js\"","webpack://flatmapvuer/external \"core-js/modules/es.function.name.js\"","webpack://flatmapvuer/external \"core-js/modules/es.array.slice.js\"","webpack://flatmapvuer/external \"core-js/modules/es.object.keys.js\"","webpack://flatmapvuer/external \"core-js/modules/es.promise.js\"","webpack://flatmapvuer/external \"core-js/modules/es.number.constructor.js\"","webpack://flatmapvuer/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?11e3","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://flatmapvuer/./src/components/Tooltip.vue?637e","webpack://flatmapvuer/./src/components/PubmedViewer.vue?7d03","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://flatmapvuer/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://flatmapvuer/src/components/PubmedViewer.vue","webpack://flatmapvuer/./src/components/PubmedViewer.vue?8f41","webpack://flatmapvuer/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://flatmapvuer/./src/components/PubmedViewer.vue","webpack://flatmapvuer/src/components/Tooltip.vue","webpack://flatmapvuer/./src/components/Tooltip.vue?0f87","webpack://flatmapvuer/./src/components/Tooltip.vue","webpack://flatmapvuer/./src/icons/flatmap-marker.js","webpack://flatmapvuer/src/components/FlatmapVuer.vue","webpack://flatmapvuer/./src/components/FlatmapVuer.vue?f442","webpack://flatmapvuer/./src/components/FlatmapVuer.vue","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?6b30","webpack://flatmapvuer/src/components/MultiFlatmapVuer.vue","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue?6257","webpack://flatmapvuer/./src/components/MultiFlatmapVuer.vue","webpack://flatmapvuer/external \"core-js/modules/es.string.includes.js\"","webpack://flatmapvuer/external \"element-ui/lib/theme-chalk/row.css\"","webpack://flatmapvuer/external \"element-ui/lib/radio-group\""],"names":["root","factory","exports","module","define","amd","self","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","window","currentScript","document","getCurrentScript","src","match","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","staticStyle","ref","warningMessage","model","hoverVisibilities","callback","$$v","$set","_e","arg","on","$event","showToolitip","hideToolitip","_v","nativeOn","zoomIn","slot","zoomOut","resetView","class","open","drawerOpen","close","pathways","length","pathControls","domProps","_s","flatmapMarker","isIndeterminate","handleCheckAllChange","checkAll","handleCheckedItemsChange","checkedItems","_l","item","type","visibilityToggle","label","toggleDrawer","setColour","colourRadio","setOutlines","outlinesRadio","currentBackground","backgroundChangeCallback","tooltipContent","flatmapAPI","resourceSelected","staticRenderFns","_arrayLikeToArray","arr","len","arr2","Array","_unsupportedIterableToArray","minLen","arrayLikeToArray","toString","slice","constructor","from","test","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","unsupportedIterableToArray","F","done","e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","content","titleCase","title","featureId","pubmedSearchUrlUpdate","components","start","distribution","action","openUrl","pubmedSearchUrl","loading","pub","html","url","_arrayWithHoles","_iterableToArrayLimit","_i","_arr","_n","_d","push","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","nonIterableRest","props","String","default","watch","console","log","val","flatmapQuery","computed","data","pubmeds","pubmedIds","mounted","methods","stripPMIDPrefix","pubmedId","split","titleFromPubmed","Promise","fetch","resolve","apa","format","error","splitLink","response","endpoint","method","headers","body","JSON","stringify","values","forEach","params","append","ids","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","str","replace","visible","Boolean","undefined","activeSpecies","appendToBody","$emit","onClose","map","resize","MapSvgIcon","MapSvgSpriteColor","Tooltip","mapManager","mapImp","colour","setBackgroundColour","flag","outlineRadio","resetMap","pathTypes","showPaths","checkedCount","enablePanZoomEvents","eventCallback","eventType","dataset","taxonomy","resource","feature","userData","args","checkAndCreatePopups","showPopup","popUpCssHack","ftooltip","style","display","querySelector","$refs","tooltip","$el","onclick","createTooltipFromNeuronCuration","actions","tooltipVisible","includes","foundAnnotations","uberon","nervePath","myOptions","className","node","showMarkerPopup","setHelpMode","helpMode","inHelp","openFlatmapHelpPopup","closeFlatmapHelpPopup","tooltipWait","setTimeout","tooltipNumber","clearTimeout","heartId","elm","anchor","getLabels","Set","labels","getState","entry","viewport","state","setState","createFlatmap","_viewportToBeSet","displayMinimap","minimap","promise1","then","showMinimap","showPathwaysDrawer","searchAndShowResult","term","clearSearchResults","searchResults","__featureIds","featureInfo","minZoom","Number","searchable","tooltips","renderAtMounted","displayWarning","availableBackground","handler","immediate","deep","flatmap","MapManager","flatmapChanged","iconClass","refInFor","showLayer","taxo","FlatmapSelected","FlatmapReady","panZoomCallback","FlatmapVuer","initialise","keys","describes","getCoordinatesOfLastClick","getCurrentFlatmap","payload","species","initial","availableSpecies","speciesList"],"mappings":"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","file":"flatmapvuer.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"flatmapvuer\"] = factory();\n\telse\n\t\troot[\"flatmapvuer\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fae3\");\n","module.exports = require(\"element-ui/lib/checkbox-group\");","module.exports = require(\"core-js/modules/es.string.split.js\");","module.exports = require(\"element-ui/lib/theme-chalk/checkbox-group.css\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"element-ui/lib/theme-chalk/select.css\");","module.exports = require(\"element-ui/lib/theme-chalk/radio-group.css\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","module.exports = require(\"element-ui/lib/container\");","module.exports = require(\"core-js/modules/es.string.search.js\");","module.exports = require(\"element-ui/lib/main\");","module.exports = require(\"element-ui/lib/theme-chalk/link.css\");","module.exports = require(\"element-ui/lib/theme-chalk/button.css\");","module.exports = require(\"element-ui/lib/theme-chalk/radio.css\");","module.exports = require(\"element-ui/lib/theme-chalk/loading.css\");","module.exports = require(\"element-ui/lib/header\");","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=style&index=0&id=06d0e387&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/carousel.css\");","module.exports = require(\"@abi-software/svg-sprite\");","module.exports = require(\"core-js/modules/es.array.from.js\");","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"core-js/modules/es.symbol.description.js\");","module.exports = require(\"@abi-software/flatmap-viewer\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"element-ui/lib/theme-chalk/header.css\");","module.exports = require(\"element-ui/lib/radio\");","module.exports = require(\"element-ui/lib/theme-chalk/checkbox.css\");","module.exports = require(\"element-ui/lib/button\");","module.exports = require(\"core-js/modules/es.string.replace.js\");","module.exports = require(\"element-ui/lib/locale/lang/en\");","module.exports = require(\"element-ui/lib/row\");","module.exports = require(\"element-ui/lib/theme-chalk/col.css\");","module.exports = require(\"element-ui/lib/theme-chalk/main.css\");","module.exports = require(\"element-ui/lib/link\");","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"element-ui/lib/theme-chalk/option.css\");","module.exports = require(\"core-js/modules/es.set.js\");","module.exports = require(\"core-js/modules/es.array.includes.js\");","module.exports = require(\"vue\");","module.exports = require(\"element-ui/lib/theme-chalk/icon.css\");","module.exports = require(\"element-ui/lib/popover\");","module.exports = require(\"core-js/modules/es.object.to-string.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=style&index=0&id=01b30450&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/base.css\");","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@soda/get-current-script\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"element-ui/lib/carousel\");","module.exports = require(\"element-ui/lib/col\");","module.exports = require(\"element-ui/lib/theme-chalk/popover.css\");","module.exports = require(\"element-ui/lib/loading\");","module.exports = require(\"css-element-queries/src/ResizeSensor\");","module.exports = require(\"element-ui/lib/theme-chalk/container.css\");","module.exports = require(\"element-ui/lib/icon\");","module.exports = require(\"element-ui/lib/checkbox\");","module.exports = require(\"core-js/modules/web.url.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=style&index=0&id=5fb00c0b&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/carousel-item.css\");","module.exports = require(\"element-ui/lib/option\");","module.exports = require(\"element-ui/lib/carousel-item\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=style&index=0&id=4802b201&scoped=true&lang=scss&\"","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"core-js/modules/es.object.keys.js\");","module.exports = require(\"core-js/modules/es.promise.js\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"flatmap-container\",attrs:{\"element-loading-text\":\"Loading...\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.3)\"}},[_c('map-svg-sprite-color'),_c('div',{staticStyle:{\"height\":\"100%\",\"width\":\"100%\",\"position\":\"relative\",\"overflow-y\":\"none\"}},[_c('div',{ref:\"display\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}}),(_vm.displayWarning)?_c('el-popover',{ref:\"warningPopover\",attrs:{\"content\":_vm.warningMessage,\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"warning-popper flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[6], \"value\", $$v)},expression:\"hoverVisibilities[6].value\"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:warningPopover\",arg:\"warningPopover\"}],staticClass:\"el-icon-warning warning-icon\",on:{\"mouseover\":function($event){return _vm.showToolitip(6)},\"mouseout\":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:\"warning-text\"},[_vm._v(\"Beta\")])]):_vm._e(),_c('div',{staticClass:\"bottom-right-control\"},[_c('el-popover',{attrs:{\"content\":\"Zoom in\",\"placement\":\"left\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper left-popper\"},model:{value:(_vm.hoverVisibilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[0], \"value\", $$v)},expression:\"hoverVisibilities[0].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomIn\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomIn\"},nativeOn:{\"click\":function($event){return _vm.zoomIn()},\"mouseover\":function($event){return _vm.showToolitip(0)},\"mouseout\":function($event){return _vm.hideToolitip(0)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Zoom out\",\"placement\":\"top-end\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper popper-zoomout\"},model:{value:(_vm.hoverVisibilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[1], \"value\", $$v)},expression:\"hoverVisibilities[1].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomOut\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomOut\"},nativeOn:{\"click\":function($event){return _vm.zoomOut()},\"mouseover\":function($event){return _vm.showToolitip(1)},\"mouseout\":function($event){return _vm.hideToolitip(1)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Reset\",\"placement\":\"top\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper\"},model:{value:(_vm.hoverVisibilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[2], \"value\", $$v)},expression:\"hoverVisibilities[2].value\"}},[_c('div',[_vm._v(\" Fit to \"),_c('br'),_vm._v(\" window \")]),_c('map-svg-icon',{staticClass:\"icon-button fitWindow\",attrs:{\"slot\":\"reference\",\"icon\":\"fitWindow\"},nativeOn:{\"click\":function($event){return _vm.resetView()},\"mouseover\":function($event){return _vm.showToolitip(2)},\"mouseout\":function($event){return _vm.hideToolitip(2)}},slot:\"reference\"})],1)],1),_c('el-popover',{ref:\"checkBoxPopover\",attrs:{\"content\":\"Change pathway visibility\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[4], \"value\", $$v)},expression:\"hoverVisibilities[4].value\"}}),_c('div',{staticClass:\"pathway-location\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[(_vm.pathways.length > 0 && _vm.pathControls)?_c('div',{directives:[{name:\"popover\",rawName:\"v-popover:checkBoxPopover\",arg:\"checkBoxPopover\"}],staticClass:\"pathway-container\"},[_c('el-popover',{ref:\"markerPopover\",attrs:{\"content\":\"Find these markers for data\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper popper-bump-right right-popper\"},model:{value:(_vm.hoverVisibilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[5], \"value\", $$v)},expression:\"hoverVisibilities[5].value\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hoverVisibilities[5].value),expression:\"hoverVisibilities[5].value\"},{name:\"popover\",rawName:\"v-popover:markerPopover\",arg:\"markerPopover\"}],staticClass:\"flatmap-marker-help\",domProps:{\"innerHTML\":_vm._s(_vm.flatmapMarker)}}),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"pathways-display-text\"},[_vm._v(\"Pathways\")])]),_c('el-col',{attrs:{\"span\":12}},[_c('el-checkbox',{staticClass:\"all-checkbox\",attrs:{\"indeterminate\":_vm.isIndeterminate},on:{\"change\":_vm.handleCheckAllChange},model:{value:(_vm.checkAll),callback:function ($$v) {_vm.checkAll=$$v},expression:\"checkAll\"}},[_vm._v(\"Display all\")])],1)],1),_c('el-checkbox-group',{staticClass:\"checkbox-group\",attrs:{\"size\":\"small\"},on:{\"change\":_vm.handleCheckedItemsChange},model:{value:(_vm.checkedItems),callback:function ($$v) {_vm.checkedItems=$$v},expression:\"checkedItems\"}},[_c('div',{staticClass:\"checkbox-group-inner\"},_vm._l((_vm.pathways),function(item){return _c('el-row',{key:item.type,attrs:{\"label\":item.type}},[_c('div',{staticClass:\"checkbox-container\"},[_c('el-checkbox',{staticClass:\"my-checkbox\",attrs:{\"label\":item.type,\"checked\":true},on:{\"change\":function($event){return _vm.visibilityToggle()}}},[_c('div',{staticClass:\"path-visual\",class:item.type}),_vm._v(\" \"+_vm._s(item.label)+\" \")])],1)])}),1)])],1):_vm._e(),_c('div',{staticClass:\"drawer-button\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})])]),_c('el-popover',{ref:\"backgroundPopover\",attrs:{\"placement\":\"top-start\",\"width\":\"175\",\"appendToBody\":false,\"trigger\":\"click\",\"popper-class\":\"background-popper\"}},[_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Organs display\")]),_c('el-row',{staticClass:\"backgroundControl\"},[_c('el-radio-group',{staticClass:\"flatmap-radio\",on:{\"change\":_vm.setColour},model:{value:(_vm.colourRadio),callback:function ($$v) {_vm.colourRadio=$$v},expression:\"colourRadio\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"Colour\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"Greyscale\")])],1)],1),_c('el-row',{staticClass:\"backgroundSpacer\"}),_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Outlines display\")]),_c('el-row',{staticClass:\"backgroundControl\"},[_c('el-radio-group',{staticClass:\"flatmap-radio\",on:{\"change\":_vm.setOutlines},model:{value:(_vm.outlinesRadio),callback:function ($$v) {_vm.outlinesRadio=$$v},expression:\"outlinesRadio\"}},[_c('el-radio',{attrs:{\"label\":true}},[_vm._v(\"Show\")]),_c('el-radio',{attrs:{\"label\":false}},[_vm._v(\"Hide\")])],1)],1),_c('el-row',{staticClass:\"backgroundSpacer\"}),_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\"Change background\")]),_c('el-row',{staticClass:\"backgroundControl\"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{\"click\":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{\"content\":\"Change background color\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.hoverVisibilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisibilities[3], \"value\", $$v)},expression:\"hoverVisibilities[3].value\"}},[_c('map-svg-icon',{directives:[{name:\"popover\",rawName:\"v-popover:backgroundPopover\",arg:\"backgroundPopover\"}],staticClass:\"icon-button background-colour\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{\"slot\":\"reference\",\"icon\":\"changeBckgd\"},nativeOn:{\"mouseover\":function($event){return _vm.showToolitip(3)},\"mouseout\":function($event){return _vm.hideToolitip(3)}},slot:\"reference\"})],1),_c('Tooltip',{ref:\"tooltip\",staticClass:\"tooltip\",attrs:{\"content\":_vm.tooltipContent,\"flatmapAPI\":_vm.flatmapAPI},on:{\"resource-selected\":_vm.resourceSelected}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tooltip-container\"},[(_vm.content)?_c('el-main',{staticClass:\"main\"},[(_vm.content.title)?_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.titleCase(_vm.content.title)))])]):_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.content.featureId))])]),(_vm.content.featureId)?_c('pubmed-viewer',{staticClass:\"block\",attrs:{\"flatmapAPI\":_vm.flatmapAPI,\"featureId\":_vm.content.featureId},on:{\"pubmedSearchUrl\":_vm.pubmedSearchUrlUpdate}}):_vm._e(),(_vm.content.components)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Components\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.components))])]):_vm._e(),(_vm.content.start)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Origin\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.start))])]):_vm._e(),(_vm.content.distribution)?_c('div',{staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Distribution\")]),_c('span',{staticClass:\"attribute-content\"},[_vm._v(_vm._s(_vm.content.distribution))])]):_vm._e(),_vm._l((_vm.content.actions),function(action){return _c('el-button',{key:action.title,staticClass:\"button\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.resourceSelected(action)}}},[(action.title === 'Search for dataset' || action.title === 'View Dataset' )?_c('i',{staticClass:\"el-icon-coin\"}):_vm._e(),_vm._v(\" \"+_vm._s(action.title)+\" \")])}),(_vm.pubmedSearchUrl)?_c('el-button',{staticClass:\"button\",attrs:{\"icon\":\"el-icon-notebook-2\"},on:{\"click\":function($event){return _vm.openUrl(_vm.pubmedSearchUrl)}}},[_vm._v(\" Open publications in pubmed \")]):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pubmed-container\"},[_c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading.response),expression:\"loading.response\"}],staticClass:\"block\"},[_c('div',{staticClass:\"attribute-title\"},[_vm._v(\"Pubmed Resources\")]),_c('br'),_c('el-carousel',{attrs:{\"autoplay\":false,\"indicator-position\":\"outside\",\"height\":\"250px\",\"width\":\"200px\"}},_vm._l((_vm.pubmeds),function(pub,i){return _c('el-carousel-item',{key:i},[_c('div',{staticClass:\"attribute-content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(pub.html)}}),_c('el-link',{staticClass:\"el-link\",attrs:{\"href\":pub.url,\"underline\":false,\"target\":\"_blank\"}},[_vm._v(_vm._s(pub.url))])],1)])}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","<template>\n <div class=\"pubmed-container\">\n <div v-loading=\"loading.response\" class=\"block\">\n <div class=\"attribute-title\">Pubmed Resources</div>\n <br/>\n <el-carousel \n :autoplay=\"false\" \n indicator-position=\"outside\"\n height=\"250px\" width=\"200px\"\n >\n <el-carousel-item v-for=\"(pub, i) in pubmeds\" :key=\"i\">\n <div class=\"attribute-content\">\n <div v-html=\"pub.html\"/>\n <el-link :href=\"pub.url\" :underline=\"false\" class=\"el-link\" target=\"_blank\">{{pub.url}}</el-link>\n </div>\n </el-carousel-item>\n </el-carousel>\n </div>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Link,\n Carousel,\n CarouselItem\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nlocale.use(lang);\nVue.use(Link);\nVue.use(Carousel);\nVue.use(CarouselItem);\n\n\nexport default {\n name: \"Tooltip\",\n props: { \n featureId: {\n type: String,\n default: ''\n },\n /**\n * Specify the endpoint of the flatmap server.\n */\n flatmapAPI: {\n type: String,\n default: \"https://mapcore-demo.org/flatmaps/\"\n }\n },\n watch: {\n 'featureId': function (val){\n console.log('feature id watch triggered', val)\n this.flatmapQuery(val)\n }\n },\n computed: {\n },\n data: function() {\n return {\n pubmeds: [],\n pubmedIds: [],\n loading: {response: true, publications: true}\n };\n },\n mounted: function() {\n this.flatmapQuery(this.featureId)\n },\n methods: {\n stripPMIDPrefix: function (pubmedId){\n return pubmedId.split(':')[1]\n },\n titleFromPubmed: function (pubmedId){\n return new Promise((resolve) => {\n fetch(`https://api.ncbi.nlm.nih.gov/lit/ctxp/v1/pubmed/?format=citation&contenttype=json&id=${pubmedId}`)\n .then(response => response.json())\n .then(data => {\n resolve(data.apa.format)\n })\n .catch((error) => {\n console.error('Error:', error);\n });\n })\n },\n splitLink(bibliographyString){\n let split = bibliographyString.split('https')\n return [split[0], 'https' + split[1]]\n },\n flatmapQuery: function(identifier){\n this.pubmeds = []\n this.loading.response = true\n let endpoint = this.flatmapAPI + 'knowledge/query/';\n const data = { sql: 'select publication from publications where entity=?', \"params\": [identifier]};\n fetch(endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(data),\n })\n .then(response => response.json())\n .then(data => {\n this.responseData = data\n this.loading.response = false\n data.values.forEach(identifier => {\n let ids = this.stripPMIDPrefix(identifier[0])\n this.titleFromPubmed(ids).then( bib=>{\n let [html, link] = this.splitLink(bib)\n this.pubmeds.push({identifier: identifier[0] , html: html, url: link})\n \n })\n });\n this.$emit('pubmedSearchUrl', this.pubmedSearchUrl(data.values.map(id=>this.stripPMIDPrefix(id[0]))))\n })\n .catch((error) => {\n console.error('Error:', error);\n });\n },\n pubmedSearchUrl: function(ids) {\n let url = 'https://pubmed.ncbi.nlm.nih.gov/?'\n let params = new URLSearchParams()\n params.append('term', ids)\n return url + params.toString()\n }\n }\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/link\";\n@import \"~element-ui/packages/theme-chalk/src/carousel\";\n@import \"~element-ui/packages/theme-chalk/src/carousel-item\";\n\n.attribute-title{\n font-size: 16px;\n font-weight: 600;\n /* font-weight: bold; */\n text-transform: uppercase;\n}\n\n.attribute-content{\n font-size: 14px;\n font-weight: 400;\n}\n\n.el-link {\n color: $app-primary-color;\n text-decoration: none;\n word-wrap: break-word;\n &:hover, &:focus{\n color: $app-primary-color;\n text-decoration: underline;\n }\n}\n\n::v-deep .el-carousel__button {\n background-color: $app-primary-color; \n}\n\n.button {\n margin-left: 0px !important;\n margin-top: 0px !important;\n font-size: 14px !important;\n background-color: $app-primary-color;\n color: #fff;\n &:hover{\n color: #fff !important;\n background: #ac76c5 !important;\n border: 1px solid #ac76c5 !important;\n }\n &+.button {\n margin-top: 10px !important;\n background-color: $app-primary-color;\n color: #fff; \n }\n}\n\n</style>","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PubmedViewer.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./PubmedViewer.vue?vue&type=template&id=06d0e387&scoped=true&\"\nimport script from \"./PubmedViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./PubmedViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PubmedViewer.vue?vue&type=style&index=0&id=06d0e387&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06d0e387\",\n null\n \n)\n\nexport default component.exports","<template>\n <div class=\"tooltip-container\">\n <el-main v-if=\"content\" class=\"main\">\n <div class=\"block\" v-if=\"content.title\">\n <span class=\"title\">{{titleCase(content.title)}}</span>\n </div>\n <div class=\"block\" v-else>\n <span class=\"title\">{{content.featureId}}</span>\n </div>\n \n\n <pubmed-viewer v-if=\"content.featureId\" class=\"block\" :flatmapAPI=flatmapAPI :featureId=\"content.featureId\" @pubmedSearchUrl=\"pubmedSearchUrlUpdate\"/>\n <div v-if=\"content.components\" class=\"block\">\n <div class=\"attribute-title\">Components</div>\n <span class=\"attribute-content\">{{content.components}}</span>\n </div>\n <div v-if=\"content.start\" class=\"block\">\n <div class=\"attribute-title\">Origin</div>\n <span class=\"attribute-content\">{{content.start}}</span>\n </div>\n <div v-if=\"content.distribution\" class=\"block\">\n <div class=\"attribute-title\">Distribution</div>\n <span class=\"attribute-content\">{{content.distribution}}</span>\n </div>\n <el-button v-for=\"action in content.actions\" round :key=\"action.title\"\n class=\"button\" @click=\"resourceSelected(action)\">\n <i v-if=\"action.title === 'Search for dataset' || action.title === 'View Dataset' \" class=\"el-icon-coin\"></i>\n {{action.title}}\n </el-button>\n <el-button v-if=\"pubmedSearchUrl\" class=\"button\" icon=\"el-icon-notebook-2\" @click=\"openUrl(pubmedSearchUrl)\">\n Open publications in pubmed\n </el-button>\n </el-main>\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport {\n Button,\n Container,\n Header,\n Icon,\n Main\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nlocale.use(lang);\nVue.use(Button);\nVue.use(Container);\nVue.use(Header);\nVue.use(Icon);\nVue.use(Main);\n\nimport PubmedViewer from './PubmedViewer.vue'\n\nconst titleCase = (str) => {\n return str.replace(/\\w\\S*/g, (t) => { return t.charAt(0).toUpperCase() + t.substr(1).toLowerCase() });\n}\n\nexport default {\n components: { PubmedViewer },\n name: \"Tooltip\",\n props: { \n visible: {\n type: Boolean,\n default: false\n },\n content: {\n type: Object,\n default: undefined\n },\n /**\n * Specify the endpoint of the flatmap server.\n */\n flatmapAPI: {\n type: String,\n default: \"https://mapcore-demo.org/flatmaps/\"\n }\n },\n data: function() {\n return {\n activeSpecies: undefined,\n appendToBody: false,\n pubmedSearchUrl: ''\n };\n },\n methods: {\n resourceSelected: function(action) {\n this.$emit(\"resource-selected\", action); \n },\n titleCase: function(title){\n return titleCase(title)\n },\n onClose: function() {\n this.$emit(\"onClose\");\n },\n openUrl: function(url){\n window.open(url, '_blank')\n },\n pubmedSearchUrlUpdate: function (val){\n this.pubmedSearchUrl = val\n }\n }\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/button\";\n@import \"~element-ui/packages/theme-chalk/src/container\";\n@import \"~element-ui/packages/theme-chalk/src/header\";\n@import \"~element-ui/packages/theme-chalk/src/main\";\n\n.tooltip-container {\n text-align:justify;\n border-radius: 4px;\n box-shadow: 0 1px 2px rgba(0,0,0,.1);\n pointer-events: auto;\n background: #fff;\n border: 1px solid $app-primary-color;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.display {\n width: 44px;\n word-break: normal;\n}\n\n.title {\n text-align: left;\n width: 16em;\n line-height: 1.5em !important;\n font-size: 1em;\n font-family: Helvetica;\n font-weight: 500;\n /* font-weight: bold; */\n padding-bottom: 8px;\n}\n\n.block {\n margin-bottom: 1.5em;\n}\n\n.pub {\n width: 16rem;\n}\n\n.icon {\n right: 0px;\n position: absolute;\n top: 10px;\n}\n\n.icon:hover {\n cursor: pointer;\n}\n\n.main {\n font-size: 14px;\n text-align: left;\n line-height: 1.5em;\n font-family: Helvetica;\n font-weight: 400;\n /* outline: thin red solid; */\n padding: 1em !important;\n overflow: hidden;\n min-width: 16rem;\n}\n\n.attribute-title{\n font-size: 16px;\n font-weight: 600;\n /* font-weight: bold; */\n text-transform: uppercase;\n}\n\n.attribute-content{\n font-size: 14px;\n font-weight: 400;\n}\n\n.popover-container {\n height: 100%;\n width: 100%;\n}\n\n.main {\n .el-button.is-round{\n border-radius: 4px;\n padding: 9px 20px 10px 20px;\n display: flex;\n height: 36px;\n }\n}\n\n.button {\n margin-left: 0px !important;\n margin-top: 0px !important;\n font-size: 14px !important;\n background-color: $app-primary-color;\n color: #fff;\n &+.button {\n margin-top: 10px !important;\n }\n &:hover {\n color: #fff !important;\n background: #ac76c5 !important;\n border: 1px solid #ac76c5 !important;\n }\n}\n\n.tooltip-container{\n &::after, &::before {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n flex-shrink: 0;\n }\n}\n\n.mapboxgl-popup-anchor-bottom {\n .tooltip-container {\n &::after, &::before {\n top: 100%;\n border-width: 12px;\n }\n &::after {\n margin-top:-1px;\n border-color: rgb(255, 255, 255) transparent transparent transparent ;\n }\n &::before {\n margin: 0 auto;\n border-color: $app-primary-color transparent transparent transparent ;\n }\n }\n}\n\n.mapboxgl-popup-anchor-top {\n .tooltip-container {\n &::after, &::before {\n top: -24px;\n border-width: 12px;\n }\n &::after {\n margin-top: 1px;\n border-color: transparent transparent rgb(255, 255, 255) transparent ;\n }\n &::before {\n margin: 0 auto;\n border-color: transparent transparent $app-primary-color transparent ;\n }\n }\n}\n\n\n/* Fix for chrome bug where under triangle pops up above one on top of it */\n.selector:not(*:root), .tooltip-container::after{\n top: 99.4%;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tooltip.vue?vue&type=template&id=4802b201&scoped=true&\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Tooltip.vue?vue&type=style&index=0&id=4802b201&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4802b201\",\n null\n \n)\n\nexport default component.exports","export default '<div class=\"flatmap-marker\"><svg display=\"block\" height=\"41px\" width=\"27px\" viewBox=\"0 0 27 41\"><g fill-rule=\"nonzero\"><g transform=\"translate(3.0, 29.0)\" fill=\"#000000\"><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"10.5\" ry=\"5.25002273\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"10.5\" ry=\"5.25002273\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"9.5\" ry=\"4.77275007\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"8.5\" ry=\"4.29549936\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"7.5\" ry=\"3.81822308\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"6.5\" ry=\"3.34094679\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"5.5\" ry=\"2.86367051\"></ellipse><ellipse opacity=\"0.04\" cx=\"10.5\" cy=\"5.80029008\" rx=\"4.5\" ry=\"2.38636864\"></ellipse></g><g fill=\"#005974\"><path d=\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"></path></g><g opacity=\"0.25\" fill=\"#000000\"><path d=\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"></path></g><g transform=\"translate(6.0, 7.0)\" fill=\"#FFFFFF\"></g><g transform=\"translate(8.0, 8.0)\"><circle fill=\"#000000\" opacity=\"0.25\" cx=\"5.5\" cy=\"5.5\" r=\"5.4999962\"></circle><circle fill=\"#FFFFFF\" cx=\"5.5\" cy=\"5.5\" r=\"5.4999962\"></circle></g></g></svg></div>'","<template>\n <div\n class=\"flatmap-container\"\n v-loading=\"loading\"\n element-loading-text=\"Loading...\"\n element-loading-spinner=\"el-icon-loading\"\n element-loading-background=\"rgba(0, 0, 0, 0.3)\"\n >\n <map-svg-sprite-color />\n <div style=\"height:100%;width:100%;position:relative;overflow-y:none\">\n <div style=\"height:100%;width:100%;\" ref=\"display\"></div>\n <el-popover\n :content=\"warningMessage\"\n placement=\"right\"\n v-if=\"displayWarning\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"warning-popper flatmap-popper right-popper\"\n v-model=\"hoverVisibilities[6].value\"\n ref=\"warningPopover\"\n ></el-popover>\n <i\n class=\"el-icon-warning warning-icon\"\n v-if=\"displayWarning\"\n @mouseover=\"showToolitip(6)\"\n @mouseout=\"hideToolitip(6)\"\n v-popover:warningPopover\n >\n <span class=\"warning-text\">Beta</span>\n </i>\n <div class=\"bottom-right-control\">\n <el-popover\n content=\"Zoom in\"\n placement=\"left\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper left-popper\"\n v-model=\"hoverVisibilities[0].value\"\n >\n <map-svg-icon\n icon=\"zoomIn\"\n class=\"icon-button zoomIn\"\n slot=\"reference\"\n @click.native=\"zoomIn()\"\n @mouseover.native=\"showToolitip(0)\"\n @mouseout.native=\"hideToolitip(0)\"\n />\n </el-popover>\n <el-popover\n content=\"Zoom out\"\n placement=\"top-end\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper popper-zoomout\"\n v-model=\"hoverVisibilities[1].value\"\n >\n <map-svg-icon\n icon=\"zoomOut\"\n class=\"icon-button zoomOut\"\n slot=\"reference\"\n @click.native=\"zoomOut()\"\n @mouseover.native=\"showToolitip(1)\"\n @mouseout.native=\"hideToolitip(1)\"\n />\n </el-popover>\n <el-popover\n content=\"Reset\"\n placement=\"top\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper\"\n v-model=\"hoverVisibilities[2].value\"\n >\n <div>\n Fit to\n <br>\n window\n </div>\n <map-svg-icon\n slot=\"reference\"\n icon=\"fitWindow\"\n class=\"icon-button fitWindow\"\n @click.native=\"resetView()\"\n @mouseover.native=\"showToolitip(2)\"\n @mouseout.native=\"hideToolitip(2)\"\n />\n </el-popover>\n </div>\n <el-popover\n content=\"Change pathway visibility\"\n placement=\"right\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper right-popper\"\n v-model=\"hoverVisibilities[4].value\"\n ref=\"checkBoxPopover\"\n />\n <div class=\"pathway-location\" :class=\"{ open: drawerOpen, close: !drawerOpen }\">\n <div\n class=\"pathway-container\"\n v-if=\"pathways.length > 0 && pathControls\"\n v-popover:checkBoxPopover\n >\n <el-popover\n content=\"Find these markers for data\"\n placement=\"right\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper popper-bump-right right-popper\"\n v-model=\"hoverVisibilities[5].value\"\n ref=\"markerPopover\"\n ></el-popover>\n <div\n v-show=\"hoverVisibilities[5].value\"\n class=\"flatmap-marker-help\"\n v-html=\"flatmapMarker\"\n v-popover:markerPopover\n ></div>\n <el-row>\n <el-col :span=\"12\">\n <div class=\"pathways-display-text\">Pathways</div>\n </el-col>\n <el-col :span=\"12\">\n <el-checkbox\n class=\"all-checkbox\"\n :indeterminate=\"isIndeterminate\"\n v-model=\"checkAll\"\n @change=\"handleCheckAllChange\"\n >Display all</el-checkbox>\n </el-col>\n </el-row>\n <el-checkbox-group\n v-model=\"checkedItems\"\n size=\"small\"\n class=\"checkbox-group\"\n @change=\"handleCheckedItemsChange\"\n >\n <div class=\"checkbox-group-inner\">\n <el-row v-for=\"item in pathways\" :key=\"item.type\" :label=\"item.type\">\n <div class=\"checkbox-container\">\n <el-checkbox\n class=\"my-checkbox\"\n :label=\"item.type\"\n @change=\"visibilityToggle()\"\n :checked=\"true\"\n >\n <div class=\"path-visual\" :class=\"item.type\"></div>\n {{item.label}}\n </el-checkbox>\n </div>\n </el-row>\n </div>\n </el-checkbox-group>\n </div>\n <div\n @click=\"toggleDrawer\"\n class=\"drawer-button\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n >\n <i class=\"el-icon-arrow-left\"></i>\n </div>\n </div>\n <el-popover\n ref=\"backgroundPopover\"\n placement=\"top-start\"\n width=\"175\"\n :appendToBody=\"false\"\n trigger=\"click\"\n popper-class=\"background-popper\"\n >\n <el-row class=\"backgroundText\">Organs display</el-row>\n <el-row class=\"backgroundControl\">\n <el-radio-group v-model=\"colourRadio\" class=\"flatmap-radio\" @change=\"setColour\">\n <el-radio :label=\"true\">Colour</el-radio>\n <el-radio :label=\"false\">Greyscale</el-radio>\n </el-radio-group>\n </el-row>\n <el-row class=\"backgroundSpacer\"></el-row>\n <el-row class=\"backgroundText\">Outlines display</el-row>\n <el-row class=\"backgroundControl\">\n <el-radio-group v-model=\"outlinesRadio\" class=\"flatmap-radio\" @change=\"setOutlines\">\n <el-radio :label=\"true\">Show</el-radio>\n <el-radio :label=\"false\">Hide</el-radio>\n </el-radio-group>\n </el-row>\n <el-row class=\"backgroundSpacer\"></el-row>\n <el-row class=\"backgroundText\">Change background</el-row>\n <el-row class=\"backgroundControl\">\n <div\n v-for=\"item in availableBackground\"\n :key=\"item\"\n :class=\"['backgroundChoice', item, item == currentBackground ? 'active' :'']\"\n @click=\"backgroundChangeCallback(item)\"\n />\n </el-row>\n </el-popover>\n <el-popover\n content=\"Change background color\"\n placement=\"right\"\n v-model=\"hoverVisibilities[3].value\"\n :appendToBody=\"false\"\n trigger=\"manual\"\n popper-class=\"flatmap-popper right-popper\"\n >\n <map-svg-icon\n v-popover:backgroundPopover\n icon=\"changeBckgd\"\n class=\"icon-button background-colour\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n slot=\"reference\"\n @mouseover.native=\"showToolitip(3)\"\n @mouseout.native=\"hideToolitip(3)\"\n />\n </el-popover>\n <Tooltip\n ref=\"tooltip\"\n class=\"tooltip\"\n :content=\"tooltipContent\"\n :flatmapAPI=\"flatmapAPI\"\n @resource-selected=\"resourceSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport Tooltip from \"./Tooltip\";\nimport { MapSvgIcon, MapSvgSpriteColor } from \"@abi-software/svg-sprite\";\nimport {\n Checkbox,\n CheckboxGroup,\n Col,\n Loading,\n Radio,\n RadioGroup,\n Row\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport flatmapMarker from \"../icons/flatmap-marker\";\nlocale.use(lang);\nVue.use(Checkbox);\nVue.use(CheckboxGroup);\nVue.use(Col);\nVue.use(Loading.directive);\nVue.use(Radio);\nVue.use(RadioGroup);\nVue.use(Row);\nconst ResizeSensor = require(\"css-element-queries/src/ResizeSensor\");\n\nconst mapResize = map => {\n return () => {\n if (map) map.resize();\n };\n};\n\nexport default {\n name: \"FlatmapVuer\",\n components: {\n MapSvgIcon,\n MapSvgSpriteColor,\n Tooltip\n },\n beforeCreate: function() {\n this.mapManager = undefined;\n this.mapImp = undefined;\n },\n methods: {\n backgroundChangeCallback: function(colour) {\n this.currentBackground = colour;\n if (this.mapImp) {\n this.mapImp.setBackgroundColour(this.currentBackground, 1);\n }\n },\n toggleDrawer: function() {\n this.drawerOpen = !this.drawerOpen;\n },\n /**\n * Function to toggle colour/greyscale of organs.\n */\n setColour: function(flag) {\n this.colourRadio = flag;\n if (this.mapImp) {\n this.mapImp.setColour({ colour: flag, outline: this.outlinesRadio });\n }\n },\n /**\n * Function to toggle outlines f organs.\n */\n setOutlines: function(flag) {\n this.outlineRadio = flag;\n if (this.mapImp) {\n this.mapImp.setColour({ colour: this.colourRadio, outline: flag });\n }\n },\n /**\n * Function to toggle paths to default.\n * Also called when the associated button is pressed.\n */\n resetView: function() {\n if (this.mapImp) {\n this.mapImp.resetMap();\n this.checkedItems = this.mapImp.pathTypes().map(item => item.type);\n this.isIndeterminate = false;\n this.checkAll = true;\n }\n },\n /**\n * Function to zoom in.\n * Also called when the associated button is pressed.\n */\n zoomIn: function() {\n if (this.mapImp) {\n this.mapImp.zoomIn();\n }\n },\n /**\n * Function to zoom out.\n * Also called when the associated button is pressed.\n */\n zoomOut: function() {\n if (this.mapImp) {\n this.mapImp.zoomOut();\n }\n },\n visibilityToggle: function() {\n if (this.mapImp) {\n this.mapImp.showPaths(this.checkedItems);\n }\n },\n handleCheckedItemsChange: function(value) {\n let checkedCount = value.length;\n this.checkAll = checkedCount === this.pathways.length;\n this.isIndeterminate =\n checkedCount > 0 && checkedCount < this.pathways.length;\n },\n handleCheckAllChange(val) {\n this.checkedItems = val ? this.pathways.map(a => a.type) : [];\n this.isIndeterminate = false;\n if (this.mapImp) {\n this.mapImp.showPaths(this.checkedItems);\n }\n },\n enablePanZoomEvents: function(flag) {\n this.mapImp.enablePanZoomEvents(flag);\n },\n eventCallback: function() {\n return (eventType, data, ...args) => {\n if (eventType !== \"pan-zoom\") {\n const label = data.label;\n const resource = [data.models];\n const taxonomy = this.entry;\n const payload = {\n dataset: data.dataset,\n taxonomy: taxonomy,\n resource: resource,\n label: label,\n feature: data,\n userData: args,\n eventType: eventType\n };\n // Disable the nueron pop up for now.\n if (data && data.type !== \"marker\")\n this.checkAndCreatePopups(data);\n this.$emit(\"resource-selected\", payload);\n } else {\n this.$emit(\"pan-zoom-callback\", data);\n }\n };\n },\n // checkNeuronClicked shows a neuron path pop up if a path was recently clicked\n checkAndCreatePopups: function(data) {\n if (\n data.eventType == \"click\" &&\n this.createTooltipFromNeuronCuration(data)\n ) {\n this.mapImp.showPopup(\n this.mapImp.modelFeatureIds(data.resource[0])[0],\n this.$refs.tooltip.$el,\n { className: \"flatmap-tooltip-dialog\" }\n );\n this.popUpCssHack();\n }\n },\n popUpCssHack: function() {\n // Below is a hack to remove flatmap tooltips while popup is open\n let ftooltip = document.querySelector(\".flatmap-tooltip-popup\");\n if (ftooltip) ftooltip.style.display = \"none\";\n document.querySelector(\".mapboxgl-popup-close-button\").style.display =\n \"block\";\n this.$refs.tooltip.$el.style.display = \"flex\";\n document.querySelector(\".mapboxgl-popup-close-button\").onclick = () => {\n document.querySelector(\".flatmap-tooltip-popup\").style.display =\n \"block\";\n };\n },\n resourceSelected: function(action) {\n this.$emit(\"resource-selected\", action);\n },\n createTooltipFromNeuronCuration: function(data) {\n const feature = data.resource[0];\n let content = {\n title: undefined,\n components: undefined,\n start: undefined,\n distribution: undefined,\n actions: []\n };\n\n let foundAnnotations = false;\n this.tooltipVisible = false;\n\n // neural data check\n if (feature) {\n if (feature.includes(\"ilxtr:neuron\")) {\n foundAnnotations = true;\n this.tooltipVisible = true;\n this.tooltipContent = content;\n this.tooltipContent.uberon = feature;\n this.tooltipContent.title = data.label;\n this.tooltipContent.featureId = feature;\n this.tooltipContent.actions.push({\n title: \"Search for dataset\",\n label: \"Neuron Datasets\",\n resource: feature.split(\":\")[1],\n type: \"Neuron Search\",\n nervePath: true\n });\n }\n }\n // annotated with datset check\n if (data.dataset) {\n foundAnnotations = true;\n this.tooltipVisible = true;\n this.tooltipContent = content;\n this.tooltipContent.uberon = feature;\n this.tooltipContent.title = data.label;\n this.tooltipContent.actions.push({\n title: \"View dataset\",\n resource: data.dataset,\n type: \"URL\",\n nervePath: false\n });\n }\n\n if (foundAnnotations) {\n return true;\n } else {\n return false;\n }\n },\n // Keeping this as an API\n showPopup: function(featureId, node, options) {\n let myOptions = options;\n if (this.mapImp) {\n if (myOptions) {\n if (!myOptions.className) myOptions.className = \"flatmapvuer-popover\";\n } else {\n myOptions = { className: \"flatmapvuer-popover\" };\n }\n this.mapImp.showPopup(featureId, node, myOptions);\n }\n },\n showMarkerPopup: function(featureId, node, options) {\n if (this.mapImp) {\n this.mapImp.showMarkerPopup(featureId, node, options);\n }\n },\n setHelpMode: function(helpMode) {\n if (helpMode) {\n this.inHelp = true;\n this.hoverVisibilities.forEach(item => {\n item.value = true;\n });\n this.openFlatmapHelpPopup();\n } else {\n this.inHelp = false;\n this.hoverVisibilities.forEach(item => {\n item.value = false;\n });\n this.closeFlatmapHelpPopup();\n }\n },\n showToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.tooltipWait = setTimeout(() => {\n this.hoverVisibilities[tooltipNumber].value = true;\n }, 500);\n }\n },\n hideToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.hoverVisibilities[tooltipNumber].value = false;\n clearTimeout(this.tooltipWait);\n }\n },\n openFlatmapHelpPopup: function() {\n if (this.mapImp) {\n let heartId = this.mapImp.featureIdsForModel(\"UBERON:0000948\")[0];\n const elm = \"Click for more information\";\n this.mapImp.showPopup(heartId, elm, {\n anchor: \"top\",\n className: \"flatmap-popup-popper\"\n });\n }\n },\n closeFlatmapHelpPopup: function() {\n this.$el\n .querySelectorAll(\".mapboxgl-popup-close-button\")\n .forEach(item => {\n item.click();\n });\n },\n getLabels: function() {\n let labels = [];\n if (this.mapImp) {\n let annotations = this.mapImp.annotations;\n for (let value of annotations.values()) {\n if (value.label) labels.push(value.label);\n }\n return Array.from(new Set(labels));\n }\n },\n getState: function() {\n if (this.mapImp) {\n let state = {\n entry: this.entry,\n viewport: this.mapImp.getState()\n };\n return state;\n }\n return undefined;\n },\n setState: function(state) {\n if (state) {\n if (this.mapImp && state.entry) {\n if (this.entry == state.entry)\n if (state.viewport) {\n this.mapImp.setState(state.viewport);\n }\n } else {\n this.createFlatmap(state);\n }\n }\n },\n createFlatmap: function(state) {\n if (!this.mapImp && !this.loading) {\n this.loading = true;\n let minimap = false;\n if (this.displayMinimap) {\n minimap = { position: \"top-right\" };\n }\n let entry = this.entry;\n if (state && state.entry) entry = state.entry;\n let promise1 = this.mapManager.loadMap(\n entry,\n this.$refs.display,\n this.eventCallback(),\n {\n //fullscreenControl: false,\n //annotatable: false,\n //debug: true,\n featureInfo: this.featureInfo,\n \"min-zoom\": this.minZoom,\n pathControls: false,\n searchable: this.searchable,\n tooltips: this.tooltips,\n minimap: minimap\n }\n );\n promise1.then(returnedObject => {\n this.mapImp = returnedObject;\n this.sensor = new ResizeSensor(\n this.$refs.display,\n mapResize(this.mapImp)\n );\n this.mapImp.setBackgroundOpacity(1);\n this.backgroundChangeCallback(this.currentBackground);\n this.pathways = this.mapImp.pathTypes();\n this.$emit(\"ready\", this);\n this.loading = false;\n if (this._viewportToBeSet)\n this.mapImp.setState(this._viewportToBeSet);\n else if (state && state.viewport)\n this.mapImp.setState(state.viewport);\n });\n } else if (state) {\n if (this.entry == state.entry) this._viewportToBeSet = state.viewport;\n }\n },\n showMinimap: function(flag) {\n if (this.mapImp)\n this.mapImp.showMinimap(flag);\n },\n showPathwaysDrawer: function(flag) {\n this.drawerOpen = flag;\n },\n /**\n * Function to display features with annotation matching the provided term.\n */\n searchAndShowResult: function(term) {\n if (this.mapImp) {\n if (term === undefined || term === \"\") {\n this.mapImp.clearSearchResults();\n } else {\n let searchResults = this.mapImp.search(term);\n if (searchResults && searchResults.__featureIds.length > 0)\n this.mapImp.showSearchResults(searchResults);\n else this.mapImp.clearSearchResults();\n }\n }\n }\n },\n props: {\n entry: String,\n featureInfo: {\n type: Boolean,\n default: false\n },\n minZoom: {\n type: Number,\n default: 4\n },\n pathControls: {\n type: Boolean,\n default: true\n },\n searchable: {\n type: Boolean,\n default: false\n },\n tooltips: {\n type: Boolean,\n default: true\n },\n helpMode: {\n type: Boolean,\n default: false\n },\n renderAtMounted: {\n type: Boolean,\n default: true\n },\n displayWarning: {\n type: Boolean,\n default: true\n },\n displayMinimap: {\n type: Boolean,\n default: false\n },\n warningMessage: {\n type: String,\n default: \"Beta feature - This map is based on the connectivity of a rat. New connectivity and species specificity will be added as the SPARC program progress.\"\n },\n /**\n * State containing state of the flatmap.\n */\n state: {\n type: Object,\n default: undefined\n },\n /**\n * Specify the endpoint of the flatmap server.\n */\n flatmapAPI: {\n type: String,\n default: \"https://mapcore-demo.org/flatmaps/\"\n }\n },\n data: function() {\n return {\n checkedItems: [],\n pathways: [],\n isIndeterminate: false,\n checkAll: true,\n hoverVisibilities: [\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false }\n ],\n inHelp: false,\n currentBackground: \"white\",\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\n loading: false,\n flatmapMarker: flatmapMarker,\n drawerOpen: true,\n tooltipContent: {},\n colourRadio: true,\n outlinesRadio: true\n };\n },\n watch: {\n entry: function() {\n if (!this.state) this.createFlatmap();\n },\n helpMode: function(val) {\n this.setHelpMode(val);\n },\n state: {\n handler: function(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true\n }\n },\n mounted: function() {\n const flatmap = require(\"@abi-software/flatmap-viewer\");\n this.mapManager = new flatmap.MapManager(this.flatmapAPI);\n if (this.renderAtMounted) this.createFlatmap();\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/button\";\n@import \"~element-ui/packages/theme-chalk/src/checkbox\";\n@import \"~element-ui/packages/theme-chalk/src/checkbox-group\";\n@import \"~element-ui/packages/theme-chalk/src/loading\";\n@import \"~element-ui/packages/theme-chalk/src/row\";\n\n.warning-icon {\n position: absolute;\n top: 90px;\n left: 37px;\n text-align: left;\n font-size: 25px;\n color: $warning;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.warning-text {\n font-size: 15px;\n vertical-align: 5px;\n}\n\n.path-visual {\n margin: 3px 0;\n height: 3px;\n width: 25px;\n margin-right: 5px;\n display: inline-block;\n &.cns {\n background: #9b1fc1;\n }\n &.lcn {\n background: #f19e38;\n }\n &.para-pre {\n background: #3f8f4a;\n }\n &.para-post {\n background: repeating-linear-gradient(\n 90deg,\n #3f8f4a,\n #3f8f4a 6px,\n transparent 0,\n transparent 9px\n );\n }\n &.sensory {\n background: #2a62f6;\n }\n &.somatic {\n background: #98561d;\n }\n &.symp-pre {\n background: #ea3423;\n }\n &.symp-post {\n background: repeating-linear-gradient(\n 90deg,\n #ea3423,\n #ea3423 6px,\n transparent 0,\n transparent 9px\n );\n }\n}\n\n.flatmap-container {\n height: 100%;\n width: 100%;\n}\n\n.pathway-location {\n position: absolute;\n bottom: 0px;\n transition: all 1s ease;\n &.open {\n left: 0px;\n }\n &.close {\n left: -298px;\n }\n}\n\n.pathway-container {\n float: left;\n padding-left: 16px;\n padding-right: 18px;\n max-height: calc(100% - 184px);\n text-align: left;\n overflow: auto;\n border: 1px solid rgb(220, 223, 230);\n padding-top: 7px;\n padding-bottom: 16px;\n background: #ffffff;\n}\n\n.pathways-display-text {\n width: 59px;\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n margin-left: 8px;\n}\n\n.all-checkbox {\n float: right;\n}\n\n.checkbox-container {\n display: flex;\n cursor: pointer;\n}\n\n.checkbox-group {\n width: 260px;\n border: 1px solid rgb(144, 147, 153);\n border-radius: 4px;\n background: #ffffff;\n}\n\n.my-checkbox {\n background-color: #fff;\n width: 100%;\n}\n\n.checkbox-group-inner {\n padding: 18px;\n}\n\n.flatmap-marker-help {\n display: inline-block;\n}\n\n::v-deep .popper-bump-right {\n left: 30px;\n}\n\n::v-deep .el-checkbox__label {\n padding-left: 5px;\n color: $app-primary-color;\n font-size: 12px;\n font-weight: 500;\n letter-spacing: 0px;\n line-height: 14px;\n}\n\n::v-deep .el-checkbox__input {\n &.is-indeterminate,\n &.is-checked {\n .el-checkbox__inner {\n background-color: $app-primary-color;\n border-color: $app-primary-color;\n }\n }\n}\n\n::v-deep .el-checkbox__label {\n color: $app-primary-color !important;\n}\n\n.el-dropdown-link {\n cursor: pointer;\n color: #409eff;\n}\n.el-icon-arrow-down {\n font-size: 12px;\n}\n.demonstration {\n display: block;\n color: #8492a6;\n font-size: 14px;\n margin-bottom: 20px;\n}\n\n.tooltip {\n display: none;\n}\n\n::v-deep .mapboxgl-popup {\n max-width: 300px !important;\n}\n\n::v-deep .flatmap-tooltip-popup {\n &.mapboxgl-popup-anchor-bottom {\n .mapboxgl-popup-content {\n margin-bottom: 12px;\n &::after,\n &::before {\n top: 100%;\n border-width: 12px;\n }\n /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */\n &::after {\n margin-top: -1px;\n border-color: rgb(255, 255, 255) transparent transparent transparent;\n }\n /* this border color controlls the outside, thin border */\n &::before {\n margin: 0 auto;\n border-color: $app-primary-color transparent transparent transparent;\n }\n }\n }\n &.mapboxgl-popup-anchor-top {\n .mapboxgl-popup-content {\n margin-top: 18px;\n &::after,\n &::before {\n top: calc(-100% + 6px);\n border-width: 12px;\n }\n /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */\n &::after {\n margin-top: 1px;\n border-color: transparent transparent rgb(255, 255, 255) transparent;\n }\n &::before {\n margin: 0 auto;\n border-color: transparent transparent $app-primary-color transparent;\n }\n }\n }\n .mapboxgl-popup-content {\n border-radius: 4px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n pointer-events: none;\n display: none;\n background: #fff;\n border: 1px solid $app-primary-color;\n padding-left: 6px;\n padding-right: 6px;\n display: flex;\n justify-content: center;\n align-items: center;\n &::after,\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n flex-shrink: 0;\n }\n }\n .mapboxgl-popup-tip {\n display: none;\n }\n}\n\n::v-deep .mapboxgl-popup {\n &.flatmap-marker-popup {\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);\n pointer-events: auto;\n background: #fff;\n }\n}\n\n/* Fix for chrome bug where under triangle pops up above one on top of it */\n.selector:not(*:root),\n::v-deep.flatmap-tooltip-popup {\n .mapboxgl-popup-content::after {\n top: 99.9%;\n }\n}\n\n::v-deep .flatmap-tooltip-dialog {\n .mapboxgl-popup-tip {\n display: none;\n }\n}\n\n::v-deep .flatmap-marker-popup {\n .mapboxgl-popup-content {\n padding: 0px;\n }\n}\n\n::v-deep .flatmapvuer-popover {\n .mapboxgl-popup-close-button {\n position: absolute;\n right: 0.5em;\n top: 0;\n border: 0;\n border-radius: 0 3px 0 0;\n cursor: pointer;\n background-color: transparent;\n font-size: 2.5em;\n color: grey;\n top: 0.95em;\n }\n}\n\n.zoomOut {\n padding-left: 8px;\n}\n\n.fitWindow {\n padding-left: 8px;\n}\n\n.background-colour {\n bottom: 16px;\n position: absolute;\n transition: all 1s ease;\n}\n.background-colour.open {\n left: 322px;\n}\n.background-colour.close {\n left: 24px;\n}\n\n::v-deep .background-popper {\n padding: 5px 12px;\n background-color: #ffffff;\n border: 1px solid $app-primary-color;\n box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);\n height: 200px;\n width: 175px;\n min-width: 175px;\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &::after {\n border-top-color: #fff !important;\n }\n }\n }\n}\n\n.backgroundText {\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n}\n\n.backgroundControl {\n display: flex;\n margin-top: 16px;\n}\n\n.backgroundChoice {\n width: 20px;\n height: 20px;\n border: 1px solid rgb(144, 147, 153);\n margin-left: 20px;\n &.active {\n border: 2px solid $app-primary-color;\n }\n &:hover {\n cursor: pointer;\n }\n &.white {\n background-color: white;\n margin-left: 10px;\n }\n &.black {\n background-color: black;\n }\n &.lightskyblue {\n background-color: white;\n }\n}\n\n.togglePaths {\n top: 201px;\n right: 20px;\n position: absolute;\n}\n\n.icon-button {\n height: 24px !important;\n width: 24px !important;\n color: $app-primary-color;\n &:hover {\n cursor: pointer;\n }\n}\n\n::v-deep .flatmap-popper {\n padding: 6px 4px;\n font-size: 12px;\n color: rgb(48, 49, 51);\n background-color: #f3ecf6;\n border: 1px solid $app-primary-color;\n white-space: nowrap;\n min-width: unset;\n &.warning-popper {\n min-width: 150px;\n max-width: 400px;\n word-break: keep-all;\n white-space: unset;\n }\n &.left-popper {\n .popper__arrow {\n border-left-color: $app-primary-color !important;\n &::after {\n border-left-color: #f3ecf6 !important;\n }\n }\n }\n &.right-popper {\n .popper__arrow {\n border-right-color: $app-primary-color !important;\n &:after {\n border-right-color: #f3ecf6 !important;\n }\n }\n }\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #f3ecf6 !important;\n }\n }\n }\n}\n\n::v-deep .el-loading-spinner {\n i,\n .el-loading-text {\n color: $app-primary-color;\n }\n}\n\n::v-deep .flatmap-popup-popper {\n .mapboxgl-popup-tip {\n border-bottom-color: $app-primary-color;\n }\n .mapboxgl-popup-content {\n padding: 6px 4px;\n font-size: 12px;\n color: rgb(48, 49, 51);\n background-color: #f3ecf6;\n border: 1px solid $app-primary-color;\n white-space: nowrap;\n min-width: unset;\n .mapboxgl-popup-close-button {\n display: none;\n }\n }\n}\n\n::v-deep .flatmap-popper {\n \n}\n\n::v-deep .popper-zoomout {\n padding-right: 13px !important;\n left: -21px !important;\n}\n\n::v-deep .popper-zoomout {\n .popper__arrow {\n left: 53px !important;\n }\n}\n\n::v-deep .mapboxgl-popup-content {\n padding: 0px;\n}\n\n.bottom-right-control {\n position: absolute;\n right: 16px;\n bottom: 16px;\n}\n\n::v-deep .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n\n.drawer {\n ::v-deep .el-drawer:focus {\n outline: none;\n }\n}\n\n.open-drawer,\n.drawer-button {\n z-index: 8;\n width: 20px;\n height: 40px;\n border: solid 1px #e4e7ed;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.open-drawer {\n position: absolute;\n left: 0px;\n background-color: #f7faff;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n}\n\n.drawer-button {\n float: left;\n margin-top: calc(50% - 36px);\n border-left: 0;\n background-color: #ffffff;\n i {\n margin-top: 12px;\n color: $app-primary-color;\n transition-delay: 0.9s;\n }\n &.open {\n i {\n transform: rotate(0deg) scaleY(2.5);\n }\n }\n &.close {\n i {\n transform: rotate(180deg) scaleY(2.5);\n }\n }\n}\n\n::v-deep .mapboxgl-canvas-container {\n canvas {\n outline: none;\n }\n}\n\n.backgroundSpacer {\n border-bottom: 1px solid #e4e7ed;\n margin-bottom: 10px;\n}\n\n.flatmap-radio {\n ::v-deep label {\n margin-right: 20px;\n &:last-child {\n margin-right: 0px;\n }\n }\n .el-radio__input {\n &.is-checked {\n & + .el-radio__label {\n color: $app-primary-color;\n }\n .el-radio__inner {\n border-color: $app-primary-color;\n background: $app-primary-color;\n }\n }\n }\n}\n</style>\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlatmapVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FlatmapVuer.vue?vue&type=template&id=5fb00c0b&scoped=true&\"\nimport script from \"./FlatmapVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./FlatmapVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FlatmapVuer.vue?vue&type=style&index=0&id=5fb00c0b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5fb00c0b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"multi-container\"},[_c('div',{staticStyle:{\"position\":\"absolute\",\"z-index\":\"10\"}},[_c('div',{staticClass:\"species-display-text\"},[_vm._v(\" Species \")]),_c('el-popover',{ref:\"selectPopover\",attrs:{\"content\":\"Select a species\",\"placement\":\"right\",\"appendToBody\":false,\"trigger\":\"manual\",\"popper-class\":\"flatmap-popper right-popper\"},model:{value:(_vm.helpMode),callback:function ($$v) {_vm.helpMode=$$v},expression:\"helpMode\"}}),_c('el-select',{directives:[{name:\"popover\",rawName:\"v-popover:selectPopover\",arg:\"selectPopover\"}],staticClass:\"select-box\",attrs:{\"id\":\"flatmap-select\",\"popper-append-to-body\":_vm.appendToBody,\"placeholder\":\"Select\",\"popper-class\":\"flatmap_dropdown\"},on:{\"change\":_vm.flatmapChanged},model:{value:(_vm.activeSpecies),callback:function ($$v) {_vm.activeSpecies=$$v},expression:\"activeSpecies\"}},_vm._l((_vm.speciesList),function(item,key){return _c('el-option',{key:key,attrs:{\"label\":key,\"value\":key}},[_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('i',{class:item.iconClass})]),_c('el-col',{attrs:{\"span\":12}},[_vm._v(_vm._s(key))])],1)],1)}),1)],1),_vm._l((_vm.speciesList),function(item,key){return _c('FlatmapVuer',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeSpecies==key),expression:\"activeSpecies==key\"}],key:key,ref:key,refInFor:true,staticStyle:{\"height\":\"100%\"},attrs:{\"showLayer\":_vm.showLayer,\"entry\":item.taxo,\"displayWarning\":item.displayWarning,\"warningMessage\":_vm.warningMessage,\"featureInfo\":_vm.featureInfo,\"minZoom\":_vm.minZoom,\"pathControls\":_vm.pathControls,\"searchable\":_vm.searchable,\"helpMode\":_vm.helpMode,\"renderAtMounted\":_vm.renderAtMounted,\"displayMinimap\":_vm.displayMinimap,\"flatmapAPI\":_vm.flatmapAPI},on:{\"resource-selected\":_vm.FlatmapSelected,\"ready\":_vm.FlatmapReady,\"pan-zoom-callback\":_vm.panZoomCallback}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"multi-container\">\n <div style=\"position:absolute;z-index:10;\">\n <div class=\"species-display-text\">\n Species\n </div>\n <el-popover content=\"Select a species\" placement=\"right\" \n :appendToBody=false trigger=\"manual\" popper-class=\"flatmap-popper right-popper\" v-model=\"helpMode\" ref=\"selectPopover\">\n </el-popover>\n <el-select\n id=\"flatmap-select\"\n :popper-append-to-body=\"appendToBody\"\n v-model=\"activeSpecies\"\n placeholder=\"Select\"\n class=\"select-box\"\n popper-class=\"flatmap_dropdown\"\n @change=\"flatmapChanged\"\n v-popover:selectPopover\n >\n <el-option v-for=\"(item, key) in speciesList\" :key=\"key\" :label=\"key\" :value=\"key\">\n <el-row>\n <el-col :span=\"8\"><i :class=\"item.iconClass\"></i></el-col>\n <el-col :span=\"12\">{{ key }}</el-col>\n </el-row>\n </el-option>\n </el-select>\n </div>\n <FlatmapVuer\n v-for=\"(item, key) in speciesList\"\n :key=\"key\"\n :showLayer=\"showLayer\"\n v-show=\"activeSpecies==key\"\n :entry=\"item.taxo\"\n :displayWarning=\"item.displayWarning\"\n :warningMessage=\"warningMessage\"\n :ref=\"key\"\n @resource-selected=\"FlatmapSelected\"\n @ready=\"FlatmapReady\"\n @pan-zoom-callback=\"panZoomCallback\"\n :featureInfo=\"featureInfo\"\n :minZoom=\"minZoom\"\n :pathControls=\"pathControls\"\n :searchable=\"searchable\"\n :helpMode=\"helpMode\"\n :renderAtMounted=\"renderAtMounted\"\n :displayMinimap=\"displayMinimap\"\n style=\"height:100%\"\n :flatmapAPI=\"flatmapAPI\"\n />\n </div>\n</template>\n\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport FlatmapVuer from \"./FlatmapVuer.vue\";\nimport { Col, Option, Select, Row, Popover } from \"element-ui\"; \nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nlocale.use(lang);\nVue.use(Col);\nVue.use(Row);\nVue.use(Option);\nVue.use(Select);\nVue.use(Popover)\n\n\nexport default {\n name: \"MultiFlatmapVuer\",\n components: {\n FlatmapVuer\n },\n mounted: function() {\n this.initialise();\n },\n methods: {\n initialise: function() {\n return new Promise(resolve => {\n fetch(this.flatmapAPI)\n .then(response => response.json())\n .then(data => {\n this.speciesLis= {};\n Object.keys(this.availableSpecies).forEach(key => {\n for (let i = 0; i < data.length; i++) {\n if (data[i].describes == this.availableSpecies[key].taxo) {\n this.speciesList[key] = this.availableSpecies[key];\n break;\n }\n }\n });\n if (!this.state) {\n if (this.initial && this.speciesList[this.initial] !== undefined) {\n this.activeSpecies = this.initial;\n } else {\n this.activeSpecies = Object.keys(this.speciesList)[0];\n }\n Vue.nextTick(() => {\n if (this.$refs[this.activeSpecies])\n this.$refs[this.activeSpecies][0].createFlatmap();\n });\n }\n resolve();\n });\n })\n },\n FlatmapSelected: function(resource) {\n this.$emit(\"resource-selected\", resource);\n },\n FlatmapReady: function(component) {\n this.$emit(\"ready\", component);\n },\n getCoordinatesOfLastClick: function() {\n const flatmap = this.$refs[this.activeSpecies];\n if (flatmap && flatmap[0]) {\n return flatmap[0].getCoordinatesOfLastClick();\n }\n return undefined;\n },\n getCurrentFlatmap: function() {\n return this.$refs[this.activeSpecies][0];\n },\n panZoomCallback: function(payload) {\n this.$emit(\"pan-zoom-callback\", payload);\n },\n showPopup: function(featureId, node, options) {\n let map = this.getCurrentFlatmap();\n map.showPopup(featureId, node, options);\n },\n showMarkerPopup: function(featureId, node, options) {\n let map = this.getCurrentFlatmap();\n map.showMarkerPopup(featureId, node, options);\n },\n flatmapChanged: function(species){\n if (this.activeSpecies != species) \n this.activeSpecies = species;\n this.$refs[this.activeSpecies][0].createFlatmap();\n this.$emit('flatmapChanged', this.activeSpecies);\n },\n /**\n * Function used for getting the current states of the scene. This exported states \n * can be imported using the importStates method.\n * \n * @public\n */\n getState: function() {\n let state = {\n species: this.activeSpecies,\n state: undefined,\n };\n let map = this.getCurrentFlatmap();\n state.state = map.getState();\n return state;\n },\n /**\n * Function used for importing the states of the scene. This exported states \n * can be imported using the read states method.\n * \n * @public\n */\n setState: function(state) {\n if (state) {\n this.initialise().then(() => {\n if (state.species && state.species !== this.activeSpecies) {\n this.activeSpecies = state.species;\n if (state.state) {\n //Wait for next tick when the refs are ready for rendering\n this.$nextTick(() => {\n this.$refs[this.activeSpecies][0].createFlatmap(state.state);\n this.$emit('flatmapChanged', this.activeSpecies);\n })\n }\n } else if (state.state) {\n let map = this.getCurrentFlatmap();\n map.setState(state.state);\n }\n })\n }\n },\n resourceSelected: function(action) {\n this.$emit(\"resource-selected\", action);\n },\n },\n props: {\n showLayer: {\n type: Boolean,\n default: false\n },\n featureInfo: {\n type: Boolean,\n default: false\n },\n pathControls: {\n type: Boolean,\n default: true\n },\n searchable: {\n type: Boolean,\n default: false\n },\n /**\n * Initial species for the flatmap.\n * This value will be ignored if a valid state object is provided.\n */\n initial: {\n type: String,\n default: \"\"\n },\n minZoom: {\n type: Number,\n default: 4\n },\n renderAtMounted: {\n type: Boolean,\n default: false\n },\n helpMode: {\n type: Boolean,\n default: false\n },\n displayMinimap: {\n type: Boolean,\n default: false\n },\n warningMessage: {\n type: String,\n default: \"Beta feature - This map is based on the connectivity of a rat. New connectivity and species specificity will be added as the SPARC program progress.\"\n },\n availableSpecies: {},\n /**\n * State containing state of the flatmap.\n */\n state: {\n type: Object,\n default: undefined,\n },\n /**\n * Specify the endpoint of the flatmap server.\n */\n flatmapAPI: {\n type: String,\n default: \"https://mapcore-demo.org/flatmaps/\"\n },\n },\n data: function() {\n return {\n activeSpecies: undefined,\n appendToBody: false,\n speciesList: {}\n };\n },\n watch: {\n state: {\n handler: function(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true,\n }\n }\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/select\";\n@import \"~element-ui/packages/theme-chalk/src/option\";\n\n.multi-container {\n height: 100%;\n width: 100%;\n}\n\n.species-display-text {\n width: 47px;\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n left:24px;\n top:16px;\n position: absolute;\n}\n\n.select-box {\n width: 120px;\n border-radius: 4px;\n border: 1px solid rgb(144, 147, 153);\n background-color: var(--white);\n font-weight: 500;\n color:rgb(48, 49, 51);;\n left: 16px;\n top: 44px;\n position: absolute;\n ::v-deep .el-input__inner {\n color: rgb(48, 49, 51);\n padding-top: 0.25em;\n .is-focus {\n border: 1px solid $app-primary-color;\n }\n }\n}\n\n.flatmap_dropdown {\n .el-select-dropdown__item {\n white-space: nowrap;\n text-align: left;\n &.selected {\n color: $app-primary-color;\n font-weight: normal;\n }\n }\n}\n\n::v-deep .flatmap-popper {\n padding: 6px 4px;\n font-size:12px;\n color: rgb(48, 49, 51);\n background-color: #f3ecf6;\n border: 1px solid $app-primary-color;\n white-space: nowrap;\n min-width: unset;\n &.right-popper {\n .popper__arrow {\n border-right-color: $app-primary-color !important;\n &:after {\n border-right-color: #f3ecf6 !important;\n }\n }\n }\n}\n\n::v-deep .flatmap-marker-popup{\n background-color: #f0f0f000 !important;\n box-shadow: none !important;\n}\n\n</style>\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MultiFlatmapVuer.vue?vue&type=template&id=01b30450&scoped=true&\"\nimport script from \"./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./MultiFlatmapVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MultiFlatmapVuer.vue?vue&type=style&index=0&id=01b30450&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"01b30450\",\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es.string.includes.js\");","module.exports = require(\"element-ui/lib/theme-chalk/row.css\");","module.exports = require(\"element-ui/lib/radio-group\");"],"sourceRoot":""}
|