@abi-software/mapintegratedvuer 1.16.2 → 1.16.3-simulation.1

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.
Files changed (41) hide show
  1. package/dist/{ContentMixin-DiDiS2Ct.js → ContentMixin-CN4E1Tcm.js} +224 -455
  2. package/dist/{style-t77Cw_0W.js → DynamicMarkerMixin-ToiTtIcj.js} +1 -1
  3. package/dist/Flatmap-D7eEw_Q5.js +103398 -0
  4. package/dist/{Iframe-Drf0INka.js → Iframe-NY9zAQZz.js} +2 -2
  5. package/dist/{MultiFlatmap-ZODnXOPU.js → MultiFlatmap-C8gAg-MI.js} +15 -15
  6. package/dist/{Plot-DrEUpK5N.js → Plot-DH_Px9IB.js} +2 -2
  7. package/dist/{Scaffold-BiDz1Mwi.js → Scaffold-C6XY3IQb.js} +79 -53
  8. package/dist/Simulation-Bb3HbeD4.js +72 -0
  9. package/dist/{index-C753e18_.js → index-DaB85Tpy.js} +19768 -20046
  10. package/dist/mapintegratedvuer.js +1 -1
  11. package/dist/mapintegratedvuer.umd.cjs +4271 -231
  12. package/dist/style.css +1 -1
  13. package/package.json +9 -4
  14. package/src/App.vue +283 -260
  15. package/src/assets/styles.scss +1 -1
  16. package/src/components/ContentBar.vue +0 -1
  17. package/src/components/ContentVuer.vue +0 -2
  18. package/src/components/ContextCard.vue +0 -1
  19. package/src/components/DummyRouteComponent.vue +1 -0
  20. package/src/components/EventBus.ts +13 -0
  21. package/src/components/FloatingWindow.vue +125 -0
  22. package/src/components/MapContent.vue +8 -5
  23. package/src/components/PlotComponent.vue +56 -0
  24. package/src/components/SplitFlow.vue +470 -439
  25. package/src/components/scripts/utilities.js +1 -1
  26. package/src/components/viewers/Flatmap.vue +136 -84
  27. package/src/components/viewers/MultiFlatmap.vue +1 -1
  28. package/src/components/viewers/Simulation.vue +66 -15
  29. package/src/components.d.ts +3 -0
  30. package/src/main.js +9 -3
  31. package/src/mixins/ContentMixin.js +419 -390
  32. package/src/services/mapping.js +69 -0
  33. package/src/stores/entries.js +1 -1
  34. package/src/stores/mapping.js +29 -0
  35. package/src/stores/settings.js +0 -4
  36. package/src/stores/simulationPlotStore.js +104 -0
  37. package/src/stores/splitFlow.js +427 -362
  38. package/src/types/simulation.js +18 -0
  39. package/dist/Flatmap-Dh0ybLSL.js +0 -202
  40. package/dist/Simulation-lEXXSWRc.js +0 -28
  41. package/src/components/EventBus.js +0 -3
@@ -1,6 +1,6 @@
1
- import { C as r } from "./ContentMixin-DiDiS2Ct.js";
1
+ import { C as r } from "./ContentMixin-CN4E1Tcm.js";
2
2
  import { openBlock as o, createElementBlock as t, createElementVNode as a } from "vue";
3
- import { _ as s } from "./index-C753e18_.js";
3
+ import { _ as s } from "./index-DaB85Tpy.js";
4
4
  const n = {
5
5
  name: "Iframe",
6
6
  mixins: [r]
@@ -1,9 +1,9 @@
1
- import { _ as c, q as h, a as g, T as r, E as l } from "./index-C753e18_.js";
2
- import { C as M } from "./ContentMixin-DiDiS2Ct.js";
3
- import { D as C } from "./style-t77Cw_0W.js";
1
+ import { _ as c, q as h, E as r, T as l, b as g } from "./index-DaB85Tpy.js";
2
+ import { C as M } from "./ContentMixin-CN4E1Tcm.js";
3
+ import { D as C } from "./DynamicMarkerMixin-ToiTtIcj.js";
4
4
  import { MultiFlatmapVuer as y } from "@abi-software/flatmapvuer";
5
5
  import { resolveComponent as p, openBlock as m, createElementBlock as v, createVNode as I, createBlock as S, createCommentVNode as F } from "vue";
6
- const w = '<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>', d = (e) => [
6
+ const w = '<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) => [
7
7
  {
8
8
  display: "Open AC Map",
9
9
  key: "AC"
@@ -30,7 +30,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
30
30
  scaffoldResource: {},
31
31
  showStarInLegend: !1,
32
32
  speciesHasChanged: !1,
33
- openMapOptions: d(),
33
+ openMapOptions: f(),
34
34
  zoomLevel: 6
35
35
  };
36
36
  },
@@ -70,7 +70,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
70
70
  },
