@abi-software/mapintegratedvuer 1.23.0 → 1.24.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 (34) hide show
  1. package/dist/{ConnectivityGraph-Cao0C1-G.js → ConnectivityGraph-Cye6QvZR.js} +6 -6
  2. package/dist/{ContentMixin-4t04VWoF.js → ContentMixin-SBI5HTPO.js} +295 -244
  3. package/dist/{DynamicMarkerMixin-tATj70ym.js → DynamicMarkerMixin-LB2RYdSY.js} +1 -1
  4. package/dist/{Flatmap-DF4FAwLY.js → Flatmap-TcOqOyD5.js} +5 -5
  5. package/dist/{Iframe-DbQ22y53.js → Iframe-D-Eq3G6T.js} +2 -2
  6. package/dist/{MultiFlatmap-Dwy9gbWC.js → MultiFlatmap-C122IUmB.js} +6 -6
  7. package/dist/{Plot-COXE_H78.js → Plot-DTv-vd63.js} +2 -2
  8. package/dist/{Scaffold-9ubjNzcD.js → Scaffold-B2g3O1xF.js} +46 -36
  9. package/dist/{Simulation-CR-yKjxu.js → Simulation-ClMZ5HHt.js} +2 -2
  10. package/dist/{connectivities-DhBMlBSj.js → connectivities-LtlFwLOp.js} +6399 -5790
  11. package/dist/es-D-YkSGXX.js +436 -0
  12. package/dist/mapintegratedvuer.js +12994 -11652
  13. package/dist/mapintegratedvuer.umd.cjs +191 -190
  14. package/dist/style.css +1 -1
  15. package/package.json +4 -4
  16. package/src/assets/header-icon.scss +9 -3
  17. package/src/components/ContentBar.vue +172 -92
  18. package/src/components/ContentVuer.vue +41 -1
  19. package/src/components/DialogToolbarContent.vue +45 -4
  20. package/src/components/EventBus.js +8 -0
  21. package/src/components/MapContent.vue +77 -31
  22. package/src/components/ResizeSensor.vue +7 -9
  23. package/src/components/ScreenshotPopover.vue +526 -0
  24. package/src/components/SplitDialog.vue +94 -93
  25. package/src/components/SplitFlow.vue +158 -96
  26. package/src/components/scripts/utilities.js +56 -1
  27. package/src/components/viewers/Flatmap.vue +1 -0
  28. package/src/components/viewers/MultiFlatmap.vue +3 -0
  29. package/src/components/viewers/Scaffold.vue +25 -13
  30. package/src/components.d.ts +2 -0
  31. package/src/mixins/ContentMixin.js +32 -21
  32. package/src/services/screenshot.js +1186 -0
  33. package/src/stores/connectivities.js +38 -5
  34. package/src/stores/settings.js +18 -0
@@ -1,85 +1,144 @@
1
- import { N as e, O as t, b as n, i as r, n as i, r as a, s as o, t as s, u as c, v as l, y as u } from "./connectivities-DhBMlBSj.js";
2
- import { markRaw as d } from "vue";
3
- import { mapStores as f } from "pinia";
1
+ import { A as e, D as t, I as n, U as r, b as i, i as a, m as o, n as s, p as c, r as l, s as u, t as d, u as f, y as p } from "./connectivities-LtlFwLOp.js";
2
+ import { markRaw as m } from "vue";
3
+ import { mapStores as h } from "pinia";
4
4
  //#region node_modules/@abi-software/flatmapvuer/src/services/flatmapQueries.js
