@abi-software/mapintegratedvuer 1.12.2 → 1.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { markRaw as L } from "vue";
2
- import { u as C, c as E, d as O, E as f, T as y, e as R, f as N, h as w, l as x, J as P } from "./index-d6lIRou_.js";
2
+ import { u as C, c as E, d as O, E as f, T as y, e as R, f as N, h as w, l as x, J as P } from "./index-DdxLquWS.js";
3
3
  import { mapStores as B } from "pinia";
4
4
  const M = function(e) {
5
5
  return e ? [...new Set(e.map((r) => JSON.stringify(r)))].map(
@@ -1,6 +1,6 @@
1
- import { _ as d, q as h, t as u, T as s, E as r } from "./index-d6lIRou_.js";
2
- import { C as y } from "./ContentMixin-Cr34tOdt.js";
3
- import { D as g } from "./style-BvLt3kE9.js";
1
+ import { _ as d, q as h, t as u, T as s, E as r } from "./index-DdxLquWS.js";
2
+ import { C as y } from "./ContentMixin-VMqzviO6.js";
3
+ import { D as g } from "./style-B2GyuExH.js";
4
4
  import { FlatmapVuer as v } from "@abi-software/flatmapvuer";
5
5
  import { resolveComponent as p, openBlock as f, createElementBlock as C, createVNode as M, createBlock as I, createCommentVNode as S } from "vue";
6
6
  const w = {
@@ -1,6 +1,6 @@
1
- import { C as r } from "./ContentMixin-Cr34tOdt.js";
1
+ import { C as r } from "./ContentMixin-VMqzviO6.js";
2
2
  import { openBlock as o, createElementBlock as t, createElementVNode as a } from "vue";
3
- import { _ as s } from "./index-d6lIRou_.js";
3
+ import { _ as s } from "./index-DdxLquWS.js";
4
4
  const n = {
5
5
  name: "Iframe",
6
6
  mixins: [r]
@@ -1,6 +1,6 @@
1
- import { _ as c, q as h, a as g, t as y, T as r, E as l } from "./index-d6lIRou_.js";
2
- import { C as M } from "./ContentMixin-Cr34tOdt.js";
3
- import { D as v } from "./style-BvLt3kE9.js";
1
+ import { _ as c, q as h, a as g, t as y, T as r, E as l } from "./index-DdxLquWS.js";
2
+ import { C as M } from "./ContentMixin-VMqzviO6.js";
3
+ import { D as v } from "./style-B2GyuExH.js";
4
4
  import { MultiFlatmapVuer as C } from "@abi-software/flatmapvuer";
5
5
  import { resolveComponent as p, openBlock as m, createElementBlock as S, createVNode as I, createBlock as F, createCommentVNode as w } from "vue";
6
6
  const k = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><path d="M11.0748 3.25583C11.4141 2.42845 12.5859 2.42845 12.9252 3.25583L14.6493 7.45955C14.793 7.80979 15.1221 8.04889 15.4995 8.07727L20.0303 8.41798C20.922 8.48504 21.2841 9.59942 20.6021 10.1778L17.1369 13.1166C16.8482 13.3614 16.7225 13.7483 16.8122 14.1161L17.8882 18.5304C18.1 19.3992 17.152 20.0879 16.3912 19.618L12.5255 17.2305C12.2034 17.0316 11.7966 17.0316 11.4745 17.2305L7.60881 19.618C6.84796 20.0879 5.90001 19.3992 6.1118 18.5304L7.18785 14.1161C7.2775 13.7483 7.1518 13.3614 6.86309 13.1166L3.3979 10.1778C2.71588 9.59942 3.07796 8.48504 3.96971 8.41798L8.50046 8.07727C8.87794 8.04889 9.20704 7.80979 9.35068 7.45955L11.0748 3.25583Z" stroke="#000000" stroke-width="2"/></svg>', f = (e) => [
@@ -1,7 +1,7 @@
1
1
  import { PlotVuer as o } from "@abi-software/plotvuer";
2
- import { C as r } from "./ContentMixin-Cr34tOdt.js";
2
+ import { C as r } from "./ContentMixin-VMqzviO6.js";
3
3
  import { resolveComponent as a, openBlock as n, createBlock as s } from "vue";
4
- import { _ as p } from "./index-d6lIRou_.js";
4
+ import { _ as p } from "./index-DdxLquWS.js";
5
5
  const l = {
6
6
  name: "Plot",
7
7
  mixins: [r],
@@ -1,5 +1,5 @@
1
- import { _ as g, q as m, g as v, b as y, E as c } from "./index-d6lIRou_.js";
2
- import { C as w } from "./ContentMixin-Cr34tOdt.js";
1
+ import { _ as g, q as m, g as v, b as y, E as c } from "./index-DdxLquWS.js";
2
+ import { C as w } from "./ContentMixin-VMqzviO6.js";
3
3
  import { ScaffoldVuer as b } from "@abi-software/scaffoldvuer";
4
4
  import { resolveComponent as p, openBlock as u, createElementBlock as S, createVNode as M, createBlock as $, createCommentVNode as C } from "vue";
5
5
  const N = {
@@ -1,7 +1,7 @@
1
- import { C as n } from "./ContentMixin-Cr34tOdt.js";
1
+ import { C as n } from "./ContentMixin-VMqzviO6.js";
2
2
  import { SimulationVuer as e } from "@abi-software/simulationvuer";
3
3
  import { resolveComponent as r, openBlock as a, createBlock as c } from "vue";
4
- import { _ as m } from "./index-d6lIRou_.js";
4
+ import { _ as m } from "./index-DdxLquWS.js";
5
5
  const s = {
6
6
  name: "Simulation",
7
7
  mixins: [n],
@@ -41759,7 +41759,7 @@ const tSe = 1.3, nSe = 24 * 60 * 60 * 1e3, rSe = "Reset position", dP = "Lock zo
41759
41759
  },
41760
41760
  start: function() {
41761
41761
  this.run().then((e) => {
41762
- e != null && e.success ? this.showGraph(this.entry) : e != null && e.error ? this.loadingError = e.error : this.loadingError = "Loading error!";
41762
+ e != null && e.success ? this.showGraph(this.entry) : e != null && e.error ? (this.loadingError = e.error, this.hideSpinner()) : (this.loadingError = "Loading error!", this.hideSpinner());
41763
41763
  }).catch((e) => {
41764
41764
  this.loadingError = "Loading error!", this.hideSpinner();
41765
41765
  });
@@ -41767,11 +41767,11 @@ const tSe = 1.3, nSe = 24 * 60 * 60 * 1e3, rSe = "Reset position", dP = "Lock zo
41767
41767
  run: async function() {
41768
41768
  return this.schemaVersion || (this.schemaVersion = await this.getSchemaVersion(), sessionStorage.setItem("connectivity-graph-schema-version", this.schemaVersion), this.updateCacheExpiry()), this.schemaVersion < tSe ? {
41769
41769
  error: `No server available for schema-version ${this.schemaVersion}.`
41770
- } : (this.availableSources.length || (this.availableSources = await this.loadAvailableSources()), this.isSCKANVersionAvailable() ? (await this.setPathList(this.selectedSource), {
41771
- success: !0
41772
- }) : {
41770
+ } : (this.availableSources.length || (this.availableSources = await this.loadAvailableSources()), !this.connectivityFromMap && !this.isSCKANVersionAvailable() ? {
41773
41771
  error: `No data available for SCKAN version ${this.selectedSource}.`
41774
- });
41772
+ } : (await this.setPathList(this.selectedSource), {
41773
+ success: !0
41774
+ }));
41775
41775
  },
41776
41776
  showGraph: async function(e) {
41777
41777
  const t = this.$refs.graphCanvas;
@@ -41900,7 +41900,7 @@ const tSe = 1.3, nSe = 24 * 60 * 60 * 1e3, rSe = "Reset position", dP = "Lock zo
41900
41900
  }, cSe = {
41901
41901
  ref: "graphCanvas",
41902
41902
  class: "graph-canvas"
41903
- }, dSe = { class: "control-panel control-panel-tools" }, pSe = { class: "visually-hidden" }, fSe = { class: "visually-hidden" }, hSe = { class: "visually-hidden" }, vSe = { class: "visually-hidden" }, gSe = /* @__PURE__ */ yW('<div class="control-panel control-panel-nodes" data-v-1239b5ce><div class="node-key" data-v-1239b5ce><div class="key-box-container" data-v-1239b5ce><div class="key-box key-box-dendrite" data-v-1239b5ce> Origin </div><div class="key-box key-box-node" data-v-1239b5ce> Components </div><div class="key-box key-box-axon" data-v-1239b5ce> Destination </div></div></div></div>', 1), mSe = { class: "connectivity-graph-error" }, ySe = {
41903
+ }, dSe = { class: "control-panel control-panel-tools" }, pSe = { class: "visually-hidden" }, fSe = { class: "visually-hidden" }, hSe = { class: "visually-hidden" }, vSe = { class: "visually-hidden" }, gSe = /* @__PURE__ */ yW('<div class="control-panel control-panel-nodes" data-v-95331209><div class="node-key" data-v-95331209><div class="key-box-container" data-v-95331209><div class="key-box key-box-dendrite" data-v-95331209> Origin </div><div class="key-box key-box-node" data-v-95331209> Components </div><div class="key-box key-box-axon" data-v-95331209> Destination </div></div></div></div>', 1), mSe = { class: "connectivity-graph-error" }, ySe = {
41904
41904
  key: 0,
41905
41905
  class: "loading-error"
41906
41906
  };
@@ -42034,7 +42034,7 @@ function bSe(e, t, n, r, o, a) {
42034
42034
  [f, e.loading]
42035
42035
  ]);
42036
42036
  }
42037
- const wSe = /* @__PURE__ */ wl(lSe, [["render", bSe], ["__scopeId", "data-v-1239b5ce"]]), xSe = (e) => e && e.charAt(0).toUpperCase() + e.slice(1), kSe = (e) => new Promise((t) => setTimeout(t, e)), CSe = {
42037
+ const wSe = /* @__PURE__ */ wl(lSe, [["render", bSe], ["__scopeId", "data-v-95331209"]]), xSe = (e) => e && e.charAt(0).toUpperCase() + e.slice(1), kSe = (e) => new Promise((t) => setTimeout(t, e)), CSe = {
42038
42038
  name: "ConnectivityList",
42039
42039
  components: {
42040
42040
  Button: ua,
@@ -48462,7 +48462,7 @@ function v3e(e, t, n, r, o, a) {
48462
48462
  })
48463
48463
  ]);
48464
48464
  }
48465
- const GV = /* @__PURE__ */ Ka(p3e, [["render", v3e], ["__scopeId", "data-v-61f2f88c"]]), g3e = cd(() => import("./Flatmap-BtGp01rR.js")), m3e = cd(() => import("./Iframe-BOJbJpej.js")), y3e = cd(() => import("./MultiFlatmap-EBLsphT8.js")), b3e = cd(() => import("./Plot-CmWRVHD-.js")), w3e = cd(() => import("./Scaffold-DbaOlxqp.js")), x3e = cd(() => import("./Simulation-BzCOz07f.js")), k3e = {
48465
+ const GV = /* @__PURE__ */ Ka(p3e, [["render", v3e], ["__scopeId", "data-v-61f2f88c"]]), g3e = cd(() => import("./Flatmap-DyoEGFLl.js")), m3e = cd(() => import("./Iframe-6hjlklF3.js")), y3e = cd(() => import("./MultiFlatmap-Bzx6YjEX.js")), b3e = cd(() => import("./Plot-oBY3hkMV.js")), w3e = cd(() => import("./Scaffold-BD8f28dq.js")), x3e = cd(() => import("./Simulation-B3PxP7QN.js")), k3e = {
48466
48466
  name: "ContentVuer",
48467
48467
  props: {
48468
48468
  /**
@@ -1,4 +1,4 @@
1
- import { M as a } from "./index-d6lIRou_.js";
1
+ import { M as a } from "./index-DdxLquWS.js";
2
2
  export {
3
3
  a as MapContent
4
4
  };
@@ -67,11 +67,11 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
67
67
  `).map(t=>t&&t[0]>="a"&&t[0]<="z"?t.charAt(0).toUpperCase()+t.slice(1):t).join(`
68
68
  `)}function vS(e){const t=e?e.split(`
69
69
  `):[],n=[];for(let o=0;o<t.length/2;o++)n.push({id:t[o],label:t[o+t.length/2]});return n}function CCe(e,t){e.sort((n,o)=>n.id<o.id?-1:n.id>o.id?1:0),t.sort((n,o)=>n.id<o.id?-1:n.id>o.id?1:0);for(let n=0;n<e.length;n++)if(JSON.stringify(e[n])!==JSON.stringify(t[n]))return!1;return!0}class SCe extends EventTarget{constructor(t,n){var o;super(),jo(this,"cy"),jo(this,"tooltip"),this.cy=vs({container:n,elements:t.elements,layout:{name:"dagre",nodeSep:150,edgeSep:50,rankSep:100,rankDir:"TB",roots:t.roots.length?t.roots:void 0},style:xCe,minZoom:.1,maxZoom:10,wheelSensitivity:.4}).on("mouseover","node",this.overNode.bind(this)).on("mouseout","node",this.exitNode.bind(this)).on("position","node",this.moveNode.bind(this)),this.tooltip=document.createElement("div"),this.tooltip.className="cy-graph-tooltip",this.tooltip.hidden=!0,(o=n==null?void 0:n.lastChild)==null||o.appendChild(this.tooltip)}remove(){this.cy&&this.cy.destroy()}checkRightBoundary(t){var n;t+this.tooltip.offsetWidth>=((n=this.tooltip.parentElement)==null?void 0:n.offsetWidth)&&(this.tooltip.style.left=`${t-this.tooltip.offsetWidth}px`)}overNode(t){const n=t.target.data(),{label:o}=n,a=vS(o).map(i=>i.label+" ("+i.id+")");this.tooltip.innerText=hP(a.join(`
70
- `)),this.tooltip.style.left=`${t.renderedPosition.x}px`,this.tooltip.style.top=`${t.renderedPosition.y}px`,this.tooltip.style.maxWidth="240px",this.tooltip.style.zIndex=2,this.tooltip.hidden=!1,this.checkRightBoundary(t.renderedPosition.x),this.tapNode(t,!0)}moveNode(t){const n=t.target;this.tooltip.style.left=`${n.renderedPosition().x}px`,this.tooltip.style.top=`${n.renderedPosition().y}px`,this.checkRightBoundary(n.renderedPosition().x)}exitNode(t){this.tooltip.hidden=!0,this.tapNode(t,!1)}tapNode(t,n){const o=t.target,a=o.data();let{label:i}=a;n?o.addClass("active"):(o.removeClass("active"),i="",setTimeout(()=>{o.unselect()}));const s=vS(i),l=new CustomEvent("tap-node",{detail:s});this.dispatchEvent(l)}on(t,n){this.addEventListener(t,n)}}const ECe=1.3,_Ce=24*60*60*1e3,$Ce="Reset position",mP="Lock zoom",FCe="Unlock zoom",ACe="Zoom in",BCe="Zoom out",gP=.25,TCe="#8300bf",NCe={name:"ConnectivityGraph",props:{entry:{type:String,default:""},mapServer:{type:String,default:""},sckanVersion:{type:String,default:""},selectedConnectivityData:{type:Array,default:[]},connectivityFromMap:{type:Object,default:()=>null},connectivityError:{type:Object,default:()=>{}}},data:function(){return{loading:!0,loadingError:"",connectivityGraph:null,selectedSource:"",availableSources:[],pathList:[],schemaVersion:"",knowledgeByPath:new Map,labelledTerms:new Set,labelCache:new Map,resetLabel:$Ce,zoomLockLabel:mP,zoomInLabel:ACe,zoomOutLabel:BCe,iconColor:TCe,zoomEnabled:!1,connectivityGraphContainer:null}},watch:{connectivityFromMap:function(e,t){e!=t&&(this.showSpinner(),this.start())}},mounted(){this.showSpinner(),this.updateTooltipContainer(),this.refreshCache(),this.loadCacheData(),this.start()},methods:{updateTooltipContainer:function(){this.connectivityGraphContainer=this.$refs.connectivityGraphRef},loadCacheData:function(){const e=sessionStorage.getItem("connectivity-graph-sources"),t=sessionStorage.getItem("connectivity-graph-labels"),n=sessionStorage.getItem("connectivity-graph-pathlist"),o=sessionStorage.getItem("connectivity-graph-schema-version");if(this.sckanVersion&&(this.selectedSource=this.sckanVersion),sessionStorage.setItem("connectivity-graph-selected-source",this.selectedSource),this.updateCacheExpiry(),e&&(this.availableSources=JSON.parse(e)),n&&(this.pathList=JSON.parse(n)),t){const a=JSON.parse(t);this.labelCache=new Map(Object.entries(a))}o&&(this.schemaVersion=o)},isValidKnowledgeSource:function(){const e=sessionStorage.getItem("connectivity-graph-selected-source");return!(this.sckanVersion&&this.sckanVersion!==e)},removeAllCacheData:function(){["connectivity-graph-expiry","connectivity-graph-selected-source","connectivity-graph-source","connectivity-graph-sources","connectivity-graph-labels","connectivity-graph-pathlist","connectivity-graph-schema-version"].forEach(e=>{sessionStorage.removeItem(e)})},refreshCache:function(){const e=sessionStorage.getItem("connectivity-graph-expiry"),t=new Date,n=this.isValidKnowledgeSource();(t.getTime()>e||!n)&&this.removeAllCacheData()},updateCacheExpiry:function(){const e=new Date().getTime()+_Ce;sessionStorage.setItem("connectivity-graph-expiry",e)},start:function(){this.run().then(e=>{e!=null&&e.success?this.showGraph(this.entry):e!=null&&e.error?this.loadingError=e.error:this.loadingError="Loading error!"}).catch(e=>{this.loadingError="Loading error!",this.hideSpinner()})},run:async function(){return this.schemaVersion||(this.schemaVersion=await this.getSchemaVersion(),sessionStorage.setItem("connectivity-graph-schema-version",this.schemaVersion),this.updateCacheExpiry()),this.schemaVersion<ECe?{error:`No server available for schema-version ${this.schemaVersion}.`}:(this.availableSources.length||(this.availableSources=await this.loadAvailableSources()),this.isSCKANVersionAvailable()?(await this.setPathList(this.selectedSource),{success:!0}):{error:`No data available for SCKAN version ${this.selectedSource}.`})},showGraph:async function(e){const t=this.$refs.graphCanvas;this.connectivityFromMap&&(this.cacheLabels(this.connectivityFromMap),await this.getCachedTermLabels()),this.connectivityGraph=new vCe(this.labelCache,t);const n=this.knowledgeByPath.get(e);this.connectivityFromMap&&(n.axons=this.connectivityFromMap.axons,n.connectivity=this.connectivityFromMap.connectivity,n.dendrites=this.connectivityFromMap.dendrites,n.somas=this.connectivityFromMap.somas),await this.connectivityGraph.addConnectivity(n),this.connectivityGraph.showConnectivity(t),this.selectedConnectivityData.length&&this.connectivityGraph.selectConnectivity(this.selectedConnectivityData),this.connectivityGraph.on("tap-node",o=>{const a=o.detail;this.$emit("tap-node",a)}),this.hideSpinner()},query:async function(e,t){const n=`${this.mapServer}knowledge/query/`,o={sql:e,params:t};try{const a=await fetch(n,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"},body:JSON.stringify(o)});if(!a.ok)throw new Error(`Cannot access ${n}`);return await a.json()}catch{return{values:[]}}},isSCKANVersionAvailable:function(){return this.availableSources.includes(this.selectedSource)},loadAvailableSources:async function(){const e=await this.getJsonData(`${this.mapServer}knowledge/sources`),t=(e?e.sources||[]:[]).filter(n=>n);return sessionStorage.setItem("connectivity-graph-sources",JSON.stringify(t)),this.updateCacheExpiry(),t},loadPathData:async function(e){const t=await this.query(`select entity, knowledge from knowledge
70
+ `)),this.tooltip.style.left=`${t.renderedPosition.x}px`,this.tooltip.style.top=`${t.renderedPosition.y}px`,this.tooltip.style.maxWidth="240px",this.tooltip.style.zIndex=2,this.tooltip.hidden=!1,this.checkRightBoundary(t.renderedPosition.x),this.tapNode(t,!0)}moveNode(t){const n=t.target;this.tooltip.style.left=`${n.renderedPosition().x}px`,this.tooltip.style.top=`${n.renderedPosition().y}px`,this.checkRightBoundary(n.renderedPosition().x)}exitNode(t){this.tooltip.hidden=!0,this.tapNode(t,!1)}tapNode(t,n){const o=t.target,a=o.data();let{label:i}=a;n?o.addClass("active"):(o.removeClass("active"),i="",setTimeout(()=>{o.unselect()}));const s=vS(i),l=new CustomEvent("tap-node",{detail:s});this.dispatchEvent(l)}on(t,n){this.addEventListener(t,n)}}const ECe=1.3,_Ce=24*60*60*1e3,$Ce="Reset position",mP="Lock zoom",FCe="Unlock zoom",ACe="Zoom in",BCe="Zoom out",gP=.25,TCe="#8300bf",NCe={name:"ConnectivityGraph",props:{entry:{type:String,default:""},mapServer:{type:String,default:""},sckanVersion:{type:String,default:""},selectedConnectivityData:{type:Array,default:[]},connectivityFromMap:{type:Object,default:()=>null},connectivityError:{type:Object,default:()=>{}}},data:function(){return{loading:!0,loadingError:"",connectivityGraph:null,selectedSource:"",availableSources:[],pathList:[],schemaVersion:"",knowledgeByPath:new Map,labelledTerms:new Set,labelCache:new Map,resetLabel:$Ce,zoomLockLabel:mP,zoomInLabel:ACe,zoomOutLabel:BCe,iconColor:TCe,zoomEnabled:!1,connectivityGraphContainer:null}},watch:{connectivityFromMap:function(e,t){e!=t&&(this.showSpinner(),this.start())}},mounted(){this.showSpinner(),this.updateTooltipContainer(),this.refreshCache(),this.loadCacheData(),this.start()},methods:{updateTooltipContainer:function(){this.connectivityGraphContainer=this.$refs.connectivityGraphRef},loadCacheData:function(){const e=sessionStorage.getItem("connectivity-graph-sources"),t=sessionStorage.getItem("connectivity-graph-labels"),n=sessionStorage.getItem("connectivity-graph-pathlist"),o=sessionStorage.getItem("connectivity-graph-schema-version");if(this.sckanVersion&&(this.selectedSource=this.sckanVersion),sessionStorage.setItem("connectivity-graph-selected-source",this.selectedSource),this.updateCacheExpiry(),e&&(this.availableSources=JSON.parse(e)),n&&(this.pathList=JSON.parse(n)),t){const a=JSON.parse(t);this.labelCache=new Map(Object.entries(a))}o&&(this.schemaVersion=o)},isValidKnowledgeSource:function(){const e=sessionStorage.getItem("connectivity-graph-selected-source");return!(this.sckanVersion&&this.sckanVersion!==e)},removeAllCacheData:function(){["connectivity-graph-expiry","connectivity-graph-selected-source","connectivity-graph-source","connectivity-graph-sources","connectivity-graph-labels","connectivity-graph-pathlist","connectivity-graph-schema-version"].forEach(e=>{sessionStorage.removeItem(e)})},refreshCache:function(){const e=sessionStorage.getItem("connectivity-graph-expiry"),t=new Date,n=this.isValidKnowledgeSource();(t.getTime()>e||!n)&&this.removeAllCacheData()},updateCacheExpiry:function(){const e=new Date().getTime()+_Ce;sessionStorage.setItem("connectivity-graph-expiry",e)},start:function(){this.run().then(e=>{e!=null&&e.success?this.showGraph(this.entry):e!=null&&e.error?(this.loadingError=e.error,this.hideSpinner()):(this.loadingError="Loading error!",this.hideSpinner())}).catch(e=>{this.loadingError="Loading error!",this.hideSpinner()})},run:async function(){return this.schemaVersion||(this.schemaVersion=await this.getSchemaVersion(),sessionStorage.setItem("connectivity-graph-schema-version",this.schemaVersion),this.updateCacheExpiry()),this.schemaVersion<ECe?{error:`No server available for schema-version ${this.schemaVersion}.`}:(this.availableSources.length||(this.availableSources=await this.loadAvailableSources()),!this.connectivityFromMap&&!this.isSCKANVersionAvailable()?{error:`No data available for SCKAN version ${this.selectedSource}.`}:(await this.setPathList(this.selectedSource),{success:!0}))},showGraph:async function(e){const t=this.$refs.graphCanvas;this.connectivityFromMap&&(this.cacheLabels(this.connectivityFromMap),await this.getCachedTermLabels()),this.connectivityGraph=new vCe(this.labelCache,t);const n=this.knowledgeByPath.get(e);this.connectivityFromMap&&(n.axons=this.connectivityFromMap.axons,n.connectivity=this.connectivityFromMap.connectivity,n.dendrites=this.connectivityFromMap.dendrites,n.somas=this.connectivityFromMap.somas),await this.connectivityGraph.addConnectivity(n),this.connectivityGraph.showConnectivity(t),this.selectedConnectivityData.length&&this.connectivityGraph.selectConnectivity(this.selectedConnectivityData),this.connectivityGraph.on("tap-node",o=>{const a=o.detail;this.$emit("tap-node",a)}),this.hideSpinner()},query:async function(e,t){const n=`${this.mapServer}knowledge/query/`,o={sql:e,params:t};try{const a=await fetch(n,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"},body:JSON.stringify(o)});if(!a.ok)throw new Error(`Cannot access ${n}`);return await a.json()}catch{return{values:[]}}},isSCKANVersionAvailable:function(){return this.availableSources.includes(this.selectedSource)},loadAvailableSources:async function(){const e=await this.getJsonData(`${this.mapServer}knowledge/sources`),t=(e?e.sources||[]:[]).filter(n=>n);return sessionStorage.setItem("connectivity-graph-sources",JSON.stringify(t)),this.updateCacheExpiry(),t},loadPathData:async function(e){const t=await this.query(`select entity, knowledge from knowledge
71
71
  where entity like 'ilxtr:%' and source=?
72
72
  order by entity`,[e]);return t?t.values:[]},setPathList:async function(e){this.pathList.length||(this.pathList=await this.loadPathData(e),sessionStorage.setItem("connectivity-graph-pathlist",JSON.stringify(this.pathList)),this.updateCacheExpiry()),this.knowledgeByPath.clear(),this.labelledTerms=new Set;for(const[t,n]of this.pathList){const o=JSON.parse(n);"connectivity"in o&&(this.knowledgeByPath.set(t,o),this.cacheLabels(o))}return this.labelCache.size||await this.getCachedTermLabels(),""},getSchemaVersion:async function(){const e=await this.getJsonData(`${this.mapServer}knowledge/schema-version`);return e&&+e.version||0},getJsonData:async function(e){try{const t=await fetch(e,{method:"GET",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"}});return t.ok||console.error(`Cannot access ${e}`),await t.json()}catch{return null}},getCachedTermLabels:async function(){if(this.labelledTerms.size){const e=await this.query(`select entity, knowledge from knowledge
73
73
  where entity in (?${", ?".repeat(this.labelledTerms.size-1)})
74
- order by source desc`,[...this.labelledTerms.values()]);let t=null;for(const[o,a]of e.values)if(o!==t){const i=JSON.parse(a);this.labelCache.set(o,i.label||o),t=o}const n=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(n)),this.updateCacheExpiry()}},cacheNodeLabels:function(e){for(const t of[e[0],...e[1]])this.labelledTerms.add(t)},cacheLabels:async function(e){for(const t of e.connectivity)this.cacheNodeLabels(t[0]),this.cacheNodeLabels(t[1])},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){this.connectivityGraph.reset()},zoomIn:function(){this.connectivityGraph.zoom(gP)},zoomOut:function(){this.connectivityGraph.zoom(-gP)},toggleZoom:function(){this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?FCe:mP,this.connectivityGraph.enableZoom(!this.zoomEnabled)}}},MCe={class:"connectivity-graph",ref:"connectivityGraphRef"},OCe={ref:"graphCanvas",class:"graph-canvas"},LCe={class:"control-panel control-panel-tools"},ICe={class:"visually-hidden"},RCe={class:"visually-hidden"},PCe={class:"visually-hidden"},VCe={class:"visually-hidden"},DCe=r.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-1239b5ce><div class="node-key" data-v-1239b5ce><div class="key-box-container" data-v-1239b5ce><div class="key-box key-box-dendrite" data-v-1239b5ce> Origin </div><div class="key-box key-box-node" data-v-1239b5ce> Components </div><div class="key-box key-box-axon" data-v-1239b5ce> Destination </div></div></div></div>',1),zCe={class:"connectivity-graph-error"},jCe={key:0,class:"loading-error"};function HCe(e,t,n,o,a,i){const s=CZ,l=Pn,c=yo,d=Du,u=eJ,f=sJ,p=hJ,m=gJ,h=Uhe;return r.withDirectives((r.openBlock(),r.createElementBlock("div",MCe,[r.createElementVNode("div",OCe,null,512),r.createElementVNode("div",LCe,[r.createElementVNode("div",{class:r.normalizeClass(["tools",{"zoom-locked":e.zoomEnabled}])},[r.createVNode(d,{content:e.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.reset},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(s)]),_:1}),r.createElementVNode("span",ICe,r.toDisplayString(e.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[e.zoomEnabled?(r.openBlock(),r.createBlock(u,{key:0})):(r.openBlock(),r.createBlock(f,{key:1}))]),_:1}),r.createElementVNode("span",RCe,r.toDisplayString(e.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomIn},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(p)]),_:1}),r.createElementVNode("span",PCe,r.toDisplayString(e.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomOut},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(m)]),_:1}),r.createElementVNode("span",VCe,r.toDisplayString(e.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),DCe,r.withDirectives(r.createElementVNode("div",zCe,[r.createElementVNode("strong",null,r.toDisplayString(n.connectivityError.errorConnectivities),1),r.createTextVNode(" "+r.toDisplayString(n.connectivityError.errorMessage),1)],512),[[r.vShow,n.connectivityError.errorConnectivities]]),e.loadingError?(r.openBlock(),r.createElementBlock("div",jCe,r.toDisplayString(e.loadingError),1)):r.createCommentVNode("",!0)])),[[h,e.loading]])}const UCe=os(NCe,[["render",HCe],["__scopeId","data-v-1239b5ce"]]),qCe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),KCe=e=>new Promise(t=>setTimeout(t,e)),GCe={name:"ConnectivityList",components:{Button:yo,Container:Iv,Icon:Pn,ElIconWarning:nh,ElIconSearch:eh},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(e){this.convertFacetsToList(e)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(e){return qCe(e)},onConnectivityHovered:function(e,t){this.$emit("connectivity-hovered",e),t&&(this.alertTop=t.srcElement.offsetParent.offsetTop+t.srcElement.offsetTop)},onConnectivityClicked:function(e){const t=this.connectivityError.errorConnectivities,n=t?e.replace(new RegExp(`\\s*,?\\s*${t}\\s*,?\\s*`,"gi"),"").trim():e;this.$emit("connectivity-clicked",n)},shouldShowMagnifyGlass:function(e){const t=this.connectivityError.errorConnectivities;return(t==null?void 0:t.toLowerCase())!==e.toLowerCase()},shouldShowExploreButton:function(e){if(!this.facetList.length)return!0;for(let t=0;t<e.length;t++)if(this.facetList.includes(e[t].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(e){e.forEach(t=>{t.children?this.convertFacetsToList(t.children):this.facetList.push(t.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(e=>e.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(e=>e.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(e=>e.name.toLowerCase())})}}},ws=e=>(r.pushScopeId("data-v-81bbd5ff"),e=e(),r.popScopeId(),e),WCe={ref:"connectivityList",class:"connectivity-list"},XCe={key:0,class:"block"},YCe={class:"attribute-title-container"},ZCe=ws(()=>r.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),JCe={style:{"word-break":"keep-all"}},QCe=ws(()=>r.createElementVNode("i",null,"Origin",-1)),eSe=["origin-item-label","onMouseenter"],tSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),nSe={key:1,class:"block"},rSe=ws(()=>r.createElementVNode("div",{class:"attribute-title-container"},[r.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),oSe=["component-item-label","onMouseenter"],aSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),iSe={key:2,class:"block"},sSe={class:"attribute-title-container"},lSe=ws(()=>r.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),cSe=ws(()=>r.createElementVNode("span",{style:{"word-break":"keep-all"}},[r.createElementVNode("i",null,"Destination"),r.createTextVNode(" is where the axons terminate ")],-1)),dSe=["destination-item-label","onMouseenter"],uSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),fSe={class:"block"};function pSe(e,t,n,o,a,i){const s=RB,l=nh,c=Pn,d=eh,u=yo;return r.openBlock(),r.createElementBlock("div",WCe,[r.createVNode(s,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!n.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:r.withCtx(()=>[r.createElementVNode("div",{class:"connectivity-alert",style:r.normalizeStyle({top:e.alertTop+"px"})},null,4)]),default:r.withCtx(()=>[r.createElementVNode("strong",null,r.toDisplayString(n.connectivityError.errorConnectivities),1),r.createTextVNode(" "+r.toDisplayString(n.connectivityError.errorMessage),1)]),_:1},8,["visible"]),r.createTextVNode(" "+r.toDisplayString(n.entry.paths)+" ",1),n.origins&&n.origins.length>0?(r.openBlock(),r.createElementBlock("div",XCe,[r.createElementVNode("div",YCe,[ZCe,r.createVNode(s,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.createVNode(c,{class:"info"},{default:r.withCtx(()=>[r.createVNode(l)]),_:1})]),default:r.withCtx(()=>[r.createElementVNode("span",JCe,[QCe,r.createTextVNode(" "+r.toDisplayString(i.originDescription),1)])]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.origins,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[0]||(t[0]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[tSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,eSe))),128)),r.withDirectives(r.createVNode(u,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:r.withCtx(()=>[r.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[r.vShow,n.originsWithDatasets&&n.originsWithDatasets.length>0&&i.shouldShowExploreButton(n.originsWithDatasets)]])])):r.createCommentVNode("",!0),n.components&&n.components.length>0?(r.openBlock(),r.createElementBlock("div",nSe,[rSe,(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.components,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[1]||(t[1]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[aSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,oSe))),128))])):r.createCommentVNode("",!0),n.destinations&&n.destinations.length>0?(r.openBlock(),r.createElementBlock("div",iSe,[r.createElementVNode("div",sSe,[lSe,r.createVNode(s,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.createVNode(c,{class:"info"},{default:r.withCtx(()=>[r.createVNode(l)]),_:1})]),default:r.withCtx(()=>[cSe]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.destinations,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[2]||(t[2]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[uSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,dSe))),128)),r.withDirectives(r.createVNode(u,{class:"button",onClick:i.openAxons},{default:r.withCtx(()=>[r.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[r.vShow,n.destinationsWithDatasets&&n.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(n.destinationsWithDatasets)]])])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("div",fSe,[r.createVNode(u,{class:"button",onClick:i.openAll},{default:r.withCtx(()=>[r.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[r.vShow,n.componentsWithDatasets&&n.componentsWithDatasets.length>0&&i.shouldShowExploreButton(n.componentsWithDatasets)]])],512)}const hSe=os(GCe,[["render",pSe],["__scopeId","data-v-81bbd5ff"]]),yP=`<?xml version="1.0" encoding="UTF-8"?>
74
+ order by source desc`,[...this.labelledTerms.values()]);let t=null;for(const[o,a]of e.values)if(o!==t){const i=JSON.parse(a);this.labelCache.set(o,i.label||o),t=o}const n=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(n)),this.updateCacheExpiry()}},cacheNodeLabels:function(e){for(const t of[e[0],...e[1]])this.labelledTerms.add(t)},cacheLabels:async function(e){for(const t of e.connectivity)this.cacheNodeLabels(t[0]),this.cacheNodeLabels(t[1])},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){this.connectivityGraph.reset()},zoomIn:function(){this.connectivityGraph.zoom(gP)},zoomOut:function(){this.connectivityGraph.zoom(-gP)},toggleZoom:function(){this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?FCe:mP,this.connectivityGraph.enableZoom(!this.zoomEnabled)}}},MCe={class:"connectivity-graph",ref:"connectivityGraphRef"},OCe={ref:"graphCanvas",class:"graph-canvas"},LCe={class:"control-panel control-panel-tools"},ICe={class:"visually-hidden"},RCe={class:"visually-hidden"},PCe={class:"visually-hidden"},VCe={class:"visually-hidden"},DCe=r.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-95331209><div class="node-key" data-v-95331209><div class="key-box-container" data-v-95331209><div class="key-box key-box-dendrite" data-v-95331209> Origin </div><div class="key-box key-box-node" data-v-95331209> Components </div><div class="key-box key-box-axon" data-v-95331209> Destination </div></div></div></div>',1),zCe={class:"connectivity-graph-error"},jCe={key:0,class:"loading-error"};function HCe(e,t,n,o,a,i){const s=CZ,l=Pn,c=yo,d=Du,u=eJ,f=sJ,p=hJ,m=gJ,h=Uhe;return r.withDirectives((r.openBlock(),r.createElementBlock("div",MCe,[r.createElementVNode("div",OCe,null,512),r.createElementVNode("div",LCe,[r.createElementVNode("div",{class:r.normalizeClass(["tools",{"zoom-locked":e.zoomEnabled}])},[r.createVNode(d,{content:e.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.reset},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(s)]),_:1}),r.createElementVNode("span",ICe,r.toDisplayString(e.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[e.zoomEnabled?(r.openBlock(),r.createBlock(u,{key:0})):(r.openBlock(),r.createBlock(f,{key:1}))]),_:1}),r.createElementVNode("span",RCe,r.toDisplayString(e.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomIn},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(p)]),_:1}),r.createElementVNode("span",PCe,r.toDisplayString(e.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),r.createVNode(d,{content:e.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":e.connectivityGraphContainer},{default:r.withCtx(()=>[r.createVNode(c,{class:"control-button",size:"small",onClick:i.zoomOut},{default:r.withCtx(()=>[r.createVNode(l,{color:"white"},{default:r.withCtx(()=>[r.createVNode(m)]),_:1}),r.createElementVNode("span",VCe,r.toDisplayString(e.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),DCe,r.withDirectives(r.createElementVNode("div",zCe,[r.createElementVNode("strong",null,r.toDisplayString(n.connectivityError.errorConnectivities),1),r.createTextVNode(" "+r.toDisplayString(n.connectivityError.errorMessage),1)],512),[[r.vShow,n.connectivityError.errorConnectivities]]),e.loadingError?(r.openBlock(),r.createElementBlock("div",jCe,r.toDisplayString(e.loadingError),1)):r.createCommentVNode("",!0)])),[[h,e.loading]])}const UCe=os(NCe,[["render",HCe],["__scopeId","data-v-95331209"]]),qCe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),KCe=e=>new Promise(t=>setTimeout(t,e)),GCe={name:"ConnectivityList",components:{Button:yo,Container:Iv,Icon:Pn,ElIconWarning:nh,ElIconSearch:eh},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(e){this.convertFacetsToList(e)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(e){return qCe(e)},onConnectivityHovered:function(e,t){this.$emit("connectivity-hovered",e),t&&(this.alertTop=t.srcElement.offsetParent.offsetTop+t.srcElement.offsetTop)},onConnectivityClicked:function(e){const t=this.connectivityError.errorConnectivities,n=t?e.replace(new RegExp(`\\s*,?\\s*${t}\\s*,?\\s*`,"gi"),"").trim():e;this.$emit("connectivity-clicked",n)},shouldShowMagnifyGlass:function(e){const t=this.connectivityError.errorConnectivities;return(t==null?void 0:t.toLowerCase())!==e.toLowerCase()},shouldShowExploreButton:function(e){if(!this.facetList.length)return!0;for(let t=0;t<e.length;t++)if(this.facetList.includes(e[t].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(e){e.forEach(t=>{t.children?this.convertFacetsToList(t.children):this.facetList.push(t.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(e=>e.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(e=>e.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(e=>e.name.toLowerCase())})}}},ws=e=>(r.pushScopeId("data-v-81bbd5ff"),e=e(),r.popScopeId(),e),WCe={ref:"connectivityList",class:"connectivity-list"},XCe={key:0,class:"block"},YCe={class:"attribute-title-container"},ZCe=ws(()=>r.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),JCe={style:{"word-break":"keep-all"}},QCe=ws(()=>r.createElementVNode("i",null,"Origin",-1)),eSe=["origin-item-label","onMouseenter"],tSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),nSe={key:1,class:"block"},rSe=ws(()=>r.createElementVNode("div",{class:"attribute-title-container"},[r.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),oSe=["component-item-label","onMouseenter"],aSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),iSe={key:2,class:"block"},sSe={class:"attribute-title-container"},lSe=ws(()=>r.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),cSe=ws(()=>r.createElementVNode("span",{style:{"word-break":"keep-all"}},[r.createElementVNode("i",null,"Destination"),r.createTextVNode(" is where the axons terminate ")],-1)),dSe=["destination-item-label","onMouseenter"],uSe=ws(()=>r.createElementVNode("span",null,"Search connectivity",-1)),fSe={class:"block"};function pSe(e,t,n,o,a,i){const s=RB,l=nh,c=Pn,d=eh,u=yo;return r.openBlock(),r.createElementBlock("div",WCe,[r.createVNode(s,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!n.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:r.withCtx(()=>[r.createElementVNode("div",{class:"connectivity-alert",style:r.normalizeStyle({top:e.alertTop+"px"})},null,4)]),default:r.withCtx(()=>[r.createElementVNode("strong",null,r.toDisplayString(n.connectivityError.errorConnectivities),1),r.createTextVNode(" "+r.toDisplayString(n.connectivityError.errorMessage),1)]),_:1},8,["visible"]),r.createTextVNode(" "+r.toDisplayString(n.entry.paths)+" ",1),n.origins&&n.origins.length>0?(r.openBlock(),r.createElementBlock("div",XCe,[r.createElementVNode("div",YCe,[ZCe,r.createVNode(s,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.createVNode(c,{class:"info"},{default:r.withCtx(()=>[r.createVNode(l)]),_:1})]),default:r.withCtx(()=>[r.createElementVNode("span",JCe,[QCe,r.createTextVNode(" "+r.toDisplayString(i.originDescription),1)])]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.origins,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[0]||(t[0]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[tSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,eSe))),128)),r.withDirectives(r.createVNode(u,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:r.withCtx(()=>[r.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[r.vShow,n.originsWithDatasets&&n.originsWithDatasets.length>0&&i.shouldShowExploreButton(n.originsWithDatasets)]])])):r.createCommentVNode("",!0),n.components&&n.components.length>0?(r.openBlock(),r.createElementBlock("div",nSe,[rSe,(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.components,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[1]||(t[1]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[aSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,oSe))),128))])):r.createCommentVNode("",!0),n.destinations&&n.destinations.length>0?(r.openBlock(),r.createElementBlock("div",iSe,[r.createElementVNode("div",sSe,[lSe,r.createVNode(s,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.createVNode(c,{class:"info"},{default:r.withCtx(()=>[r.createVNode(l)]),_:1})]),default:r.withCtx(()=>[cSe]),_:1})]),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.destinations,(f,p)=>(r.openBlock(),r.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:m=>i.onConnectivityHovered(f,m),onMouseleave:t[2]||(t[2]=m=>i.onConnectivityHovered())},[r.createVNode(s,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:r.withCtx(()=>[r.withDirectives(r.createVNode(c,{class:"magnify-glass",onClick:m=>i.onConnectivityClicked(f)},{default:r.withCtx(()=>[r.createVNode(d)]),_:2},1032,["onClick"]),[[r.vShow,i.shouldShowMagnifyGlass(f)]])]),default:r.withCtx(()=>[uSe]),_:2},1024),r.createElementVNode("span",null,r.toDisplayString(i.capitalise(f)),1)],40,dSe))),128)),r.withDirectives(r.createVNode(u,{class:"button",onClick:i.openAxons},{default:r.withCtx(()=>[r.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[r.vShow,n.destinationsWithDatasets&&n.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(n.destinationsWithDatasets)]])])):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("div",fSe,[r.createVNode(u,{class:"button",onClick:i.openAll},{default:r.withCtx(()=>[r.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[r.vShow,n.componentsWithDatasets&&n.componentsWithDatasets.length>0&&i.shouldShowExploreButton(n.componentsWithDatasets)]])],512)}const hSe=os(GCe,[["render",pSe],["__scopeId","data-v-81bbd5ff"]]),yP=`<?xml version="1.0" encoding="UTF-8"?>
75
75
  <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
76
76
  <title>2horpanel</title>
77
77
  <g id="2horpanel" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
@@ -1,5 +1,5 @@
1
1
  import { mapStores as l } from "pinia";
2
- import { u as o } from "./index-d6lIRou_.js";
2
+ import { u as o } from "./index-DdxLquWS.js";
3
3
  const p = function(t) {
4
4
  return t ? [...new Set(t.map((e) => JSON.stringify(e)))].map(
5
5
  (e) => JSON.parse(e)