71
71
  onPathwaySelectionChanged: function(e) {
72
72
  const { label: t, property: a, checked: n, selectionsTitle: i } = e;
73
- r.sendEvent({
73
+ l.sendEvent({
74
74
  event: "interaction_event",
75
75
  event_name: "portal_maps_pathway_change",
76
76
  category: t + " [" + a + "] " + n,
@@ -81,7 +81,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
81
81
  this.flatmapReady && this.$refs.multiflatmap.getCurrentFlatmap().annotationEventCallback({}, { type: "aborted" });
82
82
  },
83
83
  onOpenPubmedUrl: function(e) {
84
- r.sendEvent({
84
+ l.sendEvent({
85
85
  event: "interaction_event",
86
86
  event_name: "portal_maps_pubmed_url",
87
87
  file_path: e,
@@ -101,16 +101,16 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
101
101
  const e = this.getFlatmapImp();
102
102
  if (e) {
103
103
  let t = { id: this.entry.id, prov: e.mapMetadata };
104
- l.emit("mapImpProv", t), this.$emit("flatmap-provenance-ready", t);
104
+ r.emit("mapImpProv", t), this.$emit("flatmap-provenance-ready", t);
105
105
  }
106
106
  },
107
107
  contextRestored: function(e) {
108
108
  e && (this.flatmapMarkerUpdate(e.mapImp), this.updateViewerSettings(), this.speciesHasChanged && (this.speciesHasChanged = !1, this.$emit("species-changed", this.activeSpecies)));
109
109
  },
110
110
  flatmapChanged: async function(e) {
111
- this.activeSpecies = e, this.openMapOptions = d();
111
+ this.activeSpecies = e, this.openMapOptions = f();
112
112
  const t = this.getFlatmapImp();
113
- this.updateProvCard(), t && (t.contextLost ? this.speciesHasChanged = !0 : (this.flatmapMarkerUpdate(t), this.updateViewerSettings(), this.speciesHasChanged = !1, this.$emit("species-changed", e))), r.sendEvent({
113
+ this.updateProvCard(), t && (t.contextLost ? this.speciesHasChanged = !0 : (this.flatmapMarkerUpdate(t), this.updateViewerSettings(), this.speciesHasChanged = !1, this.$emit("species-changed", e))), l.sendEvent({
114
114
  event: "interaction_event",
115
115
  event_name: "portal_maps_species_change",
116
116
  category: this.activeSpecies
@@ -121,7 +121,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
121
121
  e.enablePanZoomEvents(!0), this.flatmapReady = !0;
122
122
  const t = e.mapImp;
123
123
  this.flatmapMarkerUpdate(t), this.updateProvCard(), this.updateViewerSettings(), this.loadConnectivityExplorerConfig(e).then(() => {
124
- l.emit("mapLoaded", e);
124
+ r.emit("mapLoaded", e);
125
125
  });
126
126
  }
127
127
  },
@@ -135,7 +135,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
135
135
  label: "Unused",
136
136
  val: this.getFlatmapImp().visibleMarkerAnatomicalIds().map((n) => this.idNamePair[n])
137
137
  };
138
- l.emit("PopoverActionClick", a);
138
+ r.emit("PopoverActionClick", a);
139
139
  },
140
140
  restoreFeaturedMarkers: function(e) {
141
141
  this.settingsStore.resetFeaturedMarkerIdentifier();
@@ -247,7 +247,7 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
247
247
  }
248
248
  }, b = { class: "viewer-container" };
249
249
  function R(e, t, a, n, i, o) {
250
- const s = p("MultiFlatmapVuer"), f = p("HelpModeDialog");
250
+ const s = p("MultiFlatmapVuer"), d = p("HelpModeDialog");
251
251
  return m(), v("div", b, [
252
252
  I(s, {
253
253
  availableSpecies: e.availableSpecies,
@@ -293,7 +293,7 @@ function R(e, t, a, n, i, o) {
293
293
  showPathwayFilter: !1,
294
294
  onTrackEvent: e.trackEvent
295
295
  }, null, 8, ["availableSpecies", "onContextRestored", "onFlatmapChanged", "onReady", "state", "mapManager", "initial", "helpMode", "helpModeActiveItem", "helpModeDialog", "onHelpModeLastItem", "onShownTooltip", "onShownMapTooltip", "onAnnotationOpen", "onAnnotationClose", "onUpdateOfflineAnnotationEnabled", "annotationSidebar", "onConnectivityInfoOpen", "onConnectivityError", "onConnectivityInfoClose", "onNeuronConnectionFeatureClick", "connectivityInfoSidebar", "displayMinimap", "showStarInLegend", "openMapOptions", "flatmapAPI", "render", "sparcAPI", "showLocalSettings", "showOpenMapButton", "onPanZoomCallback", "onOpenMap", "onFinishHelpMode", "onPathwaySelectionChanged", "onOpenPubmedUrl", "onMapmanagerLoaded", "onTrackEvent"]),
296
- e.helpMode && e.useHelpModeDialog ? (m(), S(f, {
296
+ e.helpMode && e.useHelpModeDialog ? (m(), S(d, {
297
297
  key: 0,
298
298
  ref: "multiflatmapHelp",
299
299
  multiflatmapRef: e.multiflatmapRef,
@@ -303,7 +303,7 @@ function R(e, t, a, n, i, o) {
303
303
  }, null, 8, ["multiflatmapRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : F("", !0)
304
304
  ]);
305
305
  }
306
- const E = /* @__PURE__ */ c(k, [["render", R], ["__scopeId", "data-v-3d3287ed"]]);
306
+ const E = /* @__PURE__ */ c(k, [["render", R], ["__scopeId", "data-v-5b5fef5e"]]);
307
307
  export {
308
308
  E as default
309
309
  };
@@ -1,7 +1,7 @@
1
1
  import { PlotVuer as o } from "@abi-software/plotvuer";
2
- import { C as r } from "./ContentMixin-DiDiS2Ct.js";
2
+ import { C as r } from "./ContentMixin-CN4E1Tcm.js";
3
3
  import { resolveComponent as a, openBlock as n, createBlock as s } from "vue";
4
- import { _ as p } from "./index-C753e18_.js";
4
+ import { _ as p } from "./index-DaB85Tpy.js";
5
5
  const l = {
6
6
  name: "Plot",
7
7
  mixins: [r],
@@ -1,27 +1,53 @@
1
- import { _ as g, q as m, g as v, b as y, E as d } from "./index-C753e18_.js";
2
- import { C as w } from "./ContentMixin-DiDiS2Ct.js";
3
- import { ScaffoldVuer as b } from "@abi-software/scaffoldvuer";
4
- import { resolveComponent as p, openBlock as u, createElementBlock as S, createVNode as M, createBlock as N, createCommentVNode as $ } from "vue";
1
+ import { _ as p, q as m, E as c } from "./index-DaB85Tpy.js";
2
+ import { C as v } from "./ContentMixin-CN4E1Tcm.js";
3
+ import { ScaffoldVuer as w } from "@abi-software/scaffoldvuer";
4
+ import { resolveComponent as u, openBlock as g, createElementBlock as y, createVNode as b, createBlock as S, createCommentVNode as M } from "vue";
5
+ async function k(e) {
6
+ const t = sessionStorage.getItem("flatmap-knowledge");
7
+ if (t) {
8
+ const i = JSON.parse(t).filter((s) => s.references && s.references.length).filter((s) => s.references.includes(e));
9
+ if (i.length)
10
+ return i.map((l) => l.id);
11
+ }
12
+ return [];
13
+ }
14
+ async function I(e, t, n) {
15
+ const i = `select knowledge from knowledge
16
+ where source="${N(e)}" and
17
+ knowledge like "%${t}%" order by source desc`;
18
+ return (await n.queryKnowledge(i)).map((a) => JSON.parse(a)).map((a) => a.id);
19
+ }
20
+ function N(e) {
21
+ return $(e.mapMetadata);
22
+ }
23
+ function $(e) {
24
+ let t = "";
25
+ if (e != null && e.connectivity) {
26
+ const n = e.connectivity;
27
+ "knowledge-source" in n ? t = n["knowledge-source"] : "npo" in n && (t = `${n.npo.release}-npo`);
28
+ }
29
+ return t;
30
+ }
5
31
  const C = {
6
32
  name: "Scaffold",
7
- mixins: [w],
33
+ mixins: [v],
8
34
  components: {
9
- ScaffoldVuer: b,
35
+ ScaffoldVuer: w,
10
36
  HelpModeDialog: m
11
37
  },
12
38
  methods: {
13
39
  showConnectivitiesByReference: async function(e) {
14
40
  const t = sessionStorage.getItem("flatmap-knowledge");
15
41
  let n = [];
16
- t ? n = await v(e) : n = await y(this.flatmapService.mapImp, e, this.flatmapService.flatmapQueries);
42
+ t ? n = await k(e) : n = await I(this.flatmapService.mapImp, e, this.flatmapService.flatmapQueries);
17
43
  const o = [];
18
- for (const s of n) {
19
- const i = this.nervesKnowledge.find((l) => l.id === s);
20
- if (!i) continue;
21
- const f = i["nerve-label"];
22
- if (f) {
23
- const l = f.flatMap((a) => a.subNerves);
24
- o.push(...l);
44
+ for (const i of n) {
45
+ const s = this.nervesKnowledge.find((r) => r.id === i);
46
+ if (!s) continue;
47
+ const l = s["nerve-label"];
48
+ if (l) {
49
+ const r = l.flatMap((a) => a.subNerves);
50
+ o.push(...r);
25
51
  }
26
52
  }
27
53
  this.$refs.scaffold.changeHighlightedByName(o, "", !1);
@@ -37,14 +63,14 @@ const C = {
37
63
  const n = !!e;
38
64
  if (e) {
39
65
  const o = [];
40
- e.OR.forEach((s) => {
41
- "AND" in s && s.AND.length >= 2 && "models" in s.AND[1] && o.push(...s.AND[1].models);
66
+ e.OR.forEach((i) => {
67
+ "AND" in i && i.AND.length >= 2 && "models" in i.AND[1] && o.push(...i.AND[1].models);
42
68
  });
43
- for (const s of o) {
44
- const i = this.nervesKnowledge.find((f) => f.id === s);
45
- if (i) {
46
- const f = i["nerve-label"].map((l) => l.subNerves).flat(1 / 0);
47
- t.push(...f);
69
+ for (const i of o) {
70
+ const s = this.nervesKnowledge.find((l) => l.id === i);
71
+ if (s) {
72
+ const l = s["nerve-label"].map((r) => r.subNerves).flat(1 / 0);
73
+ t.push(...l);
48
74
  }
49
75
  }
50
76
  }
@@ -69,41 +95,41 @@ const C = {
69
95
  facetPropPath: "scaffold.connectivity.nerve"
70
96
  });
71
97
  else {
72
- const s = o.toLowerCase();
73
- let i = this.clickedObject.anatomicalId || "";
74
- if (i)
98
+ const i = o.toLowerCase();
99
+ let s = this.clickedObject.anatomicalId || "";
100
+ if (s)
75
101
  this.filter.push({
76
- facet: `["${i}",[]]`,
77
- facetPropPath: `flatmap.connectivity.source.${s}`,
102
+ facet: `["${s}",[]]`,
103
+ facetPropPath: `flatmap.connectivity.source.${i}`,
78
104
  tagLabel: n.charAt(0).toUpperCase() + n.slice(1),
79
105
  term: o
80
106
  });
81
107
  else {
82
- const l = this.connectivitiesStore.filterOptions[this.entry.resource].find((r) => r.key === `flatmap.connectivity.source.${s}`);
108
+ const r = this.connectivitiesStore.filterOptions[this.entry.resource].find((f) => f.key === `flatmap.connectivity.source.${i}`);
83
109
  let a;
84
- l == null || l.children.forEach((r) => {
85
- var c;
86
- r.label.toLowerCase() === n && (a = r), (c = r.children) == null || c.forEach((h) => {
110
+ r == null || r.children.forEach((f) => {
111
+ var d;
112
+ f.label.toLowerCase() === n && (a = f), (d = f.children) == null || d.forEach((h) => {
87
113
  h.label.toLowerCase() === n && (a = h);
88
114
  });
89
- }), a && (i = a.key.replace(`flatmap.connectivity.source.${s}.`, ""), this.filter.push({
90
- facet: i,
91
- facetPropPath: `flatmap.connectivity.source.${s}`,
115
+ }), a && (s = a.key.replace(`flatmap.connectivity.source.${i}.`, ""), this.filter.push({
116
+ facet: s,
117
+ facetPropPath: `flatmap.connectivity.source.${i}`,
92
118
  tagLabel: a.tagLabel,
93
119
  term: o
94
120
  }));
95
121
  }
96
122
  }
97
- d.emit("neuron-connection-feature-click", {
123
+ c.emit("neuron-connection-feature-click", {
98
124
  filters: this.filter,
99
125
  search: this.filter.length ? "" : n
100
126
  });
101
127
  } else if (this.$refs.scaffold.viewingMode === "Exploration") {
102
- const o = this.nervesKnowledge.filter((s) => JSON.stringify(s["nerve-label"]).includes(n));
128
+ const o = this.nervesKnowledge.filter((i) => JSON.stringify(i["nerve-label"]).includes(n));
103
129
  o.length && this.getKnowledgeTooltip({ data: o, type: this.entry });
104
130
  }
105
131
  }
106
- } else t.length > 1 ? this.$refs.scaffold.viewingMode === "Exploration" && this.clickedObject && this.$refs.scaffold.$module.setIgnorePicking(!1) : (this.clickedObject = void 0, d.emit("connectivity-info-close"));
132
+ } else t.length > 1 ? this.$refs.scaffold.viewingMode === "Exploration" && this.clickedObject && this.$refs.scaffold.$module.setIgnorePicking(!1) : (this.clickedObject = void 0, c.emit("connectivity-info-close"));
107
133
  },
108
134
  onResize: function() {
109
135
  this.scaffoldCamera.onResize();
@@ -141,7 +167,7 @@ const C = {
141
167
  Array.isArray(e) ? n = e : n = [e.name], t && this.$refs.scaffold.changeActiveByName(n, "", !1), this.$refs.scaffold.viewRegion(n);
142
168
  },
143
169
  scaffoldIsReady: function() {
144
- this.scaffoldLoaded = !0, this.$refs.scaffold.$module.graphicsHighlight.highlightColour = [1, 0, 1], this.visible && this.entry.rotation && this.entry.rotation, this.updateViewerSettings(), d.emit("mapLoaded", this.$refs.scaffold), setTimeout(() => {
170
+ this.scaffoldLoaded = !0, this.$refs.scaffold.$module.graphicsHighlight.highlightColour = [1, 0, 1], this.visible && this.entry.rotation && this.entry.rotation, this.updateViewerSettings(), c.emit("mapLoaded", this.$refs.scaffold), setTimeout(() => {
145
171
  this.setNerveGreyScale();
146
172
  }, 500);
147
173
  },
@@ -149,14 +175,14 @@ const C = {
149
175
  * Callback when the vuers emit a selected event.
150
176
  */
151
177
  scaffoldHighlighted: function(e, t) {
152
- var o, s, i;
178
+ var o, i, s;
153
179
  const n = {
154
180
  paneIndex: this.entry.id,
155
181
  type: e,
156
182
  resource: t,
157
183
  internalName: void 0
158
184
  };
159
- t && t[0] && ((((o = t[0].data) == null ? void 0 : o.id) === void 0 || ((s = t[0].data) == null ? void 0 : s.id) === "") && (t[0].data.id = (i = t[0].data) == null ? void 0 : i.group), n.internalName = t[0].data.id, n.eventType = "highlighted"), this.$emit("resource-selected", n);
185
+ t && t[0] && ((((o = t[0].data) == null ? void 0 : o.id) === void 0 || ((i = t[0].data) == null ? void 0 : i.id) === "") && (t[0].data.id = (s = t[0].data) == null ? void 0 : s.group), n.internalName = t[0].data.id, n.eventType = "highlighted"), this.$emit("resource-selected", n);
160
186
  },
161
187
  /**
162
188
  * Callback when the vuers emit a selected event.
@@ -225,18 +251,18 @@ const C = {
225
251
  mounted: function() {
226
252
  this.scaffoldCamera = this.$refs.scaffold.$module.scene.getZincCameraControls();
227
253
  }
228
- }, I = { class: "viewer-container" };
229
- function O(e, t, n, o, s, i) {
230
- const f = p("ScaffoldVuer"), l = p("HelpModeDialog");
231
- return u(), S("div", I, [
232
- M(f, {
254
+ }, O = { class: "viewer-container" };
255
+ function L(e, t, n, o, i, s) {
256
+ const l = u("ScaffoldVuer"), r = u("HelpModeDialog");
257
+ return g(), y("div", O, [
258
+ b(l, {
233
259
  state: e.entry.state,
234
260
  url: e.entry.resource,
235
261
  region: e.entry.region,
236
- onScaffoldSelected: t[0] || (t[0] = (a) => i.scaffoldResourceSelected(e.entry.type, a)),
237
- onScaffoldHighlighted: t[1] || (t[1] = (a) => i.scaffoldHighlighted(e.entry.type, a)),
238
- onScaffoldNavigated: t[2] || (t[2] = (a) => i.scaffoldNavigated(e.entry.type, a)),
239
- onOnReady: i.scaffoldIsReady,
262
+ onScaffoldSelected: t[0] || (t[0] = (a) => s.scaffoldResourceSelected(e.entry.type, a)),
263
+ onScaffoldHighlighted: t[1] || (t[1] = (a) => s.scaffoldHighlighted(e.entry.type, a)),
264
+ onScaffoldNavigated: t[2] || (t[2] = (a) => s.scaffoldNavigated(e.entry.type, a)),
265
+ onOnReady: s.scaffoldIsReady,
240
266
  onOpenMap: e.openMap,
241
267
  ref: "scaffold",
242
268
  "background-toggle": !0,
@@ -253,13 +279,13 @@ function O(e, t, n, o, s, i) {
253
279
  onShownMapTooltip: e.onMapTooltipShown,
254
280
  render: e.visible,
255
281
  "display-latest-message": !0,
256
- "warning-message": i.warningMessage,
282
+ "warning-message": s.warningMessage,
257
283
  "display-minimap": !1,
258
284
  "display-markers": !1,
259
285
  enableOpenMapUI: !0,
260
286
  "view-u-r-l": e.entry.viewUrl,
261
287
  markerCluster: !0,
262
- markerLabels: i.markerLabels,
288
+ markerLabels: s.markerLabels,
263
289
  flatmapAPI: e.flatmapAPI,
264
290
  showLocalSettings: e.showLocalSettings,
265
291
  showOpenMapButton: e.showOpenMapButton,
@@ -268,17 +294,17 @@ function O(e, t, n, o, s, i) {
268
294
  tubeLines: e.entry.discoverId === "307" || e.entry.discoverId === 307
269
295
  }
270
296
  }, null, 8, ["state", "url", "region", "onOnReady", "onOpenMap", "helpMode", "helpModeActiveItem", "helpModeDialog", "onAnnotationOpen", "onAnnotationClose", "onUpdateOfflineAnnotationEnabled", "annotationSidebar", "onHelpModeLastItem", "onShownTooltip", "onShownMapTooltip", "render", "warning-message", "view-u-r-l", "markerLabels", "flatmapAPI", "showLocalSettings", "showOpenMapButton", "usageConfig"]),
271
- e.helpMode && e.useHelpModeDialog ? (u(), N(l, {
297
+ e.helpMode && e.useHelpModeDialog ? (g(), S(r, {
272
298
  key: 0,
273
299
  ref: "scaffoldHelp",
274
300
  scaffoldRef: e.scaffoldRef,
275
301
  lastItem: e.helpModeLastItem,
276
302
  onShowNext: e.onHelpModeShowNext,
277
303
  onFinishHelpMode: e.onFinishHelpMode
278
- }, null, 8, ["scaffoldRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : $("", !0)
304
+ }, null, 8, ["scaffoldRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : M("", !0)
279
305
  ]);
280
306
  }
281
- const H = /* @__PURE__ */ g(C, [["render", O], ["__scopeId", "data-v-5de11cee"]]);
307
+ const H = /* @__PURE__ */ p(C, [["render", L], ["__scopeId", "data-v-5de11cee"]]);
282
308
  export {
283
309
  H as default
284
310
  };
@@ -0,0 +1,72 @@
1
+ import { _ as r, E as i } from "./index-DaB85Tpy.js";
2
+ import { C as d } from "./ContentMixin-CN4E1Tcm.js";
3
+ import { SimulationVuer as u } from "@abi-software/simulationvuer";
4
+ import { resolveComponent as l, openBlock as c, createBlock as m } from "vue";
5
+ const p = {
6
+ name: "Simulation",
7
+ mixins: [d],
8
+ components: {
9
+ SimulationVuer: u
10
+ },
11
+ computed: {
12
+ id: function() {
13
+ return this.entry.resource ? this.entry.resource : this.entry.discoverId;
14
+ }
15
+ },
16
+ methods: {
17
+ handleDataNotification: function(o) {
18
+ i.emit("simulation-response", o);
19
+ },
20
+ handleDataRequest(o) {
21
+ this.processRequest(o);
22
+ },
23
+ handleWindowClosed(o) {
24
+ var t;
25
+ (t = this.$refs.simulation) == null || t.removeDataSubscription(o.id);
26
+ },
27
+ processRequest: function(o) {
28
+ var e, n;
29
+ if (o.id !== "nz.ac.auckland.simulation-data-request") return;
30
+ if (parseInt(o.version.split(".")[0]) !== 0) {
31
+ console.warn("Unsupported simulation request version:", o.version);
32
+ return;
33
+ }
34
+ ((e = o.payload.protocol) == null ? void 0 : e.resource) === this.id && ((n = this.$refs.simulation) == null || n.addDataSubscription({
35
+ id: o.id,
36
+ version: o.version,
37
+ payload: {
38
+ windowId: o.payload.windowId,
39
+ ownerId: o.payload.ownerId,
40
+ component: o.payload.component,
41
+ variable: o.payload.variable,
42
+ withVOI: !0
43
+ }
44
+ }));
45
+ }
46
+ },
47
+ mounted: function() {
48
+ i.on("simulation-data-request", this.handleDataRequest), i.on("plot-window-closed", this.handleWindowClosed), i.emit("simulation-ready", {
49
+ resourceId: this.id,
50
+ ready: !0
51
+ });
52
+ },
53
+ beforeUnmount: function() {
54
+ i.emit("simulation-ready", {
55
+ resourceId: this.id,
56
+ ready: !1
57
+ }), i.off("simulation-data-request", this.handleDataRequest), i.off("plot-window-closed", this.handleWindowClosed);
58
+ }
59
+ };
60
+ function f(o, t, e, n, h, a) {
61
+ const s = l("SimulationVuer");
62
+ return c(), m(s, {
63
+ apiLocation: o.apiLocation,
64
+ id: a.id,
65
+ ref: "simulation",
66
+ onDataNotification: a.handleDataNotification
67
+ }, null, 8, ["apiLocation", "id", "onDataNotification"]);
68
+ }
69
+ const D = /* @__PURE__ */ r(p, [["render", f]]);
70
+ export {
71
+ D as default
72
+ };