5
- var p = function(e) {
6
- return e ? [...new Set(e.map((e) => JSON.stringify(e)))].map((e) => JSON.parse(e)) : [];
7
- }, m = function(e) {
5
+ var g = function(e) {
6
+ if (!e) return [];
7
+ let t = /* @__PURE__ */ new Set();
8
+ return e.filter((e) => {
9
+ let n = JSON.stringify(e);
10
+ return !t.has(n) && (t.add(n), !0);
11
+ });
12
+ }, _ = function(e) {
13
+ return new Set((e || []).map((e) => JSON.stringify(e)));
14
+ }, v = function(e) {
8
15
  if (!e) return [];
9
16
  let t = /* @__PURE__ */ new Set(), n = [];
10
17
  return e.forEach((e) => {
11
18
  let { id: r, name: i } = e, a = `${r.toLowerCase()}:${i.toLowerCase()}`;
12
19
  t.has(a) || (t.add(a), n.push(e));
13
20
  }), n;
14
- }, h = [], g = async function(e, t) {
15
- let n = t.filter((e) => h.some((t) => t.taxon === e)), r = h.filter((e) => n.includes(e.taxon)), i = t.filter((e) => !n.includes(e));
16
- if (i.length) {
17
- let t = await e.queryLabels(i);
18
- if (t.length) return t.forEach((e) => {
19
- let { entity: t, label: n } = e;
20
- n === "Mammalia" && (n = "Mammalia not otherwise specified");
21
- let i = {
22
- taxon: t,
23
- label: n
24
- };
25
- r.push(i), h.push(i);
26
- }), r;
27
- } else return r;
28
- }, _ = function(e, t) {
29
- if (!e || !t) return !1;
30
- let n = JSON.stringify(e), r = JSON.stringify(t);
31
- return n.indexOf(r) !== -1;
32
- }, v = (e, t) => {
21
+ }, y = /* @__PURE__ */ new Map(), b = /* @__PURE__ */ new Map(), x = 100, S = /* @__PURE__ */ new Map(), C = function(e, t) {
22
+ if (S.has(e)) {
23
+ let t = S.get(e);
24
+ return S.delete(e), S.set(e, t), t;
25
+ }
26
+ let n = t().catch((t) => {
27
+ throw S.get(e) === n && S.delete(e), t;
28
+ });
29
+ return S.set(e, n), S.size > x && S.delete(S.keys().next().value), n;
30
+ }, w = async function(e, t) {
31
+ let n = [...new Set(t)], r = n.filter((e) => !y.has(e) && !b.has(e));
32
+ if (r.length) {
33
+ let t = e.queryLabels(r).then((e) => {
34
+ (e || []).forEach((e) => {
35
+ let { entity: t, label: n } = e;
36
+ n === "Mammalia" && (n = "Mammalia not otherwise specified"), y.set(t, n);
37
+ });
38
+ }).finally(() => {
39
+ r.forEach((e) => b.delete(e));
40
+ });
41
+ r.forEach((e) => b.set(e, t));
42
+ }
43
+ let i = new Set(n.map((e) => b.get(e)).filter(Boolean));
44
+ return await Promise.all(i), n.filter((e) => y.has(e)).map((e) => ({
45
+ taxon: e,
46
+ label: y.get(e)
47
+ }));
48
+ }, T = (e, t) => {
33
49
  let n = e.name ?? e, r = t.name ?? t, i = n.toUpperCase(), a = r.toUpperCase();
34
50
  return i < a ? -1 : +(i > a);
35
- }, y = function() {
51
+ }, E = function() {
52
+ return {
53
+ destinations: [],
54
+ origins: [],
55
+ components: [],
56
+ destinationsWithDatasets: [],
57
+ originsWithDatasets: [],
58
+ componentsWithDatasets: [],
59
+ destinationsCombinations: [],
60
+ originsCombinations: [],
61
+ componentsCombinations: [],
62
+ singleConnectivityList: [],
63
+ rawURLs: [],
64
+ expertConsultants: []
65
+ };
66
+ }, D = function(e, t, n, r) {
67
+ let { sckanNodeId: i, sckanNodeLabel: a, mapNodeId: o, mapNodeLabel: s } = n;
68
+ e.push({
69
+ sckanId: i,
70
+ sckanLabel: a,
71
+ mapId: o,
72
+ mapLabel: s
73
+ }), o.forEach((e, n) => {
74
+ let i = typeof e == "string" ? e : e[0];
75
+ i && t.push({
76
+ id: i,
77
+ name: r[n]
78
+ });
79
+ });
80
+ }, O = function() {
36
81
  this.initialise = function(e) {
37
- this.flatmapAPI = e, this.destinations = [], this.origins = [], this.components = [], this.destinationsWithDatasets = [], this.originsWithDatasets = [], this.componentsWithDatasets = [], this.destinationsCombinations = [], this.originsCombinations = [], this.componentsCombinations = [], this.singleConnectivityList = [], this.hasSingleConnectivityList = !1, this.rawURLs = [], this.expertConsultants = [], this.controller = void 0, this.uberons = [], this.lookUp = [], this.connectivitySource = "map", this.noMapConnectivity = !1;
38
- }, this.createTooltipData = async function(e, t) {
39
- let n;
40
- n = t.feature.hyperlinks && t.feature.hyperlinks.length > 0 ? t.feature.hyperlinks : this.rawURLs;
82
+ this.flatmapAPI = e, Object.assign(this, E()), this.hasSingleConnectivityList = !1, this.controller = void 0, this.uberons = [], this.lookUp = [], this.connectivitySource = "map", this.noMapConnectivity = !1, this._requestId = 0;
83
+ }, this._buildTooltipData = async function(e, t, n) {
41
84
  let r;
42
- if (t.provenanceTaxonomy) {
43
- r = [];
85
+ r = n.feature?.hyperlinks && n.feature.hyperlinks.length > 0 ? n.feature.hyperlinks : e.rawURLs;
86
+ let i;
87
+ if (n.provenanceTaxonomy) {
88
+ i = [];
44
89
  try {
45
- let n = await g(e, t.provenanceTaxonomy);
46
- n.length && n.forEach((e) => {
47
- let { label: t } = e;
48
- r.push(t);
90
+ (await w(t, n.provenanceTaxonomy)).forEach((e) => {
91
+ i.push(e.label);
49
92
  });
50
93
  } catch (e) {
51
94
  console.log(e);
52
95
  }
53
96
  }
54
97
  return {
55
- destinations: this.destinations,
56
- origins: this.origins,
57
- components: this.components,
58
- destinationsWithDatasets: m(this.destinationsWithDatasets),
59
- originsWithDatasets: m(this.originsWithDatasets),
60
- componentsWithDatasets: m(this.componentsWithDatasets),
61
- destinationsCombinations: this.destinationsCombinations,
62
- originsCombinations: this.originsCombinations,
63
- componentsCombinations: this.componentsCombinations,
64
- hasSingleConnectivityList: this.singleConnectivityList.length > 0,
65
- title: t.label,
66
- featureId: t.resource,
67
- hyperlinks: n,
68
- "expert-consultants": this.expertConsultants,
69
- provenanceTaxonomy: t.provenanceTaxonomy,
70
- provenanceTaxonomyLabel: r,
71
- connectivitySource: this.connectivitySource,
72
- noMapConnectivity: this.noMapConnectivity
98
+ destinations: e.destinations,
99
+ origins: e.origins,
100
+ components: e.components,
101
+ destinationsWithDatasets: v(e.destinationsWithDatasets),
102
+ originsWithDatasets: v(e.originsWithDatasets),
103
+ componentsWithDatasets: v(e.componentsWithDatasets),
104
+ destinationsCombinations: e.destinationsCombinations,
105
+ originsCombinations: e.originsCombinations,
106
+ componentsCombinations: e.componentsCombinations,
107
+ hasSingleConnectivityList: e.singleConnectivityList.length > 0,
108
+ title: n.label,
109
+ featureId: n.resource,
110
+ hyperlinks: r,
111
+ "expert-consultants": e.expertConsultants,
112
+ provenanceTaxonomy: n.provenanceTaxonomy,
113
+ provenanceTaxonomyLabel: i,
114
+ connectivitySource: e.connectivitySource,
115
+ noMapConnectivity: e.noMapConnectivity
73
116
  };
117
+ }, this.createTooltipData = async function(e, t) {
118
+ return this._buildTooltipData(this, e, t);
119
+ }, this.queryTooltipData = async function(e, t) {
120
+ let n = t.resource, r = {
121
+ ...E(),
122
+ connectivitySource: "map",
123
+ noMapConnectivity: !1
124
+ };
125
+ if (n && n.length > 0 && n[0]) {
126
+ let { state: t } = await this._fetchConnectivity(e, n[0], "map", !0);
127
+ r = {
128
+ ...r,
129
+ ...t
130
+ };
131
+ }
132
+ return this._buildTooltipData(r, e, t);
74
133
  }, this.updateTooltipData = function(e) {
75
134
  return {
76
135
  ...e,
77
136
  origins: this.origins,
78
- originsWithDatasets: m(this.originsWithDatasets),
137
+ originsWithDatasets: v(this.originsWithDatasets),
79
138
  components: this.components,
80
- componentsWithDatasets: m(this.componentsWithDatasets),
139
+ componentsWithDatasets: v(this.componentsWithDatasets),
81
140
  destinations: this.destinations,
82
- destinationsWithDatasets: m(this.destinationsWithDatasets),
141
+ destinationsWithDatasets: v(this.destinationsWithDatasets),
83
142
  destinationsCombinations: this.destinationsCombinations,
84
143
  originsCombinations: this.originsCombinations,
85
144
  componentsCombinations: this.componentsCombinations,
@@ -91,17 +150,21 @@ var p = function(e) {
91
150
  return e.forEach((e) => {
92
151
  n.push(this.createLabelFromNeuralNode(e[0]), t), e.length === 2 && n.push(this.createLabelFromNeuralNode(e[1]), t);
93
152
  }), n;
94
- }, this.createLabelLookup = async function(e, t) {
95
- let n = {};
96
- this.uberons = [];
97
- let r = await g(e, t);
98
- return r.length && r.forEach((e) => {
99
- let { taxon: t, label: r } = e;
100
- n[t] = r, this.uberons.push({
153
+ }, this._buildLabelLookup = async function(e, t) {
154
+ let n = {}, r = [];
155
+ return (await w(e, t)).forEach((e) => {
156
+ let { taxon: t, label: i } = e;
157
+ n[t] = i, r.push({
101
158
  id: t,
102
- name: r
159
+ name: i
103
160
  });
104
- }), n;
161
+ }), {
162
+ lookUp: n,
163
+ uberons: r
164
+ };
165
+ }, this.createLabelLookup = async function(e, t) {
166
+ let { lookUp: n, uberons: r } = await this._buildLabelLookup(e, t);
167
+ return this.uberons = r, n;
105
168
  }, this.buildConnectivitySqlStatement = function(e) {
106
169
  let t = "select knowledge from knowledge where entity in (";
107
170
  if (e.length === 1) t += `'${e[0]}')`;
@@ -113,48 +176,43 @@ var p = function(e) {
113
176
  else if (e.length > 1) for (let n in e) t += `'${e[n]}'${n >= e.length - 1 ? ")" : ","} `;
114
177
  return t;
115
178
  }, this.findAllIdsFromConnectivity = function(e) {
116
- let t = e.connectivity.flat(), n = [...new Set(t)], r = [];
117
- return n.forEach((e) => {
118
- Array.isArray(e) ? r.push(e.flat()) : r.push(e);
119
- }), [...new Set(r.flat())];
179
+ return [...new Set(e.connectivity.flat(3))];
120
180
  }, this.flattenConnectivity = function(e) {
121
- let t = e.flat(), n = [...new Set(t)], r = [];
122
- return n.forEach((e) => {
123
- Array.isArray(e) ? r.push(e.flat()) : r.push(e);
124
- }), r.flat();
181
+ return e.flat(3);
125
182
  }, this.findComponents = function(e, t, n, r) {
126
- let i = p(e.connectivity.flat()), a = [], o = !1;
127
- return i.forEach((e) => {
128
- o = !1, _(t, e) && (o = !0), r && _(r, e) && (o = !0), _(n, e) && (o = !0), o || a.push(e);
129
- }), a;
183
+ let i = g(e.connectivity.flat()), a = [
184
+ t,
185
+ r,
186
+ n
187
+ ].filter((e) => e).map((e) => JSON.stringify(e));
188
+ return i.filter((e) => {
189
+ let t = JSON.stringify(e);
190
+ return !a.some((e) => e.indexOf(t) !== -1);
191
+ });
130
192
  }, this.retrieveFlatmapKnowledgeForEvent = async function(e, t) {
131
- this.controller && this.controller.abort(), this.controller = new AbortController();
193
+ this.controller && this.controller.abort(), this.controller = new AbortController(), this._requestId++;
132
194
  let n = t.resource;
133
- if (this.destinations = [], this.origins = [], this.components = [], this.destinationsWithDatasets = [], this.originsWithDatasets = [], this.componentsWithDatasets = [], this.destinationsCombinations = [], this.originsCombinations = [], this.componentsCombinations = [], this.singleConnectivityList = [], this.rawURLs = [], this.expertConsultants = [], !n || n.length === 0 || !n[0]) return;
134
- let r = await this.queryForConnectivityNew(e, n[0]);
135
- return await Promise.all([r]);
136
- }, this.queryForConnectivityNew = async function(e, n, r = "map", i = !0) {
137
- let a = /^sckan-(\d{4})/.exec(e.knowledgeSource || ""), o = (a ? Number(a[1]) : 0) >= 2026, s = e.mapMetadata.uuid, c = this.flatmapAPI;
138
- return this.connectivitySource = o ? "sckan" : r, o && (this.singleConnectivityList = await t(c, s, n)), new Promise((t) => {
139
- (this.connectivitySource === "map" ? this.queryMapConnectivity(e.mapMetadata.uuid, n) : e.queryKnowledge(n)).then((r) => {
140
- if (this.checkConnectivityExists(r)) {
141
- this.connectivitySource === "map" && (this.noMapConnectivity = !1);
142
- let n = r;
143
- i ? this.processConnectivity(e, n).then((e) => {
144
- r.references && (this.rawURLs = [...r.references]), r["expert-consultants"] && (this.expertConsultants = [...r["expert-consultants"]]), t(e);
145
- }) : t(n);
146
- } else this.connectivitySource === "map" ? (this.connectivitySource = "sckan", this.noMapConnectivity = !0, e.queryKnowledge(n).then((n) => {
147
- if (this.checkConnectivityExists(n)) {
148
- let r = n;
149
- i ? this.processConnectivity(e, r).then((e) => {
150
- n.references && (this.rawURLs = [...n.references]), n["expert-consultants"] && (this.expertConsultants = [...n["expert-consultants"]]), t(e);
151
- }) : t(r);
152
- } else t(!1);
153
- }).catch(() => t(!1))) : t(!1);
154
- }).catch((e) => {
155
- e.name === "AbortError" || console.warn(`Unable to get the knowledge for the entity ${n}.`), t(!1);
156
- });
157
- });
195
+ if (Object.assign(this, E()), !(!n || n.length === 0 || !n[0])) return [await this.queryForConnectivityNew(e, n[0])];
196
+ }, this.queryForConnectivityNew = async function(e, t, n = "map", r = !0) {
197
+ let i = ++this._requestId, { state: a, value: o } = await this._fetchConnectivity(e, t, n, r);
198
+ return i === this._requestId && Object.assign(this, a), o;
199
+ }, this._fetchConnectivity = async function(t, n, r, i) {
200
+ let a = /^sckan-(\d{4})/.exec(t.knowledgeSource || ""), o = (a ? Number(a[1]) : 0) >= 2026, s = t.mapMetadata.uuid, c = this.flatmapAPI, l = E();
201
+ l.connectivitySource = o ? "sckan" : r;
202
+ let u = o ? C(`cq27|${c}|${s}|${n}`, () => e(c, s, n)).catch(() => []) : Promise.resolve([]), d = () => C(`sckan|${c}|${s}|${n}`, () => t.queryKnowledge(n)), f = l.connectivitySource === "map" ? C(`map|${c}|${s}|${n}`, () => this.queryMapConnectivity(s, n)) : d(), p = !1;
203
+ try {
204
+ let e = await f;
205
+ if (l.singleConnectivityList = await u, this.checkConnectivityExists(e) ? l.connectivitySource === "map" && (l.noMapConnectivity = !1) : l.connectivitySource === "map" ? (l.connectivitySource = "sckan", l.noMapConnectivity = !0, e = await d().catch(() => void 0)) : e = void 0, this.checkConnectivityExists(e) && (p = e, i)) {
206
+ let n = await this._processConnectivity(t, e, l.singleConnectivityList);
207
+ Object.assign(l, n.state), p = n.value, e.references && (l.rawURLs = [...e.references]), e["expert-consultants"] && (l.expertConsultants = [...e["expert-consultants"]]);
208
+ }
209
+ } catch (e) {
210
+ l.singleConnectivityList = await u, e.name === "AbortError" || console.warn(`Unable to get the knowledge for the entity ${n}.`), p = !1;
211
+ }
212
+ return {
213
+ state: l,
214
+ value: p
215
+ };
158
216
  }, this.queryMapConnectivity = async function(e, t) {
159
217
  let n = this.flatmapAPI + `flatmap/${e}/connectivity/${t}`;
160
218
  try {
@@ -177,7 +235,7 @@ var p = function(e) {
177
235
  let i = JSON.parse(n.values[0][0]);
178
236
  r ? this.processConnectivity(e, i).then((e) => {
179
237
  t(e);
180
- }) : t(i);
238
+ }).catch(() => t(!1)) : t(i);
181
239
  } else t(!1);
182
240
  }).catch((e) => {
183
241
  e.name === "AbortError" || console.error("Error:", e), t(!1);
@@ -186,7 +244,11 @@ var p = function(e) {
186
244
  }, this.checkConnectivityExists = function(e) {
187
245
  return e && e.connectivity?.length;
188
246
  }, this.connectivityExists = function(e) {
189
- return !!(e.values && e.values.length > 0 && JSON.parse(e.values[0][0]).connectivity && JSON.parse(e.values[0][0]).connectivity.length > 0);
247
+ if (e.values && e.values.length > 0) {
248
+ let t = JSON.parse(e.values[0][0]).connectivity;
249
+ return !!(t && t.length > 0);
250
+ }
251
+ return !1;
190
252
  }, this.findIfNodeIsSingle = function(e) {
191
253
  return e.length === 1 ? (console.error("Server returns a single node", e), e[0]) : e.length === 2 && e[1].length === 0 && e[0];
192
254
  }, this.createLabelFromNeuralNode = function(e, t) {
@@ -196,69 +258,57 @@ var p = function(e) {
196
258
  return e.length === 2 && e[1].length > 0 && e[1].forEach((e) => {
197
259
  t[e] == null ? r += `, ${e}` : r += `, ${t[e]}`;
198
260
  }), r;
199
- }, this.flattenAndFindDatasets = function(e, t, n) {
200
- let r = this.flattenConnectivity(e), i = this.flattenConnectivity(t), a = this.flattenConnectivity(n);
201
- this.originsWithDatasets = this.uberons.filter((e) => r.indexOf(e.id) !== -1).sort(v), this.componentsWithDatasets = this.uberons.filter((e) => i.indexOf(e.id) !== -1).sort(v), this.destinationsWithDatasets = this.uberons.filter((e) => a.indexOf(e.id) !== -1).sort(v), this.singleConnectivityList.length > 0 && this.singleConnectivityList.forEach((r) => {
202
- let { sckanNodeId: i, sckanNodeLabel: a, mapNodeId: o, mapNodeLabel: s } = r;
203
- n.find((e) => JSON.stringify(e) === JSON.stringify(i)) && (this.destinationsCombinations.push({
204
- sckanId: i,
205
- sckanLabel: a,
206
- mapId: o,
207
- mapLabel: s
208
- }), o.forEach((e, t) => {
209
- let n = typeof e == "string" ? e : e[0];
210
- n && this.destinationsWithDatasets.push({
211
- id: n,
212
- name: s.split(",")[t]
213
- });
214
- })), e.find((e) => JSON.stringify(e) === JSON.stringify(i)) && (this.originsCombinations.push({
215
- sckanId: i,
216
- sckanLabel: a,
217
- mapId: o,
218
- mapLabel: s
219
- }), o.forEach((e, t) => {
220
- let n = typeof e == "string" ? e : e[0];
221
- n && this.originsWithDatasets.push({
222
- id: n,
223
- name: s.split(",")[t]
224
- });
225
- })), t.find((e) => JSON.stringify(e) === JSON.stringify(i)) && (this.componentsCombinations.push({
226
- sckanId: i,
227
- sckanLabel: a,
228
- mapId: o,
229
- mapLabel: s
230
- }), o.forEach((e, t) => {
231
- let n = typeof e == "string" ? e : e[0];
232
- n && this.componentsWithDatasets.push({
233
- id: n,
234
- name: s.split(",")[t]
235
- });
236
- }));
237
- });
238
- }, this.processConnectivity = function(e, t) {
239
- return new Promise((n) => {
240
- let r = [], i = [], a;
241
- t && t["node-phenotypes"] ? (["ilxtr:hasSomaLocatedIn"].forEach((e) => {
242
- e in t["node-phenotypes"] && r.push(...t["node-phenotypes"][e]);
243
- }), r = p(r), ["ilxtr:hasAxonPresynapticElementIn", "ilxtr:hasAxonSensorySubcellularElementIn"].forEach((e) => {
244
- e in t["node-phenotypes"] && i.push(...t["node-phenotypes"][e]);
245
- }), i = p(i)) : (i = p(t.axons), t.somas && t.somas.length > 0 && r.push(...t.somas), t.dendrites && t.dendrites.length > 0 && r.push(...t.dendrites), r = p(r), a = t.somas);
246
- let o = this.findComponents(t, i, r, a), s = this.findAllIdsFromConnectivity(t);
247
- this.createLabelLookup(e, s).then((e) => {
248
- this.origins = r.map((t) => this.createLabelFromNeuralNode(t, e)).sort(v), this.components = o.map((t) => this.createLabelFromNeuralNode(t, e)).sort(v), this.destinations = i.map((t) => this.createLabelFromNeuralNode(t, e)).sort(v), this.flattenAndFindDatasets(r, o, i), n({
249
- ids: {
250
- dendrites: r,
251
- components: o,
252
- axons: i
253
- },
254
- labels: {
255
- origins: this.origins,
256
- components: this.components,
257
- destinations: this.destinations
258
- }
259
- });
261
+ }, this._findDatasets = function(e, t, n, r, i) {
262
+ let a = new Set(this.flattenConnectivity(e)), o = new Set(this.flattenConnectivity(t)), s = new Set(this.flattenConnectivity(n)), c = {
263
+ originsWithDatasets: r.filter((e) => a.has(e.id)).sort(T),
264
+ componentsWithDatasets: r.filter((e) => o.has(e.id)).sort(T),
265
+ destinationsWithDatasets: r.filter((e) => s.has(e.id)).sort(T),
266
+ destinationsCombinations: [],
267
+ originsCombinations: [],
268
+ componentsCombinations: []
269
+ };
270
+ if (i.length > 0) {
271
+ let r = _(n), a = _(e), o = _(t);
272
+ i.forEach((e) => {
273
+ let t = JSON.stringify(e.sckanNodeId), n = e.mapNodeLabel.split(",");
274
+ r.has(t) && D(c.destinationsCombinations, c.destinationsWithDatasets, e, n), a.has(t) && D(c.originsCombinations, c.originsWithDatasets, e, n), o.has(t) && D(c.componentsCombinations, c.componentsWithDatasets, e, n);
260
275
  });
261
- });
276
+ }
277
+ return c;
278
+ }, this.flattenAndFindDatasets = function(e, t, n) {
279
+ Object.assign(this, this._findDatasets(e, t, n, this.uberons, this.singleConnectivityList));
280
+ }, this._processConnectivity = async function(e, t, n) {
281
+ let r = [], i = [], a;
282
+ t && t["node-phenotypes"] ? (["ilxtr:hasSomaLocatedIn"].forEach((e) => {
283
+ e in t["node-phenotypes"] && r.push(...t["node-phenotypes"][e]);
284
+ }), r = g(r), ["ilxtr:hasAxonPresynapticElementIn", "ilxtr:hasAxonSensorySubcellularElementIn"].forEach((e) => {
285
+ e in t["node-phenotypes"] && i.push(...t["node-phenotypes"][e]);
286
+ }), i = g(i)) : (i = g(t.axons), t.somas && t.somas.length > 0 && r.push(...t.somas), t.dendrites && t.dendrites.length > 0 && r.push(...t.dendrites), r = g(r), a = t.somas);
287
+ let o = this.findComponents(t, i, r, a), s = this.findAllIdsFromConnectivity(t), { lookUp: c, uberons: l } = await this._buildLabelLookup(e, s), u = r.map((e) => this.createLabelFromNeuralNode(e, c)).sort(T), d = o.map((e) => this.createLabelFromNeuralNode(e, c)).sort(T), f = i.map((e) => this.createLabelFromNeuralNode(e, c)).sort(T);
288
+ return {
289
+ state: {
290
+ uberons: l,
291
+ origins: u,
292
+ components: d,
293
+ destinations: f,
294
+ ...this._findDatasets(r, o, i, l, n)
295
+ },
296
+ value: {
297
+ ids: {
298
+ dendrites: r,
299
+ components: o,
300
+ axons: i
301
+ },
302
+ labels: {
303
+ origins: u,
304
+ components: d,
305
+ destinations: f
306
+ }
307
+ }
308
+ };
309
+ }, this.processConnectivity = async function(e, t) {
310
+ let { state: n, value: r } = await this._processConnectivity(e, t, this.singleConnectivityList);
311
+ return Object.assign(this, n), r;
262
312
  }, this.buildPubmedSqlStatement = function(e) {
263
313
  let t = "select distinct publication from publications where entity in (";
264
314
  if (e.length === 1) t += `'${e[0]}')`;
@@ -280,7 +330,7 @@ var p = function(e) {
280
330
  if ("error" in i) throw TypeError(i.error);
281
331
  return i.values;
282
332
  };
283
- }, b = [
333
+ }, k = [
284
334
  {
285
335
  id: 0,
286
336
  nerve_id: "ILX:0793723",
@@ -1165,9 +1215,9 @@ var p = function(e) {
1165
1215
  "FMA subclasses (in human nerves)": ["FMA:6892", "FMA:6893"],
1166
1216
  "subclass labels": ["Right T9 grey ramus communicans", "Left T9 grey ramus communicans"]
1167
1217
  }
1168
- ], x = () => {
1218
+ ], A = () => {
1169
1219
  let e = {};
1170
- return b.forEach((t) => {
1220
+ return k.forEach((t) => {
1171
1221
  let n = t.nerve_id, r = t.label.toLowerCase(), i = t["subclass labels"];
1172
1222
  if (n && r !== "nerve") {
1173
1223
  if (!i.length) return;
@@ -1179,13 +1229,13 @@ var p = function(e) {
1179
1229
  };
1180
1230
  }
1181
1231
  }), e;
1182
- }, S = () => {
1232
+ }, j = () => {
1183
1233
  let e = [], t = {
1184
1234
  key: "scaffold.connectivity.nerve",
1185
1235
  label: "Nerves",
1186
1236
  children: []
1187
1237
  }, n = [];
1188
- for (let e of b) {
1238
+ for (let e of k) {
1189
1239
  if (e.label === "nerve") continue;
1190
1240
  let t = {
1191
1241
  facetPropPath: "scaffold.connectivity.nerve",
@@ -1202,14 +1252,15 @@ var p = function(e) {
1202
1252
  };
1203
1253
  //#endregion
1204
1254
  //#region src/mixins/ContentMixin.js
1205
- function C(e) {
1255
+ function M(e) {
1206
1256
  return e[0].toUpperCase() + e.substring(1);
1207
1257
  }
1208
- var w = {
1258
+ var N = {
1209
1259
  emits: [
1210
1260
  "flatmap-provenance-ready",
1211
1261
  "resource-selected",
1212
- "species-changed"
1262
+ "species-changed",
1263
+ "viewer-ready"
1213
1264
  ],
1214
1265
  props: {
1215
1266
  entry: Object,
@@ -1230,7 +1281,7 @@ var w = {
1230
1281
  showIdInTooltip: { default: !0 }
1231
1282
  },
1232
1283
  computed: {
1233
- ...f(a, l, i, s),
1284
+ ...h(l, n, s, d),
1234
1285
  idNamePair() {
1235
1286
  return this.splitFlowStore.idNamePair;
1236
1287
  },
@@ -1248,10 +1299,10 @@ var w = {
1248
1299
  }
1249
1300
  },
1250
1301
  beforeUnmount: function() {
1251
- this.alive = !1;
1302
+ this.alive = !1, window.removeEventListener("mousedown", this.checkEndHelpMouseDown), clearTimeout(this.highlightDelay);
1252
1303
  },
1253
1304
  mounted: function() {
1254
- this.$refs.multiflatmap && (this.multiflatmapRef = d(this.$refs.multiflatmap)), this.$refs.flatmap && (this.flatmapRef = d(this.$refs.flatmap)), this.$refs.iframe && (this.iframeRef = d(this.$refs.iframe)), this.$refs.plot && (this.plotRef = d(this.$refs.plot)), this.$refs.simulation && (this.simulationRef = d(this.$refs.simulation)), (this.iframeRef || this.plotRef || this.simulationRef) && this.loadExplorerConfig(), this.connectivityKnowledge = this.connectivitiesStore.globalConnectivities, this.connectivityFilterOptions = this.connectivitiesStore.filterOptions, this.connectivityFilterSources = this.connectivitiesStore.filterSources;
1305
+ this.$refs.multiflatmap && (this.multiflatmapRef = m(this.$refs.multiflatmap)), this.$refs.flatmap && (this.flatmapRef = m(this.$refs.flatmap)), this.$refs.iframe && (this.iframeRef = m(this.$refs.iframe)), this.$refs.plot && (this.plotRef = m(this.$refs.plot)), this.$refs.simulation && (this.simulationRef = m(this.$refs.simulation)), (this.iframeRef || this.plotRef || this.simulationRef) && this.loadExplorerConfig(), this.connectivityKnowledge = this.connectivitiesStore.globalConnectivities, this.connectivityFilterOptions = this.connectivitiesStore.filterOptions, this.connectivityFilterSources = this.connectivitiesStore.filterSources;
1255
1306
  },
1256
1307
  methods: {
1257
1308
  toggleMinimap: function(e, t) {
@@ -1277,14 +1328,18 @@ var w = {
1277
1328
  }
1278
1329
  },
1279
1330
  getState: function() {},
1331
+ getScreenshotSources: async function(e) {
1332
+ let t = this.getFlatmapImp?.()?.map;
1333
+ return t ? [await r(t, e)] : [];
1334
+ },
1280
1335
  openMap: function(e) {
1281
- n.emit("OpenNewMap", e), this.trackOpenMap(`open_new_${e}_map`);
1336
+ i.emit("OpenNewMap", e), this.trackOpenMap(`open_new_${e}_map`);
1282
1337
  },
1283
1338
  onMapmanagerLoaded: function(e) {
1284
1339
  this.settingsStore.updateMapManager(e);
1285
1340
  },
1286
1341
  trackOpenMap: function(e) {
1287
- u.sendEvent({
1342
+ p.sendEvent({
1288
1343
  event: "interaction_event",
1289
1344
  event_name: "portal_maps_open_map",
1290
1345
  category: e,
@@ -1303,12 +1358,12 @@ var w = {
1303
1358
  },
1304
1359
  searchSuggestions: function() {},
1305
1360
  resourceSelected: function(e, t) {
1306
- let r = t[0];
1307
- if (this.resourceHasAction(r)) {
1308
- n.emit("PopoverActionClick", r);
1361
+ let n = t[0];
1362
+ if (this.resourceHasAction(n)) {
1363
+ i.emit("PopoverActionClick", n);
1309
1364
  return;
1310
1365
  }
1311
- let i, a = !1, o = {
1366
+ let r, a = !1, o = {
1312
1367
  paneIndex: this.entry.id,
1313
1368
  type: e,
1314
1369
  resource: t,
@@ -1316,38 +1371,38 @@ var w = {
1316
1371
  eventType: void 0
1317
1372
  };
1318
1373
  if (e == "MultiFlatmap" || e == "Flatmap") {
1319
- if (o.internalName = r?.feature?.label ? r.feature.label : this.idNamePair[r.feature.models], r.eventType == "click") {
1320
- if (o.eventType = "selected", r.feature.type == "marker") {
1374
+ if (o.internalName = n?.feature?.label ? n.feature.label : this.idNamePair[n.feature.models], n.eventType == "click") {
1375
+ if (o.eventType = "selected", n.feature.type == "marker") {
1321
1376
  let t = o.internalName;
1322
- if (this.settingsStore.isFeaturedMarkerIdentifier(r.feature.id)) i = {
1377
+ if (this.settingsStore.isFeaturedMarkerIdentifier(n.feature.id)) r = {
1323
1378
  type: "Search",
1324
- term: this.settingsStore.featuredMarkerDoi(r.feature.id),
1379
+ term: this.settingsStore.featuredMarkerDoi(n.feature.id),
1325
1380
  featuredDataset: !0
1326
1381
  };
1327
1382
  else {
1328
- i = {
1383
+ r = {
1329
1384
  type: "Facet",
1330
1385
  facets: [t]
1331
1386
  };
1332
1387
  let e = /* @__PURE__ */ new Set();
1333
- if (r.feature["dataset-terms"].forEach((t) => {
1388
+ if (n.feature["dataset-terms"].forEach((t) => {
1334
1389
  e.add(t.label ? t.label : t.term);
1335
- }), e.size === 0 && e.add(t), i.facets = [...e], this.settingsStore.hasAppliedFacets(e) && this.settingsStore.appliedFacets.length <= e.size) return;
1390
+ }), e.size === 0 && e.add(t), r.facets = [...e], this.settingsStore.hasAppliedFacets(e) && this.settingsStore.appliedFacets.length <= e.size) return;
1336
1391
  if (this.settingsStore.appliedFacets.length) {
1337
1392
  if (!this.settingsStore.hasAppliedFacets(e)) {
1338
1393
  let t = [.../* @__PURE__ */ new Set([...this.settingsStore.appliedFacets, ...e])];
1339
1394
  this.settingsStore.updateAppliedFacets(t);
1340
1395
  }
1341
- } else e.size > 1 && (i.type = "Facets"), this.settingsStore.updateAppliedFacets(i.facets);
1396
+ } else e.size > 1 && (r.type = "Facets"), this.settingsStore.updateAppliedFacets(r.facets);
1342
1397
  }
1343
1398
  a = !0, e == "MultiFlatmap" && this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults();
1344
1399
  }
1345
- } else r.eventType == "mouseenter" && (o.eventType = "highlighted", a = !0);
1346
- } else e == "Scaffold" && (r && ((r.data?.id === void 0 || r.data?.id === "") && (r.data.id = r.data?.group), o.internalName = r.data.id, r.data.lastActionOnMarker === !0 && (i = {
1400
+ } else n.eventType == "mouseenter" && (o.eventType = "highlighted", a = !0);
1401
+ } else e == "Scaffold" && (n && ((n.data?.id === void 0 || n.data?.id === "") && (n.data.id = n.data?.group), o.internalName = n.data.id, n.data.lastActionOnMarker === !0 && (r = {
1347
1402
  type: "Facet",
1348
- facets: [C(r.data.id)]
1403
+ facets: [M(n.data.id)]
1349
1404
  })), o.eventType = "selected", a = !0);
1350
- i && n.emit("PopoverActionClick", i), a && this.$emit("resource-selected", o);
1405
+ r && i.emit("PopoverActionClick", r), a && this.$emit("resource-selected", o);
1351
1406
  },
1352
1407
  resourceHasAction: function(e) {
1353
1408
  return e && (e.type === "URL" || e.type === "Search" || e.type === "Neuron Search" || e.type == "Facet" || e.type == "Facets");
@@ -1400,7 +1455,7 @@ var w = {
1400
1455
  t.forEach((e) => {
1401
1456
  let { models: t } = e.feature;
1402
1457
  n.push(t);
1403
- }), u.sendEvent({
1458
+ }), p.sendEvent({
1404
1459
  event: "interaction_event",
1405
1460
  event_name: "portal_maps_connectivity",
1406
1461
  category: n.join(", "),
@@ -1481,40 +1536,40 @@ var w = {
1481
1536
  }
1482
1537
  },
1483
1538
  onAnnotationOpen: function(e) {
1484
- n.emit("annotation-open", e);
1539
+ i.emit("annotation-open", e);
1485
1540
  },
1486
1541
  onAnnotationClose: function() {
1487
- n.emit("sidebar-annotation-close");
1542
+ i.emit("sidebar-annotation-close");
1488
1543
  },
1489
1544
  updateOfflineAnnotationEnabled: function(e) {
1490
- n.emit("update-offline-annotation-enabled", e);
1545
+ i.emit("update-offline-annotation-enabled", e);
1491
1546
  },
1492
1547
  onConnectivityInfoOpen: function(e) {
1493
- n.emit("connectivity-info-open", e);
1548
+ i.emit("connectivity-info-open", e);
1494
1549
  },
1495
1550
  onConnectivityError: function(e) {
1496
- n.emit("connectivity-error", e);
1551
+ i.emit("connectivity-error", e);
1497
1552
  },
1498
1553
  onConnectivityInfoClose: function() {
1499
- n.emit("connectivity-info-close");
1554
+ i.emit("connectivity-info-close");
1500
1555
  },
1501
1556
  onSidebarAnnotationClose: function() {},
1502
1557
  onNeuronConnectionFeatureClick: function(e) {
1503
- n.emit("neuron-connection-feature-click", e);
1558
+ i.emit("neuron-connection-feature-click", e);
1504
1559
  },
1505
1560
  showConnectivity: function() {},
1506
1561
  showConnectivityTooltips: function() {},
1507
1562
  setVisibilityFilter: function() {},
1508
1563
  loadExplorerConfig: async function() {
1509
- this.flatmapService = await this.mockUpFlatmapService(), this.loadConnectivityExplorerConfig(this.flatmapService);
1564
+ this.flatmapService = m(await this.mockUpFlatmapService()), this.loadConnectivityExplorerConfig(this.flatmapService);
1510
1565
  },
1511
1566
  mockUpFlatmapService: async function() {
1512
- let t = (await (await fetch(this.flatmapAPI)).json()).filter((e) => e.id === "human-flatmap_male").sort((e, t) => t.created.localeCompare(e.created))[0], n = t.uuid, r = t.sckan["knowledge-source"], i = await (await fetch(`${this.flatmapAPI}/flatmap/${n}/pathways`)).json();
1513
- this.flatmapQueries = d(new y()), this.flatmapQueries.initialise(this.flatmapAPI);
1567
+ let e = await o(this.flatmapAPI, "human-flatmap_male"), n = e.uuid, r = e.sckan["knowledge-source"], i = await c(this.flatmapAPI, n);
1568
+ this.flatmapQueries = m(new O()), this.flatmapQueries.initialise(this.flatmapAPI);
1514
1569
  let a = {
1515
1570
  mapMetadata: {
1516
1571
  uuid: n,
1517
- connectivity: { ...t.sckan }
1572
+ connectivity: { ...e.sckan }
1518
1573
  },
1519
1574
  pathways: i,
1520
1575
  resource: this.entry.resource,
@@ -1534,42 +1589,42 @@ var w = {
1534
1589
  }
1535
1590
  return a;
1536
1591
  }
1537
- }, o = S();
1592
+ }, s = j();
1538
1593
  return {
1539
1594
  mockup: !0,
1540
- getFilterOptions: async (t, n) => {
1541
- let r = await e(this.flatmapAPI, t, n, void 0);
1542
- return [...o, ...r];
1595
+ getFilterOptions: async (e, n) => {
1596
+ let r = await t(this.flatmapAPI, e, n, void 0);
1597
+ return [...s, ...r];
1543
1598
  },
1544
- getTermNerveMaps: x,
1599
+ getTermNerveMaps: A,
1545
1600
  mapImp: a
1546
1601
  };
1547
1602
  },
1548
1603
  loadConnectivityExplorerConfig: async function(e) {
1549
- let t = e.mapImp, i = r(t), a = e.mockup ? t.resource : t.uuid, s = [];
1550
- if (!this.connectivityKnowledge[i]) {
1551
- this.flatmapQueries = d(new y()), this.flatmapQueries.initialise(this.flatmapAPI);
1552
- let e = await o(t, this.flatmapQueries);
1553
- this.connectivityKnowledge[i] = e.filter((e) => e.connectivity?.length).sort((e, t) => e.label.localeCompare(t.label));
1604
+ let t = e.mapImp, n = a(t), r = e.mockup ? t.resource : t.uuid, o = [];
1605
+ if (!this.connectivityKnowledge[n]) {
1606
+ this.flatmapQueries || (this.flatmapQueries = m(new O()), this.flatmapQueries.initialise(this.flatmapAPI));
1607
+ let e = await u(t, this.flatmapQueries);
1608
+ this.connectivityKnowledge[n] = e.filter((e) => e.connectivity?.length).sort((e, t) => e.label.localeCompare(t.label));
1554
1609
  }
1555
- if (!this.connectivityKnowledge[a]) {
1610
+ if (!this.connectivityKnowledge[r]) {
1556
1611
  let e = t.pathways?.paths || {};
1557
- this.connectivityKnowledge[a] = this.connectivityKnowledge[i].filter((t) => t.id in e);
1612
+ this.connectivityKnowledge[r] = this.connectivityKnowledge[n].filter((t) => t.id in e);
1558
1613
  }
1559
- if (!this.connectivityFilterOptions[a] && !e.mockup && (this.connectivityFilterOptions[a] = await e.getFilterOptions(t, this.connectivityKnowledge[a])), e.mockup) {
1560
- let n = e.getTermNerveMaps() || {}, r = JSON.parse(JSON.stringify(this.connectivityKnowledge[a]));
1561
- this.connectivityKnowledge[a] = r.map((e) => {
1614
+ if (!this.connectivityFilterOptions[r] && !e.mockup && (this.connectivityFilterOptions[r] = await e.getFilterOptions(t, this.connectivityKnowledge[r])), e.mockup) {
1615
+ let n = e.getTermNerveMaps() || {}, i = JSON.parse(JSON.stringify(this.connectivityKnowledge[r]));
1616
+ this.connectivityKnowledge[r] = i.map((e) => {
1562
1617
  let t = e;
1563
1618
  if (e.nerves?.length) {
1564
1619
  let r = e.nerves.flat(Infinity).reduce((e, t) => (t in n && e.push(n[t]), e), []);
1565
- r?.length && (s.push(...r), t["nerve-label"] = r.sort((e, t) => e.nerve.localeCompare(t.nerve)));
1620
+ r?.length && (o.push(...r), t["nerve-label"] = r.sort((e, t) => e.nerve.localeCompare(t.nerve)));
1566
1621
  }
1567
1622
  return t;
1568
- }).filter((e) => e["nerve-label"]), this.connectivityFilterOptions[a] || (this.connectivityFilterOptions[a] = await e.getFilterOptions(t, this.connectivityKnowledge[a])), s = s.map((e) => e.nerve.toLowerCase());
1569
- let i = JSON.parse(JSON.stringify(this.connectivityFilterOptions[a]));
1570
- this.connectivityFilterOptions[a] = i.map((e) => {
1623
+ }).filter((e) => e["nerve-label"]), this.connectivityFilterOptions[r] || (this.connectivityFilterOptions[r] = await e.getFilterOptions(t, this.connectivityKnowledge[r])), o = o.map((e) => e.nerve.toLowerCase());
1624
+ let a = JSON.parse(JSON.stringify(this.connectivityFilterOptions[r]));
1625
+ this.connectivityFilterOptions[r] = a.map((e) => {
1571
1626
  if (e.key === "scaffold.connectivity.nerve") {
1572
- let t = e.children.filter((e) => s.includes(e.label.toLowerCase()));
1627
+ let t = e.children.filter((e) => o.includes(e.label.toLowerCase()));
1573
1628
  return {
1574
1629
  ...e,
1575
1630
  children: t
@@ -1577,35 +1632,31 @@ var w = {
1577
1632
  }
1578
1633
  return e;
1579
1634
  });
1580
- } else this.connectivityFilterSources[a] || (this.connectivityFilterSources[a] = e.getFilterSources()), this.connectivitiesStore.updateFilterSources(this.connectivityFilterSources);
1581
- this.connectivitiesStore.updateFilterOptions(this.connectivityFilterOptions), this.connectivitiesStore.updateGlobalConnectivities(this.connectivityKnowledge), n.emit("species-layout-connectivity-update");
1635
+ } else this.connectivityFilterSources[r] || (this.connectivityFilterSources[r] = e.getFilterSources()), this.connectivitiesStore.updateFilterSources(this.connectivityFilterSources);
1636
+ this.connectivitiesStore.updateFilterOptions(this.connectivityFilterOptions), this.connectivitiesStore.updateGlobalConnectivities(this.connectivityKnowledge), i.emit("species-layout-connectivity-update");
1582
1637
  },
1583
1638
  knowledgeTooltipQuery: async function(e) {
1584
- await this.flatmapQueries.retrieveFlatmapKnowledgeForEvent(this.flatmapService.mapImp, { resource: [e.id] });
1585
- let t = await this.flatmapQueries.createTooltipData(this.flatmapService.mapImp, {
1639
+ let t = await this.flatmapQueries.queryTooltipData(this.flatmapService.mapImp, {
1586
1640
  resource: [e.id],
1587
1641
  label: e.label,
1588
1642
  provenanceTaxonomy: e.taxons,
1589
1643
  feature: []
1590
1644
  });
1591
- return t.knowledgeSource = r(this.flatmapService.mapImp), t.mapId = this.flatmapService.mapImp.mapMetadata.id, t.mapuuid = this.flatmapService.mapImp.mapMetadata.uuid, t["nerve-label"] = e["nerve-label"], t.ready = !0, t;
1645
+ return t.knowledgeSource = a(this.flatmapService.mapImp), t.mapId = this.flatmapService.mapImp.mapMetadata.id, t.mapuuid = this.flatmapService.mapImp.mapMetadata.uuid, t["nerve-label"] = e["nerve-label"], t.ready = !0, t;
1592
1646
  },
1593
1647
  getKnowledgeTooltip: async function(e) {
1594
1648
  this.tooltipEntry = [], e.data.forEach((e) => this.tooltipEntry.push({
1595
1649
  title: e.label,
1596
1650
  featureId: [e.id],
1597
1651
  ready: !1
1598
- })), n.emit("connectivity-info-open", this.tooltipEntry);
1599
- let t = [];
1600
- for (let n = 0; n < e.data.length; n++) t.push(await this.knowledgeTooltipQuery(e.data[n]));
1601
- this.tooltipEntry = await Promise.all(t), this.tooltipEntry.map((e) => e.featureId[0]).length > 0 && n.emit("connectivity-info-open", this.tooltipEntry);
1652
+ })), i.emit("connectivity-info-open", this.tooltipEntry), this.tooltipEntry = await Promise.all(e.data.map((e) => this.knowledgeTooltipQuery(e))), this.tooltipEntry.map((e) => e.featureId[0]).length > 0 && i.emit("connectivity-info-open", this.tooltipEntry);
1602
1653
  },
1603
1654
  changeConnectivitySource: async function(e, t) {
1604
- let { entry: r, connectivitySource: i } = e, a = this?.flatmapService?.mapImp?.mapMetadata.uuid;
1605
- t.includes(a) || (t.push(a), await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, r.featureId[0], i), this.tooltipEntry = this.tooltipEntry.map((e) => e.featureId[0] === r.featureId[0] ? this.flatmapQueries.updateTooltipData(e) : e), n.emit("connectivity-info-open", this.tooltipEntry));
1655
+ let { entry: n, connectivitySource: r } = e, a = this?.flatmapService?.mapImp?.mapMetadata.uuid;
1656
+ t.includes(a) || (t.push(a), await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, n.featureId[0], r), this.tooltipEntry = this.tooltipEntry.map((e) => e.featureId[0] === n.featureId[0] ? this.flatmapQueries.updateTooltipData(e) : e), i.emit("connectivity-info-open", this.tooltipEntry));
1606
1657
  },
1607
1658
  trackEvent: function(e) {
1608
- u.sendEvent(e);
1659
+ p.sendEvent(e);
1609
1660
  },
1610
1661
  tooltipPathLabelProvider: function(e) {
1611
1662
  if (!(this.showLongLabel?.value ?? this.showLongLabel)) return null;
@@ -1621,7 +1672,7 @@ var w = {
1621
1672
  ], s = [...this.showIdInTooltip ? a : [], ...r ? o : []].join(";");
1622
1673
  if (e && e["long-label"]) {
1623
1674
  let r = [];
1624
- r.push(`<div style="${s}">${C(e["long-label"])}</div>`), this.showIdInTooltip && r.push(`<span class="id-tag">${t}</span>`), n.push(r.join(""));
1675
+ r.push(`<div style="${s}">${M(e["long-label"])}</div>`), this.showIdInTooltip && r.push(`<span class="id-tag">${t}</span>`), n.push(r.join(""));
1625
1676
  }
1626
1677
  }
1627
1678
  }
@@ -1631,7 +1682,7 @@ var w = {
1631
1682
  data: function() {
1632
1683
  return {
1633
1684
  apiLocation: void 0,
1634
- activeSpecies: c,
1685
+ activeSpecies: f,
1635
1686
  scaffoldCamera: void 0,
1636
1687
  mainStyle: {
1637
1688
  height: this.entry.datasetTitle ? "calc(100% - 30px)" : "100%",
@@ -1668,4 +1719,4 @@ var w = {
1668
1719
  } }
1669
1720
  };
1670
1721
  //#endregion
1671
- export { w as t };
1722
+ export { N as t };