@abi-software/mapintegratedvuer 1.19.1 → 1.20.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.
@@ -1,5 +1,5 @@
1
- import { _ as c, N as h, E as m } from "./index-DqMph8mt.js";
2
- import { C as y } from "./ContentMixin-DTwXABLi.js";
1
+ import { _ as c, N as h, E as m } from "./index-BkejiyeA.js";
2
+ import { C as y } from "./ContentMixin-DyNQa5V5.js";
3
3
  import { resolveComponent as p, openBlock as d, createElementBlock as l, createVNode as v } from "vue";
4
4
  const g = {
5
5
  name: "ConnectivityGraph",
@@ -1,21 +1,21 @@
1
- import { markRaw as A } from "vue";
2
- import { H as _, c as E, u as O, d as N, e as x, f as P, T as L, E as m, h as w, l as B, Q as X } from "./index-DqMph8mt.js";
3
- import { mapStores as U } from "pinia";
4
- const d = function(e) {
1
+ import { markRaw as F } from "vue";
2
+ import { H as x, c as P, u as B, d as X, e as U, f as $, T as R, E as p, h as S, l as k, Q as D } from "./index-BkejiyeA.js";
3
+ import { mapStores as H } from "pinia";
4
+ const L = function(e) {
5
5
  return e ? [...new Set(e.map((n) => JSON.stringify(n)))].map(
6
6
  (n) => JSON.parse(n)
7
7
  ) : [];
8
- }, F = function(e) {
8
+ }, b = function(e) {
9
9
  if (!e) return [];
10
10
  const n = /* @__PURE__ */ new Set(), r = [];
11
11
  return e.forEach((t) => {
12
12
  const { id: a, name: l } = t, s = `${a.toLowerCase()}:${l.toLowerCase()}`;
13
13
  n.has(s) || (n.add(s), r.push(t));
14
14
  }), r;
15
- }, y = [], T = async function(e, n) {
15
+ }, w = [], I = async function(e, n) {
16
16
  const r = n.filter(
17
- (l) => y.some((s) => s.taxon === l)
18
- ), t = y.filter(
17
+ (l) => w.some((s) => s.taxon === l)
18
+ ), t = w.filter(
19
19
  (l) => r.includes(l.taxon)
20
20
  ), a = n.filter(
21
21
  (l) => !r.includes(l)
@@ -27,11 +27,11 @@ const d = function(e) {
27
27
  let { entity: i, label: h } = s;
28
28
  h === "Mammalia" && (h = "Mammalia not otherwise specified");
29
29
  const o = { taxon: i, label: h };
30
- t.push(o), y.push(o);
30
+ t.push(o), w.push(o);
31
31
  }), t;
32
32
  } else
33
33
  return t;
34
- }, R = function(e, n) {
34
+ }, T = function(e, n) {
35
35
  if (!e || !n) return !1;
36
36
  let r = JSON.stringify(e), t = JSON.stringify(n);
37
37
  return r.indexOf(t) !== -1;
@@ -39,7 +39,7 @@ const d = function(e) {
39
39
  const r = e.name ?? e, t = n.name ?? n, a = r.toUpperCase(), l = t.toUpperCase();
40
40
  return a < l ? -1 : a > l ? 1 : 0;
41
41
  };
42
- let S = function() {
42
+ let C = function() {
43
43
  this.initialise = function(e) {
44
44
  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.controller = void 0, this.uberons = [], this.lookUp = [], this.connectivitySource = "map", this.noMapConnectivity = !1;
45
45
  }, this.createTooltipData = async function(e, n) {
@@ -49,7 +49,7 @@ let S = function() {
49
49
  if (n.provenanceTaxonomy) {
50
50
  t = [];
51
51
  try {
52
- const l = await T(e, n.provenanceTaxonomy);
52
+ const l = await I(e, n.provenanceTaxonomy);
53
53
  l.length && l.forEach((s) => {
54
54
  const { label: i } = s;
55
55
  t.push(i);
@@ -62,9 +62,9 @@ let S = function() {
62
62
  destinations: this.destinations,
63
63
  origins: this.origins,
64
64
  components: this.components,
65
- destinationsWithDatasets: F(this.destinationsWithDatasets),
66
- originsWithDatasets: F(this.originsWithDatasets),
67
- componentsWithDatasets: F(this.componentsWithDatasets),
65
+ destinationsWithDatasets: b(this.destinationsWithDatasets),
66
+ originsWithDatasets: b(this.originsWithDatasets),
67
+ componentsWithDatasets: b(this.componentsWithDatasets),
68
68
  destinationsCombinations: this.destinationsCombinations,
69
69
  originsCombinations: this.originsCombinations,
70
70
  componentsCombinations: this.componentsCombinations,
@@ -81,11 +81,11 @@ let S = function() {
81
81
  return {
82
82
  ...e,
83
83
  origins: this.origins,
84
- originsWithDatasets: F(this.originsWithDatasets),
84
+ originsWithDatasets: b(this.originsWithDatasets),
85
85
  components: this.components,
86
- componentsWithDatasets: F(this.componentsWithDatasets),
86
+ componentsWithDatasets: b(this.componentsWithDatasets),
87
87
  destinations: this.destinations,
88
- destinationsWithDatasets: F(this.destinationsWithDatasets),
88
+ destinationsWithDatasets: b(this.destinationsWithDatasets),
89
89
  destinationsCombinations: this.destinationsCombinations,
90
90
  originsCombinations: this.originsCombinations,
91
91
  componentsCombinations: this.componentsCombinations,
@@ -101,7 +101,7 @@ let S = function() {
101
101
  return new Promise(async (r) => {
102
102
  let t = {};
103
103
  this.uberons = [];
104
- const a = await T(e, n);
104
+ const a = await I(e, n);
105
105
  a.length && (a.forEach((l) => {
106
106
  const { taxon: s, label: i } = l;
107
107
  t[s] = i, this.uberons.push({
@@ -137,9 +137,9 @@ let S = function() {
137
137
  Array.isArray(a) ? t.push(a.flat()) : t.push(a);
138
138
  }), t.flat();
139
139
  }, this.findComponents = function(e, n, r, t) {
140
- let a = e.connectivity.flat(), l = d(a), s = [], i = !1;
140
+ let a = e.connectivity.flat(), l = L(a), s = [], i = !1;
141
141
  return l.forEach((h) => {
142
- i = !1, R(n, h) && (i = !0), t && R(t, h) && (i = !0), R(r, h) && (i = !0), i || s.push(h);
142
+ i = !1, T(n, h) && (i = !0), t && T(t, h) && (i = !0), T(r, h) && (i = !0), i || s.push(h);
143
143
  }), s;
144
144
  }, this.retrieveFlatmapKnowledgeForEvent = async function(e, n) {
145
145
  this.controller && this.controller.abort(), this.controller = new AbortController(), this.controller.signal;
@@ -149,7 +149,7 @@ let S = function() {
149
149
  return await Promise.all([t]);
150
150
  }, this.queryForConnectivityNew = async function(e, n, r = "map", t = !0) {
151
151
  const a = /^sckan-(\d{4})/.exec(e.knowledgeSource || ""), s = (a ? Number(a[1]) : 0) >= 2026, i = e.mapMetadata.uuid, h = this.flatmapAPI;
152
- return this.connectivitySource = s ? "sckan" : r, s && (this.singleConnectivityList = await _(h, i, n)), new Promise((o) => {
152
+ return this.connectivitySource = s ? "sckan" : r, s && (this.singleConnectivityList = await x(h, i, n)), new Promise((o) => {
153
153
  (this.connectivitySource === "map" ? this.queryMapConnectivity(e.mapMetadata.uuid, n) : e.queryKnowledge(n)).then((c) => {
154
154
  if (this.checkConnectivityExists(c)) {
155
155
  this.connectivitySource === "map" && (this.noMapConnectivity = !1);
@@ -160,8 +160,8 @@ let S = function() {
160
160
  } else this.connectivitySource === "map" ? (this.connectivitySource = "sckan", this.noMapConnectivity = !0, e.queryKnowledge(n).then((v) => {
161
161
  if (this.checkConnectivityExists(v)) {
162
162
  let f = v;
163
- t ? this.processConnectivity(e, f).then((p) => {
164
- v.references && (this.rawURLs = [...v.references]), o(p);
163
+ t ? this.processConnectivity(e, f).then((m) => {
164
+ v.references && (this.rawURLs = [...v.references]), o(m);
165
165
  }) : o(f);
166
166
  } else
167
167
  o(!1);
@@ -270,11 +270,11 @@ let S = function() {
270
270
  const h = ["ilxtr:hasSomaLocatedIn"], o = ["ilxtr:hasAxonPresynapticElementIn", "ilxtr:hasAxonSensorySubcellularElementIn"];
271
271
  h.forEach((u) => {
272
272
  u in n["node-phenotypes"] && t.push(...n["node-phenotypes"][u]);
273
- }), t = d(t), o.forEach((u) => {
273
+ }), t = L(t), o.forEach((u) => {
274
274
  u in n["node-phenotypes"] && a.push(...n["node-phenotypes"][u]);
275
- }), a = d(a);
275
+ }), a = L(a);
276
276
  } else
277
- a = d(n.axons), n.somas && n.somas.length > 0 && t.push(...n.somas), n.dendrites && n.dendrites.length > 0 && t.push(...n.dendrites), t = d(t), l = n.somas;
277
+ a = L(n.axons), n.somas && n.somas.length > 0 && t.push(...n.somas), n.dendrites && n.dendrites.length > 0 && t.push(...n.dendrites), t = L(t), l = n.somas;
278
278
  const s = this.findComponents(n, a, t, l), i = this.findAllIdsFromConnectivity(n);
279
279
  this.createLabelLookup(e, i).then((h) => {
280
280
  this.origins = t.map(
@@ -323,7 +323,7 @@ let S = function() {
323
323
  return l.values;
324
324
  };
325
325
  };
326
- const I = [
326
+ const E = [
327
327
  {
328
328
  id: 0,
329
329
  nerve_id: "ILX:0793723",
@@ -1136,9 +1136,9 @@ const I = [
1136
1136
  "FMA subclasses (in human nerves)": ["FMA:6892", "FMA:6893"],
1137
1137
  "subclass labels": ["Right T9 grey ramus communicans", "Left T9 grey ramus communicans"]
1138
1138
  }
1139
- ], D = () => {
1139
+ ], q = () => {
1140
1140
  const e = {};
1141
- return I.forEach((n) => {
1141
+ return E.forEach((n) => {
1142
1142
  const r = n.nerve_id, t = n.label.toLowerCase(), a = n["subclass labels"];
1143
1143
  if (r && t !== "nerve") {
1144
1144
  if (!a.length)
@@ -1151,13 +1151,13 @@ const I = [
1151
1151
  };
1152
1152
  }
1153
1153
  }), e;
1154
- }, k = () => {
1154
+ }, W = () => {
1155
1155
  let e = [], n = {
1156
1156
  key: "scaffold.connectivity.nerve",
1157
1157
  label: "Nerves",
1158
1158
  children: []
1159
1159
  }, r = [];
1160
- for (const t of I) {
1160
+ for (const t of E) {
1161
1161
  if (t.label === "nerve")
1162
1162
  continue;
1163
1163
  let a = {
@@ -1176,10 +1176,10 @@ const I = [
1176
1176
  }
1177
1177
  return r.length && (n.children = r.sort((t, a) => t.label.localeCompare(a.label)), e.push(n)), e;
1178
1178
  };
1179
- function H(e) {
1179
+ function _(e) {
1180
1180
  return e[0].toUpperCase() + e.substring(1);
1181
1181
  }
1182
- const K = {
1182
+ const Q = {
1183
1183
  emits: ["flatmap-provenance-ready", "resource-selected", "species-changed"],
1184
1184
  props: {
1185
1185
  /**
@@ -1196,9 +1196,25 @@ const K = {
1196
1196
  default: !1
1197
1197
  }
1198
1198
  },
1199
- inject: ["showGlobalSettings", "showOpenMapButton"],
1199
+ inject: {
1200
+ showGlobalSettings: {
1201
+ default: !0
1202
+ },
1203
+ showOpenMapButton: {
1204
+ default: !0
1205
+ },
1206
+ showLongLabel: {
1207
+ default: !0
1208
+ },
1209
+ truncateLongLabel: {
1210
+ default: !0
1211
+ },
1212
+ showIdInTooltip: {
1213
+ default: !0
1214
+ }
1215
+ },
1200
1216
  computed: {
1201
- ...U(E, O, N, x),
1217
+ ...H(P, B, X, U),
1202
1218
  idNamePair() {
1203
1219
  return this.splitFlowStore.idNamePair;
1204
1220
  },
@@ -1220,7 +1236,7 @@ const K = {
1220
1236
  this.alive = !1;
1221
1237
  },
1222
1238
  mounted: function() {
1223
- this.multiflatmapRef = A(this.$refs.multiflatmap), this.flatmapRef = A(this.$refs.flatmap), this.iframeRef = A(this.$refs.iframe), this.plotRef = A(this.$refs.plot), this.simulationRef = A(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;
1239
+ this.$refs.multiflatmap && (this.multiflatmapRef = F(this.$refs.multiflatmap)), this.$refs.flatmap && (this.flatmapRef = F(this.$refs.flatmap)), this.$refs.iframe && (this.iframeRef = F(this.$refs.iframe)), this.$refs.plot && (this.plotRef = F(this.$refs.plot)), this.$refs.simulation && (this.simulationRef = F(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;
1224
1240
  },
1225
1241
  methods: {
1226
1242
  toggleMinimap: function(e, n) {
@@ -1249,13 +1265,13 @@ const K = {
1249
1265
  getState: function() {
1250
1266
  },
1251
1267
  openMap: function(e) {
1252
- m.emit("OpenNewMap", e), this.trackOpenMap(`open_new_${e}_map`);
1268
+ p.emit("OpenNewMap", e), this.trackOpenMap(`open_new_${e}_map`);
1253
1269
  },
1254
1270
  onMapmanagerLoaded: function(e) {
1255
1271
  this.settingsStore.updateMapManager(e);
1256
1272
  },
1257
1273
  trackOpenMap: function(e) {
1258
- L.sendEvent({
1274
+ R.sendEvent({
1259
1275
  event: "interaction_event",
1260
1276
  event_name: "portal_maps_open_map",
1261
1277
  category: e,
@@ -1288,7 +1304,7 @@ const K = {
1288
1304
  var s, i, h, o;
1289
1305
  const r = n[0];
1290
1306
  if (this.resourceHasAction(r)) {
1291
- m.emit("PopoverActionClick", r);
1307
+ p.emit("PopoverActionClick", r);
1292
1308
  return;
1293
1309
  }
1294
1310
  let t, a = !1;
@@ -1335,9 +1351,9 @@ const K = {
1335
1351
  } else r.eventType == "mouseenter" && (l.eventType = "highlighted", a = !0);
1336
1352
  else e == "Scaffold" && (r && ((((i = r.data) == null ? void 0 : i.id) === void 0 || ((h = r.data) == null ? void 0 : h.id) === "") && (r.data.id = (o = r.data) == null ? void 0 : o.group), l.internalName = r.data.id, r.data.lastActionOnMarker === !0 && (t = {
1337
1353
  type: "Facet",
1338
- facets: [H(r.data.id)]
1354
+ facets: [_(r.data.id)]
1339
1355
  })), l.eventType = "selected", a = !0);
1340
- t && m.emit("PopoverActionClick", t), a && this.$emit("resource-selected", l);
1356
+ t && p.emit("PopoverActionClick", t), a && this.$emit("resource-selected", l);
1341
1357
  },
1342
1358
  resourceHasAction: function(e) {
1343
1359
  return e && (e.type === "URL" || e.type === "Search" || e.type === "Neuron Search" || e.type == "Facet" || e.type == "Facets");
@@ -1395,7 +1411,7 @@ const K = {
1395
1411
  n.forEach((h) => {
1396
1412
  const { models: o } = h.feature;
1397
1413
  i.push(o);
1398
- }), L.sendEvent({
1414
+ }), R.sendEvent({
1399
1415
  event: "interaction_event",
1400
1416
  event_name: "portal_maps_connectivity",
1401
1417
  category: i.join(", "),
@@ -1482,7 +1498,7 @@ const K = {
1482
1498
  const c = i.mapImp.uuid;
1483
1499
  o.every(
1484
1500
  (f) => this.connectivityKnowledge[c].some(
1485
- (p) => p.id === f
1501
+ (m) => m.id === f
1486
1502
  )
1487
1503
  ) || i.mapImp && !i.mapImp.contextLost && i.mapImp.clearSearchResults();
1488
1504
  }
@@ -1492,27 +1508,27 @@ const K = {
1492
1508
  }
1493
1509
  },
1494
1510
  onAnnotationOpen: function(e) {
1495
- m.emit("annotation-open", e);
1511
+ p.emit("annotation-open", e);
1496
1512
  },
1497
1513
  onAnnotationClose: function() {
1498
- m.emit("sidebar-annotation-close");
1514
+ p.emit("sidebar-annotation-close");
1499
1515
  },
1500
1516
  updateOfflineAnnotationEnabled: function(e) {
1501
- m.emit("update-offline-annotation-enabled", e);
1517
+ p.emit("update-offline-annotation-enabled", e);
1502
1518
  },
1503
1519
  onConnectivityInfoOpen: function(e) {
1504
- m.emit("connectivity-info-open", e);
1520
+ p.emit("connectivity-info-open", e);
1505
1521
  },
1506
1522
  onConnectivityError: function(e) {
1507
- m.emit("connectivity-error", e);
1523
+ p.emit("connectivity-error", e);
1508
1524
  },
1509
1525
  onConnectivityInfoClose: function() {
1510
- m.emit("connectivity-info-close");
1526
+ p.emit("connectivity-info-close");
1511
1527
  },
1512
1528
  onSidebarAnnotationClose: function() {
1513
1529
  },
1514
1530
  onNeuronConnectionFeatureClick: function(e) {
1515
- m.emit("neuron-connection-feature-click", e);
1531
+ p.emit("neuron-connection-feature-click", e);
1516
1532
  },
1517
1533
  showConnectivity: function() {
1518
1534
  },
@@ -1525,7 +1541,7 @@ const K = {
1525
1541
  },
1526
1542
  mockUpFlatmapService: async function() {
1527
1543
  const r = (await (await fetch(this.flatmapAPI)).json()).filter((u) => u.id === "human-flatmap_male").sort((u, c) => c.created.localeCompare(u.created))[0], t = r.uuid, a = r.sckan["knowledge-source"], s = await (await fetch(`${this.flatmapAPI}/flatmap/${t}/pathways`)).json();
1528
- this.flatmapQueries = A(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1544
+ this.flatmapQueries = F(new C()), this.flatmapQueries.initialise(this.flatmapAPI);
1529
1545
  const i = {
1530
1546
  mapMetadata: {
1531
1547
  uuid: t,
@@ -1541,36 +1557,36 @@ const K = {
1541
1557
  return JSON.parse(f);
1542
1558
  },
1543
1559
  queryLabels: async (u) => {
1544
- const c = `select source, entity, knowledge from knowledge where (source=? or source is null) and entity in (?${", ?".repeat(u.length - 1)}) order by entity, source desc`, v = [a, ...u], f = await this.flatmapQueries.queryKnowledge(c, v), p = [];
1560
+ const c = `select source, entity, knowledge from knowledge where (source=? or source is null) and entity in (?${", ?".repeat(u.length - 1)}) order by entity, source desc`, v = [a, ...u], f = await this.flatmapQueries.queryKnowledge(c, v), m = [];
1545
1561
  let g;
1546
- for (const b of f)
1547
- if (b[1] !== g) {
1548
- const C = JSON.parse(b[2]);
1549
- p.push({
1550
- entity: b[1],
1551
- label: C.label || b[1]
1552
- }), g = b[1];
1562
+ for (const A of f)
1563
+ if (A[1] !== g) {
1564
+ const y = JSON.parse(A[2]);
1565
+ m.push({
1566
+ entity: A[1],
1567
+ label: y.label || A[1]
1568
+ }), g = A[1];
1553
1569
  }
1554
- return p;
1570
+ return m;
1555
1571
  }
1556
- }, h = k();
1572
+ }, h = W();
1557
1573
  return {
1558
1574
  mockup: !0,
1559
1575
  getFilterOptions: async (u, c) => {
1560
- const f = await X(this.flatmapAPI, u, c, void 0);
1576
+ const f = await D(this.flatmapAPI, u, c, void 0);
1561
1577
  return [...h, ...f];
1562
1578
  },
1563
- getTermNerveMaps: D,
1579
+ getTermNerveMaps: q,
1564
1580
  mapImp: i
1565
1581
  };
1566
1582
  },
1567
1583
  loadConnectivityExplorerConfig: async function(e) {
1568
1584
  var l;
1569
- const n = e.mapImp, r = w(n), t = e.mockup ? n.resource : n.uuid;
1585
+ const n = e.mapImp, r = S(n), t = e.mockup ? n.resource : n.uuid;
1570
1586
  let a = [];
1571
1587
  if (!this.connectivityKnowledge[r]) {
1572
- this.flatmapQueries = A(new S()), this.flatmapQueries.initialise(this.flatmapAPI);
1573
- const s = await B(n, this.flatmapQueries);
1588
+ this.flatmapQueries = F(new C()), this.flatmapQueries.initialise(this.flatmapAPI);
1589
+ const s = await k(n, this.flatmapQueries);
1574
1590
  this.connectivityKnowledge[r] = s.filter((i) => {
1575
1591
  var h;
1576
1592
  return (h = i.connectivity) == null ? void 0 : h.length;
@@ -1586,8 +1602,8 @@ const K = {
1586
1602
  var c;
1587
1603
  let u = o;
1588
1604
  if ((c = o.nerves) != null && c.length) {
1589
- const f = o.nerves.flat(1 / 0).reduce((p, g) => (g in s && p.push(s[g]), p), []);
1590
- f != null && f.length && (a.push(...f), u["nerve-label"] = f.sort((p, g) => p.nerve.localeCompare(g.nerve)));
1605
+ const f = o.nerves.flat(1 / 0).reduce((m, g) => (g in s && m.push(s[g]), m), []);
1606
+ f != null && f.length && (a.push(...f), u["nerve-label"] = f.sort((m, g) => m.nerve.localeCompare(g.nerve)));
1591
1607
  }
1592
1608
  return u;
1593
1609
  }).filter((o) => o["nerve-label"]), this.connectivityFilterOptions[t] || (this.connectivityFilterOptions[t] = await e.getFilterOptions(n, this.connectivityKnowledge[t])), a = a.map((o) => o.nerve.toLowerCase());
@@ -1601,7 +1617,7 @@ const K = {
1601
1617
  });
1602
1618
  } else
1603
1619
  this.connectivityFilterSources[t] || (this.connectivityFilterSources[t] = e.getFilterSources()), this.connectivitiesStore.updateFilterSources(this.connectivityFilterSources);
1604
- this.connectivitiesStore.updateFilterOptions(this.connectivityFilterOptions), this.connectivitiesStore.updateGlobalConnectivities(this.connectivityKnowledge), m.emit("species-layout-connectivity-update");
1620
+ this.connectivitiesStore.updateFilterOptions(this.connectivityFilterOptions), this.connectivitiesStore.updateGlobalConnectivities(this.connectivityKnowledge), p.emit("species-layout-connectivity-update");
1605
1621
  },
1606
1622
  knowledgeTooltipQuery: async function(e) {
1607
1623
  await this.flatmapQueries.retrieveFlatmapKnowledgeForEvent(this.flatmapService.mapImp, { resource: [e.id] });
@@ -1611,28 +1627,62 @@ const K = {
1611
1627
  provenanceTaxonomy: e.taxons,
1612
1628
  feature: []
1613
1629
  });
1614
- return n.knowledgeSource = w(this.flatmapService.mapImp), n.mapId = this.flatmapService.mapImp.mapMetadata.id, n.mapuuid = this.flatmapService.mapImp.mapMetadata.uuid, n["nerve-label"] = e["nerve-label"], n.ready = !0, n;
1630
+ return n.knowledgeSource = S(this.flatmapService.mapImp), n.mapId = this.flatmapService.mapImp.mapMetadata.id, n.mapuuid = this.flatmapService.mapImp.mapMetadata.uuid, n["nerve-label"] = e["nerve-label"], n.ready = !0, n;
1615
1631
  },
1616
1632
  getKnowledgeTooltip: async function(e) {
1617
- this.tooltipEntry = [], e.data.forEach((t) => this.tooltipEntry.push({ title: t.label, featureId: [t.id], ready: !1 })), m.emit("connectivity-info-open", this.tooltipEntry);
1633
+ this.tooltipEntry = [], e.data.forEach((t) => this.tooltipEntry.push({ title: t.label, featureId: [t.id], ready: !1 })), p.emit("connectivity-info-open", this.tooltipEntry);
1618
1634
  let n = [];
1619
1635
  for (let t = 0; t < e.data.length; t++)
1620
1636
  n.push(await this.knowledgeTooltipQuery(e.data[t]));
1621
- this.tooltipEntry = await Promise.all(n), this.tooltipEntry.map((t) => t.featureId[0]).length > 0 && m.emit("connectivity-info-open", this.tooltipEntry);
1637
+ this.tooltipEntry = await Promise.all(n), this.tooltipEntry.map((t) => t.featureId[0]).length > 0 && p.emit("connectivity-info-open", this.tooltipEntry);
1622
1638
  },
1623
1639
  changeConnectivitySource: async function(e, n) {
1624
1640
  var l, s;
1625
1641
  const { entry: r, connectivitySource: t } = e, a = (s = (l = this == null ? void 0 : this.flatmapService) == null ? void 0 : l.mapImp) == null ? void 0 : s.mapMetadata.uuid;
1626
- n.includes(a) || (n.push(a), await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, r.featureId[0], t), this.tooltipEntry = this.tooltipEntry.map((i) => i.featureId[0] === r.featureId[0] ? this.flatmapQueries.updateTooltipData(i) : i), m.emit("connectivity-info-open", this.tooltipEntry));
1642
+ n.includes(a) || (n.push(a), await this.flatmapQueries.queryForConnectivityNew(this.flatmapService.mapImp, r.featureId[0], t), this.tooltipEntry = this.tooltipEntry.map((i) => i.featureId[0] === r.featureId[0] ? this.flatmapQueries.updateTooltipData(i) : i), p.emit("connectivity-info-open", this.tooltipEntry));
1627
1643
  },
1628
1644
  trackEvent: function(e) {
1629
- L.sendEvent(e);
1645
+ R.sendEvent(e);
1646
+ },
1647
+ /**
1648
+ * Provides custom tooltip content for FlatmapVuer path features.
1649
+ * Uses connectivity 'long-label' values for IDs starting with 'ilxtr:' or 'ilx:'.
1650
+ * Returns null to use the default tooltip when long labels are disabled or unavailable.
1651
+ */
1652
+ tooltipPathLabelProvider: function(e) {
1653
+ var i, h, o, u, c;
1654
+ if (!(((i = this.showLongLabel) == null ? void 0 : i.value) ?? this.showLongLabel))
1655
+ return null;
1656
+ const r = Array.isArray(e) ? e : [e], t = [], a = (h = r[0]) == null ? void 0 : h.mapUUID, l = a ? (u = (o = this.connectivitiesStore) == null ? void 0 : o.globalConnectivities) == null ? void 0 : u[a] : null, s = r.filter(
1657
+ (v, f, m) => f === m.findIndex((g) => g.id === v.id)
1658
+ );
1659
+ for (const v of s) {
1660
+ const f = v == null ? void 0 : v.id;
1661
+ if (!(!f || !(f.startsWith("ilxtr:") || f.startsWith("ilx:"))) && l) {
1662
+ const m = l.find((d) => d.id === f), g = ((c = this.truncateLongLabel) == null ? void 0 : c.value) ?? this.truncateLongLabel, A = 3, y = [
1663
+ "margin-bottom: 4px"
1664
+ ], O = [
1665
+ "display: -webkit-box",
1666
+ `-webkit-line-clamp: ${A}`,
1667
+ "-webkit-box-orient: vertical",
1668
+ "overflow: hidden"
1669
+ ], N = [
1670
+ ...this.showIdInTooltip ? y : [],
1671
+ ...g ? O : []
1672
+ ].join(";");
1673
+ if (m && m["long-label"]) {
1674
+ let d = [];
1675
+ d.push(`<div style="${N}">${_(m["long-label"])}</div>`), this.showIdInTooltip && d.push(`<span class="id-tag">${f}</span>`), t.push(d.join(""));
1676
+ }
1677
+ }
1678
+ }
1679
+ return t.length > 0 ? `<div class='flatmap-feature-label flatmap-connectivity-label'>${t.join("<hr/>")}</div>` : null;
1630
1680
  }
1631
1681
  },
1632
1682
  data: function() {
1633
1683
  return {
1634
1684
  apiLocation: void 0,
1635
- activeSpecies: P,
1685
+ activeSpecies: $,
1636
1686
  scaffoldCamera: void 0,
1637
1687
  mainStyle: {
1638
1688
  height: this.entry.datasetTitle ? "calc(100% - 30px)" : "100%",
@@ -1671,5 +1721,5 @@ const K = {
1671
1721
  }
1672
1722
  };
1673
1723
  export {
1674
- K as C
1724
+ Q as C
1675
1725
  };
@@ -1,6 +1,6 @@
1
- import { _ as d, q as c, T as h, E as l } from "./index-DqMph8mt.js";
2
- import { C as u } from "./ContentMixin-DTwXABLi.js";
3
- import { D as y } from "./style--VeSAQ5A.js";
1
+ import { _ as d, q as c, T as h, E as l } from "./index-BkejiyeA.js";
2
+ import { C as u } from "./ContentMixin-DyNQa5V5.js";
3
+ import { D as y } from "./style-3VbUVJif.js";
4
4
  import { FlatmapVuer as g } from "@abi-software/flatmapvuer";
5
5
  import { resolveComponent as r, openBlock as p, createElementBlock as M, createVNode as C, createBlock as v, createCommentVNode as I } from "vue";
6
6
  const S = {
@@ -22,7 +22,7 @@ const S = {
22
22
  },
23
23
  /**
24
24
  * Perform a local search on this contentvuer
25
- * This is similar to directly clicking onthe map
25
+ * This is similar to directly clicking on the map
26
26
  */
27
27
  search: function(e) {
28
28
  return this.$refs.flatmap.searchAndShowResult(e, !0, !0);
@@ -184,8 +184,9 @@ function F(e, t, a, n, i, o) {
184
184
  onPathwaySelectionChanged: o.onPathwaySelectionChanged,
185
185
  onMapmanagerLoaded: e.onMapmanagerLoaded,
186
186
  showPathwayFilter: !1,
187
+ tooltipContentProvider: e.tooltipPathLabelProvider,
187
188
  onTrackEvent: e.trackEvent
188
- }, null, 8, ["state", "entry", "mapManager", "onPanZoomCallback", "name", "minZoom", "helpMode", "helpModeActiveItem", "helpModeDialog", "onHelpModeLastItem", "onShownTooltip", "onShownMapTooltip", "onAnnotationOpen", "onAnnotationClose", "onUpdateOfflineAnnotationEnabled", "annotationSidebar", "onConnectivityInfoOpen", "onConnectivityError", "onConnectivityInfoClose", "onNeuronConnectionFeatureClick", "connectivityInfoSidebar", "onContextRestored", "onReady", "displayMinimap", "flatmapAPI", "render", "sparcAPI", "showLocalSettings", "showOpenMapButton", "onOpenMap", "onPathwaySelectionChanged", "onMapmanagerLoaded", "onTrackEvent"]),
189
+ }, null, 8, ["state", "entry", "mapManager", "onPanZoomCallback", "name", "minZoom", "helpMode", "helpModeActiveItem", "helpModeDialog", "onHelpModeLastItem", "onShownTooltip", "onShownMapTooltip", "onAnnotationOpen", "onAnnotationClose", "onUpdateOfflineAnnotationEnabled", "annotationSidebar", "onConnectivityInfoOpen", "onConnectivityError", "onConnectivityInfoClose", "onNeuronConnectionFeatureClick", "connectivityInfoSidebar", "onContextRestored", "onReady", "displayMinimap", "flatmapAPI", "render", "sparcAPI", "showLocalSettings", "showOpenMapButton", "onOpenMap", "onPathwaySelectionChanged", "onMapmanagerLoaded", "tooltipContentProvider", "onTrackEvent"]),
189
190
  e.helpMode && e.useHelpModeDialog ? (p(), v(f, {
190
191
  key: 0,
191
192
  ref: "flatmapHelp",
@@ -196,7 +197,7 @@ function F(e, t, a, n, i, o) {
196
197
  }, null, 8, ["flatmapRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : I("", !0)
197
198
  ]);
198
199
  }
199
- const $ = /* @__PURE__ */ d(S, [["render", F], ["__scopeId", "data-v-cc74172c"]]);
200
+ const T = /* @__PURE__ */ d(S, [["render", F], ["__scopeId", "data-v-2e86ecd7"]]);
200
201
  export {
201
- $ as default
202
+ T as default
202
203
  };
@@ -1,6 +1,6 @@
1
- import { C as r } from "./ContentMixin-DTwXABLi.js";
1
+ import { C as r } from "./ContentMixin-DyNQa5V5.js";
2
2
  import { openBlock as o, createElementBlock as t, createElementVNode as a } from "vue";
3
- import { _ as s } from "./index-DqMph8mt.js";
3
+ import { _ as s } from "./index-BkejiyeA.js";
4
4
  const n = {
5
5
  name: "Iframe",
6
6
  mixins: [r]
@@ -1,7 +1,7 @@
1
- import { _ as c, q as h, E as r, T as l, a as g } from "./index-DqMph8mt.js";
2
- import { C as M } from "./ContentMixin-DTwXABLi.js";
3
- import { D as y } from "./style--VeSAQ5A.js";
4
- import { MultiFlatmapVuer as C } from "@abi-software/flatmapvuer";
1
+ import { _ as c, q as h, E as r, T as l, a as g } from "./index-BkejiyeA.js";
2
+ import { C } from "./ContentMixin-DyNQa5V5.js";
3
+ import { D as M } from "./style-3VbUVJif.js";
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
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) => [
7
7
  {
@@ -22,9 +22,9 @@ const w = '<svg width="72px" height="72px" viewBox="0 0 24 24" fill="yellow"><pa
22
22
  }
23
23
  ], k = {
24
24
  name: "MultiFlatmap",
25
- mixins: [M, y],
25
+ mixins: [C, M],
26
26
  components: {
27
- MultiFlatmapVuer: C,
27
+ MultiFlatmapVuer: y,
28
28
  HelpModeDialog: h
29
29
  },
30
30
  data: function() {
@@ -298,8 +298,9 @@ function R(e, t, a, n, i, o) {
298
298
  onOpenPubmedUrl: o.onOpenPubmedUrl,
299
299
  onMapmanagerLoaded: e.onMapmanagerLoaded,
300
300
  showPathwayFilter: !1,
301
+ tooltipContentProvider: e.tooltipPathLabelProvider,
301
302
  onTrackEvent: e.trackEvent
302
- }, 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"]),
303
+ }, 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", "tooltipContentProvider", "onTrackEvent"]),
303
304
  e.helpMode && e.useHelpModeDialog ? (m(), S(f, {
304
305
  key: 0,
305
306
  ref: "multiflatmapHelp",
@@ -310,7 +311,7 @@ function R(e, t, a, n, i, o) {
310
311
  }, null, 8, ["multiflatmapRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : F("", !0)
311
312
  ]);
312
313
  }
313
- const E = /* @__PURE__ */ c(k, [["render", R], ["__scopeId", "data-v-541f45fa"]]);
314
+ const E = /* @__PURE__ */ c(k, [["render", R], ["__scopeId", "data-v-758ee9d2"]]);
314
315
  export {
315
316
  E as default
316
317
  };
@@ -1,7 +1,7 @@
1
1
  import { PlotVuer as o } from "@abi-software/plotvuer";
2
- import { C as r } from "./ContentMixin-DTwXABLi.js";
2
+ import { C as r } from "./ContentMixin-DyNQa5V5.js";
3
3
  import { resolveComponent as a, openBlock as n, createBlock as s } from "vue";
4
- import { _ as p } from "./index-DqMph8mt.js";
4
+ import { _ as p } from "./index-BkejiyeA.js";
5
5
  const l = {
6
6
  name: "Plot",
7
7
  mixins: [r],
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent as g, openBlock as c, createElementBlock as y, createBlock as m, createCommentVNode as v, markRaw as d } from "vue";
2
- import { _ as w, q as b, E as h, g as S, b as $ } from "./index-DqMph8mt.js";
3
- import { C as M } from "./ContentMixin-DTwXABLi.js";
2
+ import { _ as w, q as b, E as h, g as S, b as $ } from "./index-BkejiyeA.js";
3
+ import { C as M } from "./ContentMixin-DyNQa5V5.js";
4
4
  import { ScaffoldVuer as C } from "@abi-software/scaffoldvuer";
5
5
  const O = {
6
6
  name: "Scaffold",
@@ -1,7 +1,7 @@
1
- import { C as n } from "./ContentMixin-DTwXABLi.js";
1
+ import { C as n } from "./ContentMixin-DyNQa5V5.js";
2
2
  import { SimulationVuer as e } from "@abi-software/simulationvuer";
3
3
  import { resolveComponent as r, openBlock as a, createBlock as c } from "vue";
4
- import { _ as m } from "./index-DqMph8mt.js";
4
+ import { _ as m } from "./index-BkejiyeA.js";
5
5
  const s = {
6
6
  name: "Simulation",
7
7
  mixins: [n],