@abi-software/mapintegratedvuer 1.12.4 → 1.12.6

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,43 +1,43 @@
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-QOPChEwx.js";
3
- import { mapStores as B } from "pinia";
1
+ import { markRaw as y } from "vue";
2
+ import { c as C, u as E, d as O, e as N, E as f, T as b, f as R, h as x, i as w, l as P, J as B } from "./index-BHZwLSRu.js";
3
+ import { mapStores as X } from "pinia";
4
4
  const M = function(e) {
5
5
  return e ? [...new Set(e.map((r) => JSON.stringify(r)))].map(
6
6
  (r) => JSON.parse(r)
7
7
  ) : [];
8
- }, b = [], T = async function(e, r) {
9
- const a = r.filter(
10
- (s) => b.some((i) => i.taxon === s)
11
- ), n = b.filter(
12
- (s) => a.includes(s.taxon)
13
- ), t = r.filter(
14
- (s) => !a.includes(s)
8
+ }, d = [], T = async function(e, r) {
9
+ const t = r.filter(
10
+ (s) => d.some((i) => i.taxon === s)
11
+ ), n = d.filter(
12
+ (s) => t.includes(s.taxon)
13
+ ), a = r.filter(
14
+ (s) => !t.includes(s)
15
15
  );
16
- if (t.length) {
17
- const s = await e.queryLabels(t);
16
+ if (a.length) {
17
+ const s = await e.queryLabels(a);
18
18
  if (s.length)
19
19
  return s.forEach((i) => {
20
20
  let { entity: l, label: o } = i;
21
21
  o === "Mammalia" && (o = "Mammalia not otherwise specified");
22
22
  const c = { taxon: l, label: o };
23
- n.push(c), b.push(c);
23
+ n.push(c), d.push(c);
24
24
  }), n;
25
25
  } else
26
26
  return n;
27
- }, d = function(e, r) {
27
+ }, L = function(e, r) {
28
28
  if (!e || !r) return !1;
29
- let a = JSON.stringify(e), n = JSON.stringify(r);
30
- return a.indexOf(n) !== -1;
29
+ let t = JSON.stringify(e), n = JSON.stringify(r);
30
+ return t.indexOf(n) !== -1;
31
31
  }, A = (e, r) => {
32
- const a = e.name ?? e, n = r.name ?? r, t = a.toUpperCase(), s = n.toUpperCase();
33
- return t < s ? -1 : t > s ? 1 : 0;
32
+ const t = e.name ?? e, n = r.name ?? r, a = t.toUpperCase(), s = n.toUpperCase();
33
+ return a < s ? -1 : a > s ? 1 : 0;
34
34
  };
35
35
  let S = function() {
36
36
  this.initialise = function(e) {
37
37
  this.flatmapAPI = e, this.destinations = [], this.origins = [], this.components = [], this.rawURLs = [], this.controller = void 0, this.uberons = [], this.lookUp = [], this.connectivitySource = "map", this.noMapConnectivity = !1;
38
38
  }, this.createTooltipData = async function(e, r) {
39
- let a = [];
40
- r.feature.hyperlinks && r.feature.hyperlinks.length > 0 ? a = r.feature.hyperlinks : a = this.rawURLs;
39
+ let t = [];
40
+ r.feature.hyperlinks && r.feature.hyperlinks.length > 0 ? t = r.feature.hyperlinks : t = this.rawURLs;
41
41
  let n;
42
42
  if (r.provenanceTaxonomy) {
43
43
  n = [];
@@ -60,7 +60,7 @@ let S = function() {
60
60
  componentsWithDatasets: this.componentsWithDatasets,
61
61
  title: r.label,
62
62
  featureId: r.resource,
63
- hyperlinks: a,
63
+ hyperlinks: t,
64
64
  provenanceTaxonomy: r.provenanceTaxonomy,
65
65
  provenanceTaxonomyLabel: n,
66
66
  connectivitySource: this.connectivitySource,
@@ -79,100 +79,100 @@ let S = function() {
79
79
  noMapConnectivity: this.noMapConnectivity
80
80
  };
81
81
  }, this.createComponentsLabelList = function(e, r) {
82
- let a = [];
82
+ let t = [];
83
83
  return e.forEach((n) => {
84
- a.push(this.createLabelFromNeuralNode(n[0]), r), n.length === 2 && a.push(this.createLabelFromNeuralNode(n[1]), r);
85
- }), a;
84
+ t.push(this.createLabelFromNeuralNode(n[0]), r), n.length === 2 && t.push(this.createLabelFromNeuralNode(n[1]), r);
85
+ }), t;
86
86
  }, this.createLabelLookup = function(e, r) {
87
- return new Promise(async (a) => {
87
+ return new Promise(async (t) => {
88
88
  let n = {};
89
89
  this.uberons = [];
90
- const t = await T(e, r);
91
- t.length && (t.forEach((s) => {
90
+ const a = await T(e, r);
91
+ a.length && (a.forEach((s) => {
92
92
  const { taxon: i, label: l } = s;
93
93
  n[i] = l, this.uberons.push({
94
94
  id: i,
95
95
  name: l
96
96
  });
97
- }), a(n));
97
+ }), t(n));
98
98
  });
99
99
  }, this.buildConnectivitySqlStatement = function(e) {
100
100
  let r = "select knowledge from knowledge where entity in (";
101
101
  if (e.length === 1)
102
102
  r += `'${e[0]}')`;
103
103
  else if (e.length > 1)
104
- for (let a in e)
105
- r += `'${e[a]}'${a >= e.length - 1 ? ")" : ","} `;
104
+ for (let t in e)
105
+ r += `'${e[t]}'${t >= e.length - 1 ? ")" : ","} `;
106
106
  return r;
107
107
  }, this.buildLabelSqlStatement = function(e) {
108
108
  let r = "select entity, label from labels where entity in (";
109
109
  if (e.length === 1)
110
110
  r += `'${e[0]}')`;
111
111
  else if (e.length > 1)
112
- for (let a in e)
113
- r += `'${e[a]}'${a >= e.length - 1 ? ")" : ","} `;
112
+ for (let t in e)
113
+ r += `'${e[t]}'${t >= e.length - 1 ? ")" : ","} `;
114
114
  return r;
115
115
  }, this.findAllIdsFromConnectivity = function(e) {
116
- let r = e.connectivity.flat(), a = [...new Set(r)], n = [];
117
- return a.forEach((t) => {
118
- Array.isArray(t) ? n.push(t.flat()) : n.push(t);
116
+ let r = e.connectivity.flat(), t = [...new Set(r)], n = [];
117
+ return t.forEach((a) => {
118
+ Array.isArray(a) ? n.push(a.flat()) : n.push(a);
119
119
  }), [...new Set(n.flat())];
120
120
  }, this.flattenConnectivity = function(e) {
121
- let r = e.flat(), a = [...new Set(r)], n = [];
122
- return a.forEach((t) => {
123
- Array.isArray(t) ? n.push(t.flat()) : n.push(t);
121
+ let r = e.flat(), t = [...new Set(r)], n = [];
122
+ return t.forEach((a) => {
123
+ Array.isArray(a) ? n.push(a.flat()) : n.push(a);
124
124
  }), n.flat();
125
- }, this.findComponents = function(e, r, a, n) {
126
- let t = e.connectivity.flat(), s = M(t), i = [], l = !1;
125
+ }, this.findComponents = function(e, r, t, n) {
126
+ let a = e.connectivity.flat(), s = M(a), i = [], l = !1;
127
127
  return s.forEach((o) => {
128
- l = !1, d(r, o) && (l = !0), n && d(n, o) && (l = !0), d(a, o) && (l = !0), l || i.push(o);
128
+ l = !1, L(r, o) && (l = !0), n && L(n, o) && (l = !0), L(t, o) && (l = !0), l || i.push(o);
129
129
  }), i;
130
130
  }, this.retrieveFlatmapKnowledgeForEvent = async function(e, r) {
131
131
  this.controller && this.controller.abort(), this.controller = new AbortController(), this.controller.signal;
132
- const a = r.resource;
133
- if (this.destinations = [], this.origins = [], this.components = [], this.rawURLs = [], !a || a.length === 0 || !a[0]) return;
134
- let n = this.queryForConnectivityNew(e, a[0]);
132
+ const t = r.resource;
133
+ if (this.destinations = [], this.origins = [], this.components = [], this.rawURLs = [], !t || t.length === 0 || !t[0]) return;
134
+ let n = this.queryForConnectivityNew(e, t[0]);
135
135
  return await Promise.all([n]);
136
- }, this.queryForConnectivityNew = function(e, r, a = "map", n = !0) {
137
- return this.connectivitySource = a, new Promise((t) => {
138
- (a === "map" ? this.queryMapConnectivity(e.provenance.uuid, r) : e.queryKnowledge(r)).then((i) => {
136
+ }, this.queryForConnectivityNew = function(e, r, t = "map", n = !0) {
137
+ return this.connectivitySource = t, new Promise((a) => {
138
+ (t === "map" ? this.queryMapConnectivity(e.mapMetadata.uuid, r) : e.queryKnowledge(r)).then((i) => {
139
139
  if (this.checkConnectivityExists(i)) {
140
- a === "map" && (this.noMapConnectivity = !1);
140
+ t === "map" && (this.noMapConnectivity = !1);
141
141
  let l = i;
142
142
  n ? this.processConnectivity(e, l).then((o) => {
143
- i.references && (this.rawURLs = [...i.references]), t(o);
144
- }) : t(l);
145
- } else a === "map" ? (this.connectivitySource = "sckan", this.noMapConnectivity = !0, e.queryKnowledge(r).then((l) => {
143
+ i.references && (this.rawURLs = [...i.references]), a(o);
144
+ }) : a(l);
145
+ } else t === "map" ? (this.connectivitySource = "sckan", this.noMapConnectivity = !0, e.queryKnowledge(r).then((l) => {
146
146
  if (this.checkConnectivityExists(l)) {
147
147
  let o = l;
148
148
  n ? this.processConnectivity(e, o).then((c) => {
149
- l.references && (this.rawURLs = [...l.references]), t(c);
150
- }) : t(o);
149
+ l.references && (this.rawURLs = [...l.references]), a(c);
150
+ }) : a(o);
151
151
  } else
152
- t(!1);
153
- }).catch(() => t(!1))) : t(!1);
152
+ a(!1);
153
+ }).catch(() => a(!1))) : a(!1);
154
154
  }).catch((i) => {
155
- i.name === "AbortError" || console.warn(`Unable to get the knowledge for the entity ${r}.`), t(!1);
155
+ i.name === "AbortError" || console.warn(`Unable to get the knowledge for the entity ${r}.`), a(!1);
156
156
  });
157
157
  });
158
158
  }, this.queryMapConnectivity = async function(e, r) {
159
- const a = this.flatmapAPI + `flatmap/${e}/connectivity/${r}`;
159
+ const t = this.flatmapAPI + `flatmap/${e}/connectivity/${r}`;
160
160
  try {
161
- const n = await fetch(a);
161
+ const n = await fetch(t);
162
162
  if (!n.ok)
163
163
  throw new Error(`Response status: ${n.status}`);
164
164
  return await n.json();
165
165
  } catch (n) {
166
166
  throw new Error(n);
167
167
  }
168
- }, this.queryForConnectivity = function(e, r, a, n = !0) {
169
- const t = { sql: this.buildConnectivitySqlStatement(r) }, s = {
168
+ }, this.queryForConnectivity = function(e, r, t, n = !0) {
169
+ const a = { sql: this.buildConnectivitySqlStatement(r) }, s = {
170
170
  method: "POST",
171
171
  headers: {
172
172
  "Content-Type": "application/json"
173
173
  },
174
- body: JSON.stringify(t),
175
- ...a ? { signal: a } : {}
174
+ body: JSON.stringify(a),
175
+ ...t ? { signal: t } : {}
176
176
  // add signal to header if it exists
177
177
  };
178
178
  return new Promise((i) => {
@@ -196,47 +196,47 @@ let S = function() {
196
196
  }, this.findIfNodeIsSingle = function(e) {
197
197
  return e.length === 1 ? (console.error("Server returns a single node", e), e[0]) : e.length === 2 && e[1].length === 0 ? e[0] : !1;
198
198
  }, this.createLabelFromNeuralNode = function(e, r) {
199
- let a = this.findIfNodeIsSingle(e);
200
- if (a)
201
- return r[a];
199
+ let t = this.findIfNodeIsSingle(e);
200
+ if (t)
201
+ return r[t];
202
202
  let n = r[e[0]];
203
- return e.length === 2 && e[1].length > 0 && e[1].forEach((t) => {
204
- r[t] == null ? n += `, ${t}` : n += `, ${r[t]}`;
203
+ return e.length === 2 && e[1].length > 0 && e[1].forEach((a) => {
204
+ r[a] == null ? n += `, ${a}` : n += `, ${r[a]}`;
205
205
  }), n;
206
- }, this.flattenAndFindDatasets = function(e, r, a) {
207
- let n = this.flattenConnectivity(e), t = this.flattenConnectivity(r), s = this.flattenConnectivity(a);
206
+ }, this.flattenAndFindDatasets = function(e, r, t) {
207
+ let n = this.flattenConnectivity(e), a = this.flattenConnectivity(r), s = this.flattenConnectivity(t);
208
208
  this.originsWithDatasets = this.uberons.filter(
209
209
  (i) => n.indexOf(i.id) !== -1
210
210
  ).sort(A), this.componentsWithDatasets = this.uberons.filter(
211
- (i) => t.indexOf(i.id) !== -1
211
+ (i) => a.indexOf(i.id) !== -1
212
212
  ).sort(A), this.destinationsWithDatasets = this.uberons.filter(
213
213
  (i) => s.indexOf(i.id) !== -1
214
214
  ).sort(A);
215
215
  }, this.processConnectivity = function(e, r) {
216
- return new Promise((a) => {
217
- let n = [], t = [], s;
216
+ return new Promise((t) => {
217
+ let n = [], a = [], s;
218
218
  if (r && r["node-phenotypes"]) {
219
219
  const o = ["ilxtr:hasSomaLocatedIn"], c = ["ilxtr:hasAxonPresynapticElementIn", "ilxtr:hasAxonSensorySubcellularElementIn"];
220
220
  o.forEach((u) => {
221
221
  u in r["node-phenotypes"] && n.push(...r["node-phenotypes"][u]);
222
222
  }), n = M(n), c.forEach((u) => {
223
- u in r["node-phenotypes"] && t.push(...r["node-phenotypes"][u]);
224
- }), t = M(t);
223
+ u in r["node-phenotypes"] && a.push(...r["node-phenotypes"][u]);
224
+ }), a = M(a);
225
225
  } else
226
- t = M(r.axons), r.somas && r.somas.length > 0 && n.push(...r.somas), r.dendrites && r.dendrites.length > 0 && n.push(...r.dendrites), n = M(n), s = r.somas;
227
- const i = this.findComponents(r, t, n, s), l = this.findAllIdsFromConnectivity(r);
226
+ a = M(r.axons), r.somas && r.somas.length > 0 && n.push(...r.somas), r.dendrites && r.dendrites.length > 0 && n.push(...r.dendrites), n = M(n), s = r.somas;
227
+ const i = this.findComponents(r, a, n, s), l = this.findAllIdsFromConnectivity(r);
228
228
  this.createLabelLookup(e, l).then((o) => {
229
229
  this.origins = n.map(
230
230
  (c) => this.createLabelFromNeuralNode(c, o)
231
231
  ).sort(A), this.components = i.map(
232
232
  (c) => this.createLabelFromNeuralNode(c, o)
233
- ).sort(A), this.destinations = t.map(
233
+ ).sort(A), this.destinations = a.map(
234
234
  (c) => this.createLabelFromNeuralNode(c, o)
235
- ).sort(A), this.flattenAndFindDatasets(n, i, t), a({
235
+ ).sort(A), this.flattenAndFindDatasets(n, i, a), t({
236
236
  ids: {
237
237
  dendrites: n,
238
238
  components: i,
239
- axons: t
239
+ axons: a
240
240
  },
241
241
  labels: {
242
242
  origins: this.origins,
@@ -251,22 +251,22 @@ let S = function() {
251
251
  if (e.length === 1)
252
252
  r += `'${e[0]}')`;
253
253
  else if (e.length > 1)
254
- for (let a in e)
255
- r += `'${e[a]}'${a >= e.length - 1 ? ")" : ","} `;
254
+ for (let t in e)
255
+ r += `'${e[t]}'${t >= e.length - 1 ? ")" : ","} `;
256
256
  return r;
257
257
  }, this.buildPubmedSqlStatementForModels = function(e) {
258
258
  return `select distinct publication from publications where entity = '${e}'`;
259
259
  }, this.queryKnowledge = async (e, r) => {
260
- const a = `${this.flatmapAPI}/knowledge/query/`, t = await fetch(a, {
260
+ const t = `${this.flatmapAPI}/knowledge/query/`, a = await fetch(t, {
261
261
  method: "POST",
262
262
  headers: {
263
263
  Accept: "application/json"
264
264
  },
265
265
  body: JSON.stringify({ sql: e, params: r })
266
266
  });
267
- if (!t.ok)
268
- throw new Error(`Cannot access ${a}`);
269
- const s = await t.json();
267
+ if (!a.ok)
268
+ throw new Error(`Cannot access ${t}`);
269
+ const s = await a.json();
270
270
  if ("error" in s)
271
271
  throw new TypeError(s.error);
272
272
  return s.values;
@@ -1085,50 +1085,50 @@ const I = [
1085
1085
  "FMA subclasses (in human nerves)": ["FMA:6892", "FMA:6893"],
1086
1086
  "subclass labels": ["Right T9 grey ramus communicans", "Left T9 grey ramus communicans"]
1087
1087
  }
1088
- ], X = () => {
1088
+ ], U = () => {
1089
1089
  const e = {};
1090
1090
  return I.forEach((r) => {
1091
- const a = r.nerve_id, n = r.label.toLowerCase(), t = r["subclass labels"];
1092
- if (a && n !== "nerve") {
1093
- if (!t.length)
1091
+ const t = r.nerve_id, n = r.label.toLowerCase(), a = r["subclass labels"];
1092
+ if (t && n !== "nerve") {
1093
+ if (!a.length)
1094
1094
  return;
1095
- a in e || (e[a] = {});
1096
- const s = t.map((i) => i.toLowerCase()).sort();
1097
- e[a] = {
1095
+ t in e || (e[t] = {});
1096
+ const s = a.map((i) => i.toLowerCase()).sort();
1097
+ e[t] = {
1098
1098
  nerve: n,
1099
1099
  subNerves: s
1100
1100
  };
1101
1101
  }
1102
1102
  }), e;
1103
- }, U = () => {
1103
+ }, $ = () => {
1104
1104
  let e = [], r = {
1105
1105
  key: "scaffold.connectivity.nerve",
1106
1106
  label: "Nerves",
1107
1107
  children: []
1108
- }, a = [];
1108
+ }, t = [];
1109
1109
  for (const n of I) {
1110
1110
  if (n.label === "nerve")
1111
1111
  continue;
1112
- let t = {
1112
+ let a = {
1113
1113
  facetPropPath: "scaffold.connectivity.nerve",
1114
1114
  label: "",
1115
1115
  children: []
1116
1116
  }, s = [];
1117
1117
  for (const [i, l] of Object.entries(n))
1118
- if (i === "label" && (t.label = l), i === "subclass labels")
1118
+ if (i === "label" && (a.label = l), i === "subclass labels")
1119
1119
  for (const o of l)
1120
1120
  s.push({
1121
1121
  facetPropPath: "scaffold.connectivity.subnerve",
1122
1122
  label: o
1123
1123
  });
1124
- s.length && (t.children = s.sort((i, l) => i.label.localeCompare(l.label)), a.push(t));
1124
+ s.length && (a.children = s.sort((i, l) => i.label.localeCompare(l.label)), t.push(a));
1125
1125
  }
1126
- return a.length && (r.children = a.sort((n, t) => n.label.localeCompare(t.label)), e.push(r)), e;
1126
+ return t.length && (r.children = t.sort((n, a) => n.label.localeCompare(a.label)), e.push(r)), e;
1127
1127
  };
1128
- function $(e) {
1128
+ function H(e) {
1129
1129
  return e[0].toUpperCase() + e.substring(1);
1130
1130
  }
1131
- const q = {
1131
+ const K = {
1132
1132
  emits: ["flatmap-provenance-ready", "resource-selected", "species-changed"],
1133
1133
  props: {
1134
1134
  /**
@@ -1147,7 +1147,7 @@ const q = {
1147
1147
  },
1148
1148
  inject: ["showGlobalSettings", "showOpenMapButton"],
1149
1149
  computed: {
1150
- ...B(C, E, O),
1150
+ ...X(C, E, O, N),
1151
1151
  idNamePair() {
1152
1152
  return this.splitFlowStore.idNamePair;
1153
1153
  },
@@ -1190,13 +1190,19 @@ const q = {
1190
1190
  this.settingsStore.updateMapManager(e);
1191
1191
  },
1192
1192
  trackOpenMap: function(e) {
1193
- y.sendEvent({
1193
+ b.sendEvent({
1194
1194
  event: "interaction_event",
1195
1195
  event_name: "portal_maps_open_map",
1196
1196
  category: e,
1197
1197
  location: "open_new_map"
1198
1198
  });
1199
1199
  },
1200
+ updateEntryLabel: function(e) {
1201
+ e && this.entriesStore.updateLabelForEntry(this.entry, e);
1202
+ },
1203
+ updateEntryTitle: function(e) {
1204
+ e && this.entriesStore.updateTitleForEntry(this.entry, e);
1205
+ },
1200
1206
  updateWithViewUrl: function() {
1201
1207
  },
1202
1208
  /**
@@ -1215,12 +1221,12 @@ const q = {
1215
1221
  */
1216
1222
  resourceSelected: function(e, r) {
1217
1223
  var i, l, o, c;
1218
- const a = r[0];
1219
- if (this.resourceHasAction(a)) {
1220
- f.emit("PopoverActionClick", a);
1224
+ const t = r[0];
1225
+ if (this.resourceHasAction(t)) {
1226
+ f.emit("PopoverActionClick", t);
1221
1227
  return;
1222
1228
  }
1223
- let n, t = !1;
1229
+ let n, a = !1;
1224
1230
  const s = {
1225
1231
  paneIndex: this.entry.id,
1226
1232
  type: e,
@@ -1229,13 +1235,13 @@ const q = {
1229
1235
  eventType: void 0
1230
1236
  };
1231
1237
  if (e == "MultiFlatmap" || e == "Flatmap")
1232
- if (s.internalName = (i = a == null ? void 0 : a.feature) != null && i.label ? a.feature.label : this.idNamePair[a.feature.models], a.eventType == "click") {
1233
- if (s.eventType = "selected", a.feature.type == "marker") {
1238
+ if (s.internalName = (i = t == null ? void 0 : t.feature) != null && i.label ? t.feature.label : this.idNamePair[t.feature.models], t.eventType == "click") {
1239
+ if (s.eventType = "selected", t.feature.type == "marker") {
1234
1240
  let u = s.internalName;
1235
- if (this.settingsStore.isFeaturedMarkerIdentifier(a.feature.id))
1241
+ if (this.settingsStore.isFeaturedMarkerIdentifier(t.feature.id))
1236
1242
  n = {
1237
1243
  type: "Search",
1238
- term: this.settingsStore.featuredMarkerDoi(a.feature.id),
1244
+ term: this.settingsStore.featuredMarkerDoi(t.feature.id),
1239
1245
  featuredDataset: !0
1240
1246
  };
1241
1247
  else {
@@ -1244,8 +1250,8 @@ const q = {
1244
1250
  facets: [u]
1245
1251
  };
1246
1252
  let h = /* @__PURE__ */ new Set();
1247
- if (a.feature["marker-terms"].forEach((m) => {
1248
- h.add(m.label);
1253
+ if (t.feature["dataset-terms"].forEach((m) => {
1254
+ h.add(m.label ? m.label : m.term);
1249
1255
  }), h.size === 0 && h.add(u), n.facets = [...h], this.settingsStore.hasAppliedFacets(h) && this.settingsStore.appliedFacets.length <= h.size)
1250
1256
  return;
1251
1257
  if (this.settingsStore.appliedFacets.length) {
@@ -1259,14 +1265,14 @@ const q = {
1259
1265
  } else
1260
1266
  h.size > 1 && (n.type = "Facets"), this.settingsStore.updateAppliedFacets(n.facets);
1261
1267
  }
1262
- t = !0, e == "MultiFlatmap" && this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults();
1268
+ a = !0, e == "MultiFlatmap" && this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults();
1263
1269
  }
1264
- } else a.eventType == "mouseenter" && (s.eventType = "highlighted", t = !0);
1265
- else e == "Scaffold" && (a && ((((l = a.data) == null ? void 0 : l.id) === void 0 || ((o = a.data) == null ? void 0 : o.id) === "") && (a.data.id = (c = a.data) == null ? void 0 : c.group), s.internalName = a.data.id, a.data.lastActionOnMarker === !0 && (n = {
1270
+ } else t.eventType == "mouseenter" && (s.eventType = "highlighted", a = !0);
1271
+ else e == "Scaffold" && (t && ((((l = t.data) == null ? void 0 : l.id) === void 0 || ((o = t.data) == null ? void 0 : o.id) === "") && (t.data.id = (c = t.data) == null ? void 0 : c.group), s.internalName = t.data.id, t.data.lastActionOnMarker === !0 && (n = {
1266
1272
  type: "Facet",
1267
- facets: [$(a.data.id)]
1268
- })), s.eventType = "selected", t = !0);
1269
- n && f.emit("PopoverActionClick", n), t && this.$emit("resource-selected", s);
1273
+ facets: [H(t.data.id)]
1274
+ })), s.eventType = "selected", a = !0);
1275
+ n && f.emit("PopoverActionClick", n), a && this.$emit("resource-selected", s);
1270
1276
  },
1271
1277
  resourceHasAction: function(e) {
1272
1278
  return e && (e.type === "URL" || e.type === "Search" || e.type === "Neuron Search" || e.type == "Facet" || e.type == "Facets");
@@ -1285,21 +1291,21 @@ const q = {
1285
1291
  getNameAndIdFromSyncData: async function(e) {
1286
1292
  let r = e.internalName;
1287
1293
  r === void 0 && e.resource && (r = e.resource.label);
1288
- let a;
1289
- if (e.resource && e.resource.resource && (a = e.resource.resource[0]), this.entry.type === "Scaffold") {
1294
+ let t;
1295
+ if (e.resource && e.resource.resource && (t = e.resource.resource[0]), this.entry.type === "Scaffold") {
1290
1296
  if (this.$refs.scaffold.findObjectsWithGroupName(r).length === 0) {
1291
1297
  if (e.resource && e.resource.feature) {
1292
1298
  const s = R(e.resource.feature.models);
1293
1299
  if (s.length > 0) return s;
1294
1300
  }
1295
- let t = N(r);
1296
- if (t)
1297
- return t;
1298
- if (a && e.eventType === "selected")
1299
- return fetch(`${this.apiLocation}get-related-terms/${a}`).then((s) => s.json()).then((s) => {
1301
+ let a = x(r);
1302
+ if (a)
1303
+ return a;
1304
+ if (t && e.eventType === "selected")
1305
+ return fetch(`${this.apiLocation}get-related-terms/${t}`).then((s) => s.json()).then((s) => {
1300
1306
  var i;
1301
1307
  if (((i = s.uberon) == null ? void 0 : i.array.length) > 0)
1302
- return r = s.uberon.array[0].name.charAt(0).toUpperCase() + s.uberon.array[0].name.slice(1), a = s.uberon.array[0].id.toUpperCase(), { id: a, name: r };
1308
+ return r = s.uberon.array[0].name.charAt(0).toUpperCase() + s.uberon.array[0].name.slice(1), t = s.uberon.array[0].id.toUpperCase(), { id: t, name: r };
1303
1309
  });
1304
1310
  }
1305
1311
  } else if (this.entry.type === "MultiFlatmap")
@@ -1309,29 +1315,29 @@ const q = {
1309
1315
  const n = R(r);
1310
1316
  n.length > 0 && (r = n[0]);
1311
1317
  }
1312
- return { id: a, name: r };
1318
+ return { id: t, name: r };
1313
1319
  },
1314
1320
  // Get the species and andaotmy info for the featured datasets
1315
1321
  getDatasetAnatomyInfo: function(e) {
1316
1322
  fetch(`${this.apiLocation}dataset_info/anatomy?identifier=${e}`).then((r) => r.json()).then((r) => {
1317
- const a = r.result[0];
1323
+ const t = r.result[0];
1318
1324
  let n;
1319
1325
  try {
1320
- n = a.anatomy.organ[0].curie;
1326
+ n = t.anatomy.organ[0].curie;
1321
1327
  } catch {
1322
1328
  n = void 0;
1323
1329
  }
1324
- let t;
1330
+ let a;
1325
1331
  try {
1326
- t = a.item.curie;
1332
+ a = t.item.curie;
1327
1333
  } catch {
1328
- t = void 0;
1334
+ a = void 0;
1329
1335
  }
1330
1336
  let s;
1331
1337
  try {
1332
1338
  let i = 0, l = !1;
1333
- for (; !l && i < a.organisms.subject.length; ) {
1334
- const o = a.organisms.subject[i];
1339
+ for (; !l && i < t.organisms.subject.length; ) {
1340
+ const o = t.organisms.subject[i];
1335
1341
  o.species && (s = o.species.name, l = !0), i += 1;
1336
1342
  }
1337
1343
  } catch {
@@ -1340,7 +1346,7 @@ const q = {
1340
1346
  this.settingsStore.updateFeaturedMarker({
1341
1347
  identifier: e,
1342
1348
  marker: n,
1343
- doi: t,
1349
+ doi: a,
1344
1350
  species: s
1345
1351
  });
1346
1352
  });
@@ -1353,7 +1359,24 @@ const q = {
1353
1359
  // Check if the new featured dataset api has any info
1354
1360
  newFeaturedDatasetApiHasInfo: async function() {
1355
1361
  let r = await (await fetch(`${this.apiLocation}get_featured_dataset`)).json();
1356
- return !r.datasets || r.datasets.length == 0 ? !1 : r.datasets.map((a) => a.id);
1362
+ return !r.datasets || r.datasets.length == 0 ? !1 : r.datasets.map((t) => t.id);
1363
+ },
1364
+ flatmapResourceSelected: function(e, r) {
1365
+ var i;
1366
+ this.resourceSelected(e, r);
1367
+ const t = r[0], { eventType: n, feature: a } = t, { viewingMode: s } = this.settingsStore.globalSettings;
1368
+ if (n === "click" && a.type === "feature" && ((i = a.models) != null && i.startsWith("ilxtr:"))) {
1369
+ const l = [];
1370
+ r.forEach((o) => {
1371
+ const { models: c } = o.feature;
1372
+ l.push(c);
1373
+ }), b.sendEvent({
1374
+ event: "interaction_event",
1375
+ event_name: "portal_maps_connectivity",
1376
+ category: l.join(", "),
1377
+ location: e + " " + s
1378
+ });
1379
+ }
1357
1380
  },
1358
1381
  /**
1359
1382
  * Get a list of featured datasets to display.
@@ -1362,11 +1385,11 @@ const q = {
1362
1385
  let e = [], r = await this.oldFeaturedDatasetApiHasInfo();
1363
1386
  if (r) e = r;
1364
1387
  else {
1365
- let a = await this.newFeaturedDatasetApiHasInfo();
1366
- a && (e = a);
1388
+ let t = await this.newFeaturedDatasetApiHasInfo();
1389
+ t && (e = t);
1367
1390
  }
1368
- this.settingsStore.updateFeatured(e), e.forEach((a) => {
1369
- this.getDatasetAnatomyInfo(a);
1391
+ this.settingsStore.updateFeatured(e), e.forEach((t) => {
1392
+ this.getDatasetAnatomyInfo(t);
1370
1393
  });
1371
1394
  },
1372
1395
  flatmapMarkerUpdate() {
@@ -1404,26 +1427,26 @@ const q = {
1404
1427
  checkEndHelpMouseDown: function(e) {
1405
1428
  e.target.closest(".help-mode-dialog") || this.endHelp();
1406
1429
  },
1407
- flatmapHighlight: async function(e, r, a, n) {
1408
- let t = [...r, ...n];
1430
+ flatmapHighlight: async function(e, r, t, n) {
1431
+ let a = [...r, ...n];
1409
1432
  const s = this.settingsStore.globalSettings;
1410
1433
  if (s.highlightConnectedPaths) {
1411
1434
  const i = r.length ? r : n.length ? n : [], l = await e.retrieveConnectedPaths(i);
1412
- l && t.push(...l);
1435
+ l && a.push(...l);
1413
1436
  }
1414
1437
  if (s.highlightDOIPaths) {
1415
- const i = await e.searchConnectivitiesByReference(a);
1416
- i && t.push(...i);
1438
+ const i = await e.searchConnectivitiesByReference(t);
1439
+ i && a.push(...i);
1417
1440
  }
1418
- return t = [...new Set(t)], t;
1441
+ return a = [...new Set(a)], a;
1419
1442
  },
1420
1443
  sidebarHoverHighlight: function(e) {
1421
- var r, a;
1444
+ var r, t;
1422
1445
  if (this.visible && ((this.flatmapRef || this.multiflatmapRef) && this.flatmapReady || this.scaffoldRef && this.scaffoldLoaded)) {
1423
- const n = this.settingsStore.hoverAnatomies, t = this.settingsStore.hoverOrgans, s = this.settingsStore.hoverDOI, i = this.settingsStore.hoverConnectivity;
1446
+ const n = this.settingsStore.hoverAnatomies, a = this.settingsStore.hoverOrgans, s = this.settingsStore.hoverDOI, i = this.settingsStore.hoverConnectivity;
1424
1447
  let l = null, o = null;
1425
- this.flatmapRef && (l = this.flatmapRef), this.multiflatmapRef && (l = this.multiflatmapRef.getCurrentFlatmap()), this.scaffoldRef && (o = this.scaffoldRef), clearTimeout(this.highlightDelay), !n.length && !t.length && !s && !i.length && ((this.multiflatmapRef || this.flatmapRef) && l ? ((r = l.mapImp) == null || r.clearSearchResults(), e.connectivityProcessed && ((a = l.mapImp) == null || a.setPaint({ dimmed: !0 }))) : this.scaffoldRef && o && o.changeHighlightedByName(t, "", !1)), this.highlightDelay = setTimeout(() => {
1426
- (n.length || t.length || s || i.length) && ((this.multiflatmapRef || this.flatmapRef) && l ? this.flatmapHighlight(l, n, s, i).then((c) => {
1448
+ this.flatmapRef && (l = this.flatmapRef), this.multiflatmapRef && (l = this.multiflatmapRef.getCurrentFlatmap()), this.scaffoldRef && (o = this.scaffoldRef), clearTimeout(this.highlightDelay), !n.length && !a.length && !s && !i.length && ((this.multiflatmapRef || this.flatmapRef) && l ? ((r = l.mapImp) == null || r.clearSearchResults(), e.connectivityProcessed && ((t = l.mapImp) == null || t.setPaint({ dimmed: !0 }))) : this.scaffoldRef && o && o.changeHighlightedByName(a, "", !1)), this.highlightDelay = setTimeout(() => {
1449
+ (n.length || a.length || s || i.length) && ((this.multiflatmapRef || this.flatmapRef) && l ? this.flatmapHighlight(l, n, s, i).then((c) => {
1427
1450
  try {
1428
1451
  l.showConnectivityTooltips({
1429
1452
  connectivityInfo: { featureId: c },
@@ -1439,7 +1462,7 @@ const q = {
1439
1462
  ) || l.mapImp.clearSearchResults();
1440
1463
  }
1441
1464
  }
1442
- }) : this.scaffoldRef && o && o.changeHighlightedByName(t, "", !1));
1465
+ }) : this.scaffoldRef && o && o.changeHighlightedByName(a, "", !1));
1443
1466
  }, 100);
1444
1467
  }
1445
1468
  },
@@ -1476,24 +1499,24 @@ const q = {
1476
1499
  this.flatmapService = await this.mockUpFlatmapService(), this.loadConnectivityExplorerConfig(this.flatmapService);
1477
1500
  },
1478
1501
  mockUpFlatmapService: async function() {
1479
- const a = (await (await fetch(this.flatmapAPI)).json()).filter((u) => u.id === "human-flatmap_male").sort((u, h) => h.created.localeCompare(u.created))[0], n = a.uuid, t = a.sckan["knowledge-source"], i = await (await fetch(`${this.flatmapAPI}/flatmap/${n}/pathways`)).json();
1480
- this.flatmapQueries = L(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1502
+ const t = (await (await fetch(this.flatmapAPI)).json()).filter((u) => u.id === "human-flatmap_male").sort((u, h) => h.created.localeCompare(u.created))[0], n = t.uuid, a = t.sckan["knowledge-source"], i = await (await fetch(`${this.flatmapAPI}/flatmap/${n}/pathways`)).json();
1503
+ this.flatmapQueries = y(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1481
1504
  const l = {
1482
- provenance: {
1505
+ mapMetadata: {
1483
1506
  uuid: n,
1484
1507
  connectivity: {
1485
- ...a.sckan
1508
+ ...t.sckan
1486
1509
  }
1487
1510
  },
1488
1511
  pathways: i,
1489
1512
  resource: this.entry.resource,
1490
- knowledgeSource: t,
1513
+ knowledgeSource: a,
1491
1514
  queryKnowledge: async (u) => {
1492
- const h = "select knowledge from knowledge where (source=? or source is null) and entity=? order by source desc", m = [t, u], v = await this.flatmapQueries.queryKnowledge(h, m);
1515
+ const h = "select knowledge from knowledge where (source=? or source is null) and entity=? order by source desc", m = [a, u], v = await this.flatmapQueries.queryKnowledge(h, m);
1493
1516
  return JSON.parse(v);
1494
1517
  },
1495
1518
  queryLabels: async (u) => {
1496
- const h = `select source, entity, knowledge from knowledge where (source=? or source is null) and entity in (?${", ?".repeat(u.length - 1)}) order by entity, source desc`, m = [t, ...u], v = await this.flatmapQueries.queryKnowledge(h, m), p = [];
1519
+ const h = `select source, entity, knowledge from knowledge where (source=? or source is null) and entity in (?${", ?".repeat(u.length - 1)}) order by entity, source desc`, m = [a, ...u], v = await this.flatmapQueries.queryKnowledge(h, m), p = [];
1497
1520
  let g;
1498
1521
  for (const F of v)
1499
1522
  if (F[1] !== g) {
@@ -1505,32 +1528,32 @@ const q = {
1505
1528
  }
1506
1529
  return p;
1507
1530
  }
1508
- }, o = U();
1531
+ }, o = $();
1509
1532
  return {
1510
1533
  mockup: !0,
1511
1534
  getFilterOptions: async (u, h) => {
1512
- const v = await P(this.flatmapAPI, u, h, void 0);
1535
+ const v = await B(this.flatmapAPI, u, h, void 0);
1513
1536
  return [...o, ...v];
1514
1537
  },
1515
- getTermNerveMaps: X,
1538
+ getTermNerveMaps: U,
1516
1539
  mapImp: l
1517
1540
  };
1518
1541
  },
1519
1542
  loadConnectivityExplorerConfig: async function(e) {
1520
1543
  var s;
1521
- const r = e.mapImp, a = w(r), n = e.mockup ? r.resource : r.uuid;
1522
- let t = [];
1523
- if (!this.connectivityKnowledge[a]) {
1524
- this.flatmapQueries = L(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1525
- const i = await x(r, this.flatmapQueries);
1526
- this.connectivityKnowledge[a] = i.filter((l) => {
1544
+ const r = e.mapImp, t = w(r), n = e.mockup ? r.resource : r.uuid;
1545
+ let a = [];
1546
+ if (!this.connectivityKnowledge[t]) {
1547
+ this.flatmapQueries = y(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1548
+ const i = await P(r, this.flatmapQueries);
1549
+ this.connectivityKnowledge[t] = i.filter((l) => {
1527
1550
  var o;
1528
- return l.source === a && ((o = l.connectivity) == null ? void 0 : o.length);
1551
+ return (o = l.connectivity) == null ? void 0 : o.length;
1529
1552
  }).sort((l, o) => l.label.localeCompare(o.label));
1530
1553
  }
1531
1554
  if (!this.connectivityKnowledge[n]) {
1532
1555
  const i = ((s = r.pathways) == null ? void 0 : s.paths) || {};
1533
- this.connectivityKnowledge[n] = this.connectivityKnowledge[a].filter((l) => l.id in i);
1556
+ this.connectivityKnowledge[n] = this.connectivityKnowledge[t].filter((l) => l.id in i);
1534
1557
  }
1535
1558
  if (!this.connectivityFilterOptions[n] && !e.mockup && (this.connectivityFilterOptions[n] = await e.getFilterOptions(r, this.connectivityKnowledge[n])), e.mockup) {
1536
1559
  const i = e.getTermNerveMaps() || {}, l = JSON.parse(JSON.stringify(this.connectivityKnowledge[n]));
@@ -1539,14 +1562,14 @@ const q = {
1539
1562
  let u = c;
1540
1563
  if ((h = c.nerves) != null && h.length) {
1541
1564
  const v = c.nerves.flat(1 / 0).reduce((p, g) => (g in i && p.push(i[g]), p), []);
1542
- v != null && v.length && (t.push(...v), u["nerve-label"] = v.sort((p, g) => p.nerve.localeCompare(g.nerve)));
1565
+ v != null && v.length && (a.push(...v), u["nerve-label"] = v.sort((p, g) => p.nerve.localeCompare(g.nerve)));
1543
1566
  }
1544
1567
  return u;
1545
- }).filter((c) => c["nerve-label"]), this.connectivityFilterOptions[n] || (this.connectivityFilterOptions[n] = await e.getFilterOptions(r, this.connectivityKnowledge[n])), t = t.map((c) => c.nerve.toLowerCase());
1568
+ }).filter((c) => c["nerve-label"]), this.connectivityFilterOptions[n] || (this.connectivityFilterOptions[n] = await e.getFilterOptions(r, this.connectivityKnowledge[n])), a = a.map((c) => c.nerve.toLowerCase());
1546
1569
  const o = JSON.parse(JSON.stringify(this.connectivityFilterOptions[n]));
1547
1570
  this.connectivityFilterOptions[n] = o.map((c) => {
1548
1571
  if (c.key === "scaffold.connectivity.nerve") {
1549
- const u = c.children.filter((h) => t.includes(h.label.toLowerCase()));
1572
+ const u = c.children.filter((h) => a.includes(h.label.toLowerCase()));
1550
1573
  return { ...c, children: u };
1551
1574
  } else
1552
1575
  return c;
@@ -1563,7 +1586,7 @@ const q = {
1563
1586
  provenanceTaxonomy: e.taxons,
1564
1587
  feature: []
1565
1588
  });
1566
- return r.knowledgeSource = w(this.flatmapService.mapImp), r.mapId = this.flatmapService.mapImp.provenance.id, r.mapuuid = this.flatmapService.mapImp.provenance.uuid, r["nerve-label"] = e["nerve-label"], r.ready = !0, r;
1589
+ return r.knowledgeSource = w(this.flatmapService.mapImp), r.mapId = this.flatmapService.mapImp.mapMetadata.id, r.mapuuid = this.flatmapService.mapImp.mapMetadata.uuid, r["nerve-label"] = e["nerve-label"], r.ready = !0, r;
1567
1590
  },
1568
1591
  getKnowledgeTooltip: async function(e) {
1569
1592
  this.tooltipEntry = [], e.data.forEach((n) => this.tooltipEntry.push({ title: n.label, featureId: [n.id], ready: !1 })), f.emit("connectivity-info-open", this.tooltipEntry);
@@ -1573,11 +1596,11 @@ const q = {
1573
1596
  this.tooltipEntry = await Promise.all(r), this.tooltipEntry.map((n) => n.featureId[0]).length > 0 && f.emit("connectivity-info-open", this.tooltipEntry);
1574
1597
  },
1575
1598
  changeConnectivitySource: async function(e) {
1576
- const { entry: r, connectivitySource: a } = e;
1577
- await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, r.featureId[0], a), this.tooltipEntry = this.tooltipEntry.map((n) => n.featureId[0] === r.featureId[0] ? this.flatmapQueries.updateTooltipData(n) : n), f.emit("connectivity-info-open", this.tooltipEntry);
1599
+ const { entry: r, connectivitySource: t } = e;
1600
+ await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, r.featureId[0], t), this.tooltipEntry = this.tooltipEntry.map((n) => n.featureId[0] === r.featureId[0] ? this.flatmapQueries.updateTooltipData(n) : n), f.emit("connectivity-info-open", this.tooltipEntry);
1578
1601
  },
1579
1602
  trackEvent: function(e) {
1580
- y.sendEvent(e);
1603
+ b.sendEvent(e);
1581
1604
  }
1582
1605
  },
1583
1606
  data: function() {
@@ -1619,5 +1642,5 @@ const q = {
1619
1642
  }
1620
1643
  };
1621
1644
  export {
1622
- q as C
1645
+ K as C
1623
1646
  };