@abi-software/mapintegratedvuer 1.1.0-beta.5 → 1.1.0
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.
- package/README.md +15 -2
- package/dist/{ContentMixin-C35Jowvp.js → ContentMixin-Belbk7R9.js} +97 -61
- package/dist/Flatmap-BEStr9DR.js +146 -0
- package/dist/{Iframe-fcNscihB.js → Iframe-CNeqS04g.js} +2 -2
- package/dist/{MultiFlatmap-BIT2tVyE.js → MultiFlatmap-CFF8nyw2.js} +81 -64
- package/dist/{Plot-B9xsWP2v.js → Plot-BpS4tvSe.js} +2 -2
- package/dist/{Scaffold-DYoxAJI0.js → Scaffold-BXY9_HO6.js} +10925 -10528
- package/dist/{Simulation-s1KOrb80.js → Simulation-Di2xaBxJ.js} +2 -2
- package/dist/{flatmapvuer-BM5z_95w.js → flatmapvuer-C67b_5lI.js} +11707 -11453
- package/dist/{index-DIFC-Q9x.js → index-CpppckRD.js} +4349 -4325
- package/dist/mapintegratedvuer.js +1 -1
- package/dist/mapintegratedvuer.umd.cjs +479 -479
- package/dist/style-CdEDV2B6.js +62 -0
- package/dist/style.css +1 -1
- package/package.json +7 -4
- package/src/App.vue +10 -1
- package/src/components/FlatmapContextCard.vue +22 -10
- package/src/components/MapContent.vue +20 -2
- package/src/components/SplitDialog.vue +4 -4
- package/src/components/SplitFlow.vue +6 -9
- package/src/components/viewers/Flatmap.vue +23 -5
- package/src/components/viewers/MultiFlatmap.vue +31 -11
- package/src/components/viewers/Scaffold.vue +17 -2
- package/src/components.d.ts +0 -1
- package/src/mixins/ContentMixin.js +72 -3
- package/src/mixins/DynamicMarkerMixin.js +44 -25
- package/src/services/tagging.js +3 -4
- package/src/stores/settings.js +5 -1
- package/src/stores/splitFlow.js +42 -30
- package/dist/Flatmap-9P71mP5D.js +0 -128
- package/dist/style-B-Ps72EF.js +0 -50
package/README.md
CHANGED
@@ -139,12 +139,25 @@ yarn add @<your-npm-handle>/mapintegratedvuer@alpha
|
|
139
139
|
yarn dev
|
140
140
|
```
|
141
141
|
|
142
|
-
## Documentation
|
142
|
+
## API Documentation
|
143
143
|
|
144
|
-
The documentation is developed with `vitepress` and `vuese`.
|
144
|
+
The API documentation is developed with `vitepress` and `vuese`. The API documentation pages are in the `docs` folder.
|
145
145
|
|
146
146
|
### To run in local development mode
|
147
147
|
```bash
|
148
148
|
npm run docs:watch
|
149
149
|
```
|
150
150
|
This will start the documentation server with `vitepress` on port `:5173` and watch the `FlatmapVuer` and `MultiFlatmapVuer` components changes.
|
151
|
+
|
152
|
+
|
153
|
+
## The HelpModeDialog
|
154
|
+
|
155
|
+
The `HelpModeDialog` is used to show help tooltips individually and one by one. This is available on Flatmap, MultiFlatmap, and Scaffold views.
|
156
|
+
To use `HelpModeDialog`, set `useHelpModeDialog` to `true`. The default value is `false`.
|
157
|
+
|
158
|
+
```HTML
|
159
|
+
<MapContent
|
160
|
+
...
|
161
|
+
:useHelpModeDialog="true"
|
162
|
+
/>
|
163
|
+
```
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { u as _, b as y, E as
|
1
|
+
import { u as _, b as y, E as f, T as g } from "./index-CpppckRD.js";
|
2
2
|
import { mapStores as w } from "pinia";
|
3
|
-
const
|
3
|
+
const u = [
|
4
4
|
{
|
5
5
|
id: "ilxtr:neuron-type-keast-13",
|
6
6
|
centrelines: [
|
@@ -204,7 +204,7 @@ const p = [
|
|
204
204
|
]
|
205
205
|
}
|
206
206
|
];
|
207
|
-
function
|
207
|
+
function p(t, a, n, s, i) {
|
208
208
|
let e = {};
|
209
209
|
if (e.dataset = n, e.scaffold = s, e.simulations = i, a ? e.title = a : e.title = t, e.description = "", e.actions = [], t)
|
210
210
|
switch (t) {
|
@@ -300,7 +300,7 @@ function N(t, a, n, s, i) {
|
|
300
300
|
};
|
301
301
|
break;
|
302
302
|
default:
|
303
|
-
e =
|
303
|
+
e = p(t, a, n, s, i);
|
304
304
|
break;
|
305
305
|
}
|
306
306
|
return e;
|
@@ -312,7 +312,7 @@ function E(t, a, n, s, i) {
|
|
312
312
|
switch (t) {
|
313
313
|
case "UBERON:0000948":
|
314
314
|
case "UBERON:0002080":
|
315
|
-
i ? e =
|
315
|
+
i ? e = p(t, a, n, s, i) : (e.title = "Heart", e.description = "", e.actions = {
|
316
316
|
search: {
|
317
317
|
title: "Explore data",
|
318
318
|
label: "Heart",
|
@@ -438,7 +438,7 @@ function E(t, a, n, s, i) {
|
|
438
438
|
};
|
439
439
|
break;
|
440
440
|
default:
|
441
|
-
e =
|
441
|
+
e = p(t, a, n, s, i);
|
442
442
|
break;
|
443
443
|
}
|
444
444
|
return e;
|
@@ -491,7 +491,7 @@ function b(t, a, n, s, i) {
|
|
491
491
|
};
|
492
492
|
break;
|
493
493
|
default:
|
494
|
-
e =
|
494
|
+
e = p(t, a, n, s, i);
|
495
495
|
break;
|
496
496
|
}
|
497
497
|
return e;
|
@@ -549,7 +549,7 @@ function S(t, a, n, s, i) {
|
|
549
549
|
};
|
550
550
|
break;
|
551
551
|
default:
|
552
|
-
e =
|
552
|
+
e = p(t, a, n, s, i);
|
553
553
|
break;
|
554
554
|
}
|
555
555
|
return e;
|
@@ -566,7 +566,7 @@ function k(t, a, n, s, i, e) {
|
|
566
566
|
case "NCBITaxon:10114":
|
567
567
|
return E(t, n, s, i, e);
|
568
568
|
default:
|
569
|
-
return
|
569
|
+
return p(t, a, n, s, i);
|
570
570
|
}
|
571
571
|
}
|
572
572
|
function v() {
|
@@ -580,20 +580,20 @@ function v() {
|
|
580
580
|
{ id: "UBERON:0002107", name: "Liver", type: "simulation" }
|
581
581
|
];
|
582
582
|
}
|
583
|
-
function
|
583
|
+
function R() {
|
584
584
|
return v();
|
585
585
|
}
|
586
586
|
function h(t) {
|
587
587
|
if (t)
|
588
|
-
for (let a = 0; a <
|
589
|
-
if (
|
590
|
-
return
|
591
|
-
if (
|
592
|
-
return [
|
588
|
+
for (let a = 0; a < u.length; a++) {
|
589
|
+
if (u[a].id == t)
|
590
|
+
return u[a].centrelines;
|
591
|
+
if (u[a].centrelines.find((s) => s === t))
|
592
|
+
return [u[a].id];
|
593
593
|
}
|
594
594
|
return [];
|
595
595
|
}
|
596
|
-
function
|
596
|
+
function L(t) {
|
597
597
|
if (t) {
|
598
598
|
const a = t.toLowerCase();
|
599
599
|
if (a.includes("heart"))
|
@@ -608,19 +608,19 @@ function R(t) {
|
|
608
608
|
return { id: "UBERON:0001255", name: "Bladder" };
|
609
609
|
}
|
610
610
|
}
|
611
|
-
function
|
611
|
+
function B(t, a) {
|
612
612
|
if (t && t.resource) {
|
613
613
|
let n = t.resource;
|
614
614
|
Array.isArray(n) && n[0] && (n = n[0]);
|
615
|
-
let s, i, e,
|
616
|
-
if (n.data && n.data.id ? (s = n.data.id, i = n.data.id) : n.feature && (s = n.feature.models, i = n.feature.label, e = n.feature.dataset,
|
617
|
-
let
|
618
|
-
if (
|
619
|
-
return
|
615
|
+
let s, i, e, o, c, d = n.taxonomy;
|
616
|
+
if (n.data && n.data.id ? (s = n.data.id, i = n.data.id) : n.feature && (s = n.feature.models, i = n.feature.label, e = n.feature.dataset, o = n.feature.scaffold, c = n.feature.simulations), s || i) {
|
617
|
+
let l = k(s, d, i, e, o, c);
|
618
|
+
if (l && l.actions)
|
619
|
+
return l.actions[a];
|
620
620
|
}
|
621
621
|
}
|
622
622
|
}
|
623
|
-
let
|
623
|
+
let m = 7, r = 5;
|
624
624
|
const U = [
|
625
625
|
{
|
626
626
|
id: "UBERON:0000948",
|
@@ -796,79 +796,79 @@ const U = [
|
|
796
796
|
{
|
797
797
|
id: "UBERON:0001736",
|
798
798
|
name: "Submandibular gland",
|
799
|
-
showAtZoom:
|
799
|
+
showAtZoom: m,
|
800
800
|
keyword: !0
|
801
801
|
},
|
802
802
|
{
|
803
803
|
id: "UBERON:0001103",
|
804
804
|
name: "Diaphragm",
|
805
|
-
showAtZoom:
|
805
|
+
showAtZoom: r,
|
806
806
|
keyword: !0
|
807
807
|
},
|
808
808
|
{
|
809
809
|
id: "UBERON:0001160",
|
810
810
|
name: "Fundus of stomach",
|
811
|
-
showAtZoom:
|
811
|
+
showAtZoom: r,
|
812
812
|
keyword: !0
|
813
813
|
},
|
814
814
|
{
|
815
815
|
id: "UBERON:0000955",
|
816
816
|
name: "Brain",
|
817
|
-
showAtZoom:
|
817
|
+
showAtZoom: r,
|
818
818
|
keyword: !0
|
819
819
|
},
|
820
820
|
{
|
821
821
|
id: "UBERON:0003708",
|
822
822
|
name: "Carotid sinus",
|
823
|
-
showAtZoom:
|
823
|
+
showAtZoom: m,
|
824
824
|
keyword: !0
|
825
825
|
},
|
826
826
|
{
|
827
827
|
id: "UBERON:0002079",
|
828
828
|
name: "Left cardiac atrium",
|
829
|
-
showAtZoom:
|
829
|
+
showAtZoom: r,
|
830
830
|
keyword: !0
|
831
831
|
},
|
832
832
|
{
|
833
833
|
id: "ILX:0485722",
|
834
834
|
name: "Nodose ganglion",
|
835
|
-
showAtZoom:
|
835
|
+
showAtZoom: m,
|
836
836
|
keyword: !0
|
837
837
|
},
|
838
838
|
{
|
839
839
|
id: "UBERON:0002078",
|
840
840
|
name: "Right cardiac atrium",
|
841
|
-
showAtZoom:
|
841
|
+
showAtZoom: r,
|
842
842
|
keyword: !0
|
843
843
|
},
|
844
844
|
{
|
845
845
|
id: "UBERON:0002084",
|
846
846
|
name: "Heart left ventricle",
|
847
|
-
showAtZoom:
|
847
|
+
showAtZoom: r,
|
848
848
|
keyword: !0
|
849
849
|
},
|
850
850
|
{
|
851
851
|
id: "UBERON:0002080",
|
852
852
|
name: "Heart right ventricle",
|
853
|
-
showAtZoom:
|
853
|
+
showAtZoom: r,
|
854
854
|
keyword: !0
|
855
855
|
},
|
856
856
|
{
|
857
857
|
id: "UBERON:0001508",
|
858
858
|
name: "Arch of Aorta",
|
859
|
-
showAtZoom:
|
859
|
+
showAtZoom: r,
|
860
860
|
keyword: !0
|
861
861
|
},
|
862
862
|
{
|
863
863
|
id: "UBERON:0001738",
|
864
864
|
name: "Thyroid cartilage",
|
865
|
-
showAtZoom:
|
865
|
+
showAtZoom: r,
|
866
866
|
keyword: !0
|
867
867
|
},
|
868
868
|
{
|
869
869
|
id: "UBERON:0000388",
|
870
870
|
name: "Epiglottis",
|
871
|
-
showAtZoom:
|
871
|
+
showAtZoom: r,
|
872
872
|
keyword: !0
|
873
873
|
}
|
874
874
|
];
|
@@ -876,6 +876,7 @@ function A(t) {
|
|
876
876
|
return t[0].toUpperCase() + t.substring(1);
|
877
877
|
}
|
878
878
|
const C = {
|
879
|
+
emits: ["flatmap-provenance-ready", "resource-selected", "species-changed"],
|
879
880
|
props: {
|
880
881
|
/**
|
881
882
|
* Object containing information for
|
@@ -895,12 +896,15 @@ const C = {
|
|
895
896
|
...w(_, y),
|
896
897
|
syncMode() {
|
897
898
|
return this.splitFlowStore.syncMode;
|
899
|
+
},
|
900
|
+
useHelpModeDialog() {
|
901
|
+
return this.settingsStore.useHelpModeDialog;
|
898
902
|
}
|
899
903
|
},
|
900
904
|
mounted: function() {
|
901
|
-
|
905
|
+
f.on("startHelp", () => {
|
902
906
|
this.startHelp();
|
903
|
-
});
|
907
|
+
}), this.multiflatmapRef = this.$refs.multiflatmap, this.flatmapRef = this.$refs.flatmap, this.scaffoldRef = this.$refs.scaffold;
|
904
908
|
},
|
905
909
|
methods: {
|
906
910
|
toggleSyncMode: function() {
|
@@ -908,7 +912,7 @@ const C = {
|
|
908
912
|
getState: function() {
|
909
913
|
},
|
910
914
|
openMap: function(t) {
|
911
|
-
t === "SYNC" ? (this.toggleSyncMode(), this.trackOpenMap("toggle_map_sync_mode")) : (
|
915
|
+
t === "SYNC" ? (this.toggleSyncMode(), this.trackOpenMap("toggle_map_sync_mode")) : (f.emit("OpenNewMap", t), this.trackOpenMap(`open_new_${t}_map`));
|
912
916
|
},
|
913
917
|
trackOpenMap: function(t) {
|
914
918
|
g.sendEvent({
|
@@ -936,11 +940,11 @@ const C = {
|
|
936
940
|
*/
|
937
941
|
resourceSelected: function(t, a, n) {
|
938
942
|
if (this.resourceHasAction(a)) {
|
939
|
-
|
943
|
+
f.emit("PopoverActionClick", a);
|
940
944
|
return;
|
941
945
|
}
|
942
946
|
let s, i = "none", e = !1;
|
943
|
-
const
|
947
|
+
const o = {
|
944
948
|
paneIndex: this.entry.id,
|
945
949
|
type: t,
|
946
950
|
resource: a,
|
@@ -948,10 +952,10 @@ const C = {
|
|
948
952
|
eventType: void 0
|
949
953
|
};
|
950
954
|
if (t == "MultiFlatmap" || t == "Flatmap")
|
951
|
-
if (
|
952
|
-
if (
|
953
|
-
let
|
954
|
-
(
|
955
|
+
if (o.internalName = this.idNamePair[a.feature.models], a.eventType == "click")
|
956
|
+
if (o.eventType = "selected", a.feature.type == "marker") {
|
957
|
+
let c = this.idNamePair[a.feature.models], d = U.filter(
|
958
|
+
(l) => l.id === a.feature.models
|
955
959
|
);
|
956
960
|
this.settingsStore.isFeaturedMarkerIdentifier(
|
957
961
|
a.feature.id
|
@@ -961,27 +965,27 @@ const C = {
|
|
961
965
|
a.feature.id
|
962
966
|
),
|
963
967
|
featuredDataset: !0
|
964
|
-
} : d.filter((
|
968
|
+
} : d.filter((l) => l.keyword).length > 0 ? s = {
|
965
969
|
type: "Search",
|
966
970
|
term: "http://purl.obolibrary.org/obo/" + a.feature.models.replace(":", "_")
|
967
971
|
} : s = {
|
968
972
|
type: "Facet",
|
969
|
-
facet:
|
973
|
+
facet: c,
|
970
974
|
facetPropPath: "anatomy.organ.category.name",
|
971
975
|
term: "Anatomical structure"
|
972
976
|
}, e = !0, t == "MultiFlatmap" && this.$refs.multiflatmap.getCurrentFlatmap().mapImp.clearSearchResults();
|
973
977
|
} else
|
974
978
|
a.feature.type == "feature" && (this.syncMode ? e = !0 : i = "scaffold");
|
975
979
|
else
|
976
|
-
a.eventType == "mouseenter" && (
|
980
|
+
a.eventType == "mouseenter" && (o.eventType = "highlighted", e = !0);
|
977
981
|
else
|
978
|
-
t == "Scaffold" && (a && a[0] && (
|
982
|
+
t == "Scaffold" && (a && a[0] && (o.internalName = a[0].data.id, a[0].data.lastActionOnMarker === !0 && (s = {
|
979
983
|
type: "Facet",
|
980
984
|
facet: A(a[0].data.id),
|
981
985
|
facetPropPath: "anatomy.organ.category.name",
|
982
986
|
term: "Anatomical structure"
|
983
|
-
})),
|
984
|
-
s === void 0 && n && (s =
|
987
|
+
})), o.eventType = "selected", e = !0, i = "search");
|
988
|
+
s === void 0 && n && (s = B(o, i)), s && f.emit("PopoverActionClick", s), e && this.$emit("resource-selected", o);
|
985
989
|
},
|
986
990
|
resourceHasAction: function(t) {
|
987
991
|
return t.type === "URL" || t.type === "Search" || t.type === "Neuron Search" || t.type == "Facet" || t.type == "Facets";
|
@@ -1010,7 +1014,7 @@ const C = {
|
|
1010
1014
|
if (e.length > 0)
|
1011
1015
|
return e;
|
1012
1016
|
}
|
1013
|
-
let i =
|
1017
|
+
let i = L(a);
|
1014
1018
|
if (i)
|
1015
1019
|
return i;
|
1016
1020
|
if (n && t.eventType === "selected")
|
@@ -1045,10 +1049,10 @@ const C = {
|
|
1045
1049
|
}
|
1046
1050
|
let e;
|
1047
1051
|
try {
|
1048
|
-
let
|
1049
|
-
for (; !
|
1050
|
-
const d = n.organisms.subject[
|
1051
|
-
d.species && (e = d.species.name,
|
1052
|
+
let o = 0, c = !1;
|
1053
|
+
for (; !c && o < n.organisms.subject.length; ) {
|
1054
|
+
const d = n.organisms.subject[o];
|
1055
|
+
d.species && (e = d.species.name, c = !0), o += 1;
|
1052
1056
|
}
|
1053
1057
|
} catch {
|
1054
1058
|
e = void 0;
|
@@ -1110,7 +1114,7 @@ const C = {
|
|
1110
1114
|
requestSynchronisedEvent: function() {
|
1111
1115
|
},
|
1112
1116
|
getAvailableTerms: function() {
|
1113
|
-
let t =
|
1117
|
+
let t = R();
|
1114
1118
|
for (let a = 0; a < t.length; a++)
|
1115
1119
|
this.idNamePair[t[a].id] = t[a].name;
|
1116
1120
|
if (this.apiLocation) {
|
@@ -1125,17 +1129,38 @@ const C = {
|
|
1125
1129
|
});
|
1126
1130
|
}
|
1127
1131
|
},
|
1128
|
-
|
1132
|
+
flatmapMarkerZoomUpdate() {
|
1129
1133
|
},
|
1130
1134
|
onResize: function() {
|
1131
1135
|
},
|
1132
1136
|
startHelp: function() {
|
1133
|
-
this.isInHelp === !1 && (this.helpMode = !0, window.addEventListener("mousedown", this.
|
1137
|
+
this.isInHelp === !1 && (this.helpMode = !0, window.addEventListener("mousedown", this.checkEndHelpMouseDown), this.isInHelp = !0);
|
1134
1138
|
},
|
1135
1139
|
endHelp: function() {
|
1136
|
-
window.removeEventListener("mousedown", this.
|
1140
|
+
window.removeEventListener("mousedown", this.checkEndHelpMouseDown), this.helpMode = !1, setTimeout(() => {
|
1137
1141
|
this.isInHelp = !1;
|
1138
1142
|
}, 200);
|
1143
|
+
},
|
1144
|
+
onHelpModeShowNext: function() {
|
1145
|
+
this.helpModeActiveItem += 1;
|
1146
|
+
},
|
1147
|
+
onHelpModeLastItem: function(t) {
|
1148
|
+
t && (this.helpModeLastItem = !0);
|
1149
|
+
},
|
1150
|
+
onFinishHelpMode: function() {
|
1151
|
+
this.helpMode = !1, this.helpModeActiveItem = 0, this.helpModeLastItem = !1;
|
1152
|
+
},
|
1153
|
+
onTooltipShown: function() {
|
1154
|
+
this.$refs.multiflatmap && this.$refs.multiflatmapHelp && this.$refs.multiflatmapHelp.toggleTooltipHighlight(), this.$refs.flatmap && this.$refs.flatmapHelp && this.$refs.flatmapHelp.toggleTooltipHighlight(), this.$refs.scaffold && this.$refs.scaffoldHelp && this.$refs.scaffoldHelp.toggleTooltipHighlight();
|
1155
|
+
},
|
1156
|
+
onMapTooltipShown: function() {
|
1157
|
+
this.$refs.multiflatmap && this.$refs.multiflatmapHelp && this.$refs.multiflatmapHelp.toggleTooltipPinHighlight(), this.$refs.flatmap && this.$refs.flatmapHelp && this.$refs.flatmapHelp.toggleTooltipPinHighlight(), this.$refs.scaffold && this.$refs.scaffoldHelp && this.$refs.scaffoldHelp.toggleTooltipPinHighlight();
|
1158
|
+
},
|
1159
|
+
/**
|
1160
|
+
* End help-mode only if user clicks outside of help mode dialog.
|
1161
|
+
*/
|
1162
|
+
checkEndHelpMouseDown: function(t) {
|
1163
|
+
t.target.closest(".help-mode-dialog") || this.endHelp();
|
1139
1164
|
}
|
1140
1165
|
},
|
1141
1166
|
data: function() {
|
@@ -1149,6 +1174,11 @@ const C = {
|
|
1149
1174
|
bottom: "0px"
|
1150
1175
|
},
|
1151
1176
|
helpMode: !1,
|
1177
|
+
helpModeActiveItem: 0,
|
1178
|
+
helpModeLastItem: !1,
|
1179
|
+
multiflatmapRef: null,
|
1180
|
+
flatmapRef: null,
|
1181
|
+
scaffoldRef: null,
|
1152
1182
|
idNamePair: {},
|
1153
1183
|
scaffoldLoaded: !1,
|
1154
1184
|
isInHelp: !1
|
@@ -1156,8 +1186,14 @@ const C = {
|
|
1156
1186
|
},
|
1157
1187
|
created: function() {
|
1158
1188
|
this.flatmapAPI = void 0, this.apiLocation = void 0, this.settingsStore.flatmapAPI && (this.flatmapAPI = this.settingsStore.flatmapAPI), this.settingsStore.sparcApi && (this.apiLocation = this.settingsStore.sparcApi);
|
1189
|
+
},
|
1190
|
+
watch: {
|
1191
|
+
helpMode: function(t) {
|
1192
|
+
t || (this.helpModeActiveItem = 0);
|
1193
|
+
}
|
1159
1194
|
}
|
1160
1195
|
};
|
1161
1196
|
export {
|
1162
|
-
C
|
1197
|
+
C,
|
1198
|
+
U as m
|
1163
1199
|
};
|
@@ -0,0 +1,146 @@
|
|
1
|
+
import { U as h, B as c } from "./flatmapvuer-C67b_5lI.js";
|
2
|
+
import { _ as u, t as g, T as r, E as s } from "./index-CpppckRD.js";
|
3
|
+
import { C as M } from "./ContentMixin-Belbk7R9.js";
|
4
|
+
import { D as I } from "./style-CdEDV2B6.js";
|
5
|
+
import { resolveComponent as p, openBlock as i, createElementBlock as y, Fragment as v, createVNode as S, createBlock as F, createCommentVNode as w } from "vue";
|
6
|
+
const C = {
|
7
|
+
name: "Flatmap",
|
8
|
+
mixins: [M, I],
|
9
|
+
components: {
|
10
|
+
FlatmapVuer: h,
|
11
|
+
HelpModeDialog: c
|
12
|
+
},
|
13
|
+
methods: {
|
14
|
+
getState: function() {
|
15
|
+
return this.$refs.flatmap.getState();
|
16
|
+
},
|
17
|
+
/**
|
18
|
+
* Perform a local search on this contentvuer
|
19
|
+
*/
|
20
|
+
search: function(e) {
|
21
|
+
return this.$refs.flatmap.searchAndShowResult(e);
|
22
|
+
},
|
23
|
+
getFlatmapImp() {
|
24
|
+
var e;
|
25
|
+
return (e = this.$refs.flatmap) == null ? void 0 : e.mapImp;
|
26
|
+
},
|
27
|
+
flatmaprResourceSelected: function(e, t) {
|
28
|
+
if (this.resourceSelected(
|
29
|
+
e,
|
30
|
+
t,
|
31
|
+
this.$refs.flatmap.viewingMode === "Exploration"
|
32
|
+
), t.eventType === "click" && t.feature.type === "feature") {
|
33
|
+
const o = {
|
34
|
+
label: t.label || "",
|
35
|
+
id: t.feature.id || "",
|
36
|
+
featureId: t.feature.featureId || "",
|
37
|
+
taxonomy: t.taxonomy || "",
|
38
|
+
resources: t.resource.join(", ")
|
39
|
+
}, a = g(o);
|
40
|
+
r.sendEvent({
|
41
|
+
event: "interaction_event",
|
42
|
+
event_name: "portal_maps_connectivity",
|
43
|
+
category: a,
|
44
|
+
location: e + " " + this.$refs.flatmap.viewingMode
|
45
|
+
});
|
46
|
+
}
|
47
|
+
},
|
48
|
+
flatmapReadyCall: function(e) {
|
49
|
+
let t = { id: this.entry.id, prov: this.getFlatmapImp().provenance };
|
50
|
+
s.emit("mapImpProv", t), this.$emit("flatmap-provenance-ready", t), this.getAvailableTerms(), this.entry.resource === "FunctionalConnectivity" && this.flatmapReadyForMarkerUpdates(e);
|
51
|
+
},
|
52
|
+
onPathwaySelectionChanged: function(e) {
|
53
|
+
const { label: t, property: o, checked: a, selectionsTitle: n } = e;
|
54
|
+
r.sendEvent({
|
55
|
+
event: "interaction_event",
|
56
|
+
event_name: "portal_maps_pathway_change",
|
57
|
+
category: t + " [" + o + "] " + a,
|
58
|
+
location: n
|
59
|
+
});
|
60
|
+
},
|
61
|
+
highlightFeatures: function(e) {
|
62
|
+
let t = e.name;
|
63
|
+
const o = this.$refs.flatmap.mapImp;
|
64
|
+
if (t) {
|
65
|
+
const a = o.search(t);
|
66
|
+
a.featureIds[0] && o.highlightFeatures([
|
67
|
+
o.modelForFeature(a.featureIds[0])
|
68
|
+
]);
|
69
|
+
}
|
70
|
+
},
|
71
|
+
/**
|
72
|
+
* Append the list of suggested terms to suggestions
|
73
|
+
*/
|
74
|
+
searchSuggestions: function(e, t) {
|
75
|
+
e && this.$refs.flatmap.mapImp && this.$refs.flatmap.mapImp.search(e).__featureIds.forEach((a) => {
|
76
|
+
const n = this.$refs.flatmap.mapImp.annotation(a);
|
77
|
+
n && n.label && t.push(n.label);
|
78
|
+
});
|
79
|
+
},
|
80
|
+
zoomToFeatures: function(e, t) {
|
81
|
+
let o = e.name;
|
82
|
+
const a = this.$refs.flatmap.mapImp;
|
83
|
+
if (o) {
|
84
|
+
const n = a.search(o);
|
85
|
+
if (n.featureIds.length) {
|
86
|
+
let l = a.modelForFeature(n.featureIds[0]);
|
87
|
+
l ? (t && a.selectFeatures(l), a.zoomToFeatures(l)) : a.clearSearchResults();
|
88
|
+
}
|
89
|
+
} else
|
90
|
+
a.clearSearchResults();
|
91
|
+
}
|
92
|
+
},
|
93
|
+
computed: {
|
94
|
+
facetSpecies() {
|
95
|
+
return this.settingsStore.facets.species;
|
96
|
+
}
|
97
|
+
},
|
98
|
+
mounted: function() {
|
99
|
+
this.getAvailableTerms(), s.on("markerUpdate", () => {
|
100
|
+
this.flatmapMarkerZoomUpdate(!0, void 0);
|
101
|
+
});
|
102
|
+
}
|
103
|
+
};
|
104
|
+
function T(e, t, o, a, n, l) {
|
105
|
+
const m = p("FlatmapVuer"), f = p("HelpModeDialog");
|
106
|
+
return i(), y(v, null, [
|
107
|
+
S(m, {
|
108
|
+
state: e.entry.state,
|
109
|
+
entry: e.entry.resource,
|
110
|
+
onResourceSelected: t[0] || (t[0] = (d) => l.flatmaprResourceSelected(e.entry.type, d)),
|
111
|
+
onPanZoomCallback: e.flatmapPanZoomCallback,
|
112
|
+
name: e.entry.resource,
|
113
|
+
style: { height: "100%", width: "100%" },
|
114
|
+
minZoom: e.entry.minZoom,
|
115
|
+
helpMode: e.helpMode,
|
116
|
+
helpModeActiveItem: e.helpModeActiveItem,
|
117
|
+
helpModeInitialIndex: -1,
|
118
|
+
helpModeDialog: e.useHelpModeDialog,
|
119
|
+
onHelpModeLastItem: e.onHelpModeLastItem,
|
120
|
+
onShownTooltip: e.onTooltipShown,
|
121
|
+
onShownMapTooltip: e.onMapTooltipShown,
|
122
|
+
pathControls: !0,
|
123
|
+
ref: "flatmap",
|
124
|
+
onReady: l.flatmapReadyCall,
|
125
|
+
displayMinimap: !1,
|
126
|
+
displayWarning: !0,
|
127
|
+
enableOpenMapUI: !0,
|
128
|
+
flatmapAPI: e.flatmapAPI,
|
129
|
+
sparcAPI: e.apiLocation,
|
130
|
+
onOpenMap: e.openMap,
|
131
|
+
onPathwaySelectionChanged: l.onPathwaySelectionChanged
|
132
|
+
}, null, 8, ["state", "entry", "onPanZoomCallback", "name", "minZoom", "helpMode", "helpModeActiveItem", "helpModeDialog", "onHelpModeLastItem", "onShownTooltip", "onShownMapTooltip", "onReady", "flatmapAPI", "sparcAPI", "onOpenMap", "onPathwaySelectionChanged"]),
|
133
|
+
e.helpMode && e.useHelpModeDialog ? (i(), F(f, {
|
134
|
+
key: 0,
|
135
|
+
ref: "flatmapHelp",
|
136
|
+
flatmapRef: e.flatmapRef,
|
137
|
+
lastItem: e.helpModeLastItem,
|
138
|
+
onShowNext: e.onHelpModeShowNext,
|
139
|
+
onFinishHelpMode: e.onFinishHelpMode
|
140
|
+
}, null, 8, ["flatmapRef", "lastItem", "onShowNext", "onFinishHelpMode"])) : w("", !0)
|
141
|
+
], 64);
|
142
|
+
}
|
143
|
+
const $ = /* @__PURE__ */ u(C, [["render", T], ["__scopeId", "data-v-7a997b4c"]]);
|
144
|
+
export {
|
145
|
+
$ as default
|
146
|
+
};
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { C as r } from "./ContentMixin-
|
1
|
+
import { C as r } from "./ContentMixin-Belbk7R9.js";
|
2
2
|
import { openBlock as o, createElementBlock as t, createElementVNode as s } from "vue";
|
3
|
-
import { _ as n } from "./index-
|
3
|
+
import { _ as n } from "./index-CpppckRD.js";
|
4
4
|
const a = {
|
5
5
|
name: "Iframe",
|
6
6
|
mixins: [r]
|