@abi-software/flatmapvuer 0.5.7-alpha.2 → 0.5.8
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/CHANGELOG.md +15 -1
- package/dist/flatmapvuer.common.js +156 -90
- package/dist/flatmapvuer.common.js.map +1 -1
- package/dist/flatmapvuer.css +1 -1
- package/dist/flatmapvuer.umd.js +156 -90
- package/dist/flatmapvuer.umd.js.map +1 -1
- package/dist/flatmapvuer.umd.min.js +2 -2
- package/dist/flatmapvuer.umd.min.js.map +1 -1
- package/package-lock.json +23 -14
- package/package.json +2 -2
- package/src/components/FlatmapVuer.vue +5 -1
- package/src/components/MultiFlatmapVuer.vue +18 -12
- package/src/components/Tooltip.vue +87 -57
package/package-lock.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abi-software/flatmapvuer",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
4
4
|
"lockfileVersion": 1,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@abi-software/flatmap-viewer": {
|
|
8
|
-
"version": "2.4.
|
|
9
|
-
"resolved": "https://registry.npmjs.org/@abi-software/flatmap-viewer/-/flatmap-viewer-2.4.
|
|
10
|
-
"integrity": "sha512-
|
|
8
|
+
"version": "2.4.2-b.3",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@abi-software/flatmap-viewer/-/flatmap-viewer-2.4.2-b.3.tgz",
|
|
10
|
+
"integrity": "sha512-M+4XYVawrPphrOCb98eJpx+gV9uZO6Jl0fX/REtbESxl6+OnOtbhWX8ecYS0x/J0vwpqv5iAHx8uOylBUlA7WA==",
|
|
11
11
|
"requires": {
|
|
12
12
|
"@babel/runtime": "^7.10.4",
|
|
13
13
|
"@fortawesome/fontawesome-free": "^6.4.0",
|
|
@@ -1204,9 +1204,9 @@
|
|
|
1204
1204
|
}
|
|
1205
1205
|
},
|
|
1206
1206
|
"@fortawesome/fontawesome-free": {
|
|
1207
|
-
"version": "6.4.
|
|
1208
|
-
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.
|
|
1209
|
-
"integrity": "sha512-
|
|
1207
|
+
"version": "6.4.2",
|
|
1208
|
+
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.2.tgz",
|
|
1209
|
+
"integrity": "sha512-m5cPn3e2+FDCOgi1mz0RexTUvvQibBebOUlUlW0+YrMjDTPkiJ6VTKukA1GRsvRw+12KyJndNjj0O4AgTxm2Pg=="
|
|
1210
1210
|
},
|
|
1211
1211
|
"@hapi/address": {
|
|
1212
1212
|
"version": "2.1.4",
|
|
@@ -1357,9 +1357,9 @@
|
|
|
1357
1357
|
"integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q=="
|
|
1358
1358
|
},
|
|
1359
1359
|
"@maplibre/maplibre-gl-style-spec": {
|
|
1360
|
-
"version": "19.3.
|
|
1361
|
-
"resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.
|
|
1362
|
-
"integrity": "sha512-
|
|
1360
|
+
"version": "19.3.1",
|
|
1361
|
+
"resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.1.tgz",
|
|
1362
|
+
"integrity": "sha512-ss5+b3/a8I1wD5PYmAYPYxg0Nag0cxvw4GGOnQroTP59sobTPI3KeHP9OjUr/es7uNtYEodr54fgoEnCBF6gaQ==",
|
|
1363
1363
|
"requires": {
|
|
1364
1364
|
"@mapbox/jsonlint-lines-primitives": "~2.0.2",
|
|
1365
1365
|
"@mapbox/unitbezier": "^0.0.1",
|
|
@@ -1684,6 +1684,14 @@
|
|
|
1684
1684
|
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
|
|
1685
1685
|
"dev": true
|
|
1686
1686
|
},
|
|
1687
|
+
"@types/supercluster": {
|
|
1688
|
+
"version": "7.1.0",
|
|
1689
|
+
"resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.0.tgz",
|
|
1690
|
+
"integrity": "sha512-6JapQ2GmEkH66r23BK49I+u6zczVDGTtiJEVvKDYZVSm/vepWaJuTq6BXzJ6I4agG5s8vA1KM7m/gXWDg03O4Q==",
|
|
1691
|
+
"requires": {
|
|
1692
|
+
"@types/geojson": "*"
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1687
1695
|
"@types/tapable": {
|
|
1688
1696
|
"version": "1.0.8",
|
|
1689
1697
|
"resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz",
|
|
@@ -8268,9 +8276,9 @@
|
|
|
8268
8276
|
}
|
|
8269
8277
|
},
|
|
8270
8278
|
"maplibre-gl": {
|
|
8271
|
-
"version": "3.
|
|
8272
|
-
"resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.
|
|
8273
|
-
"integrity": "sha512-
|
|
8279
|
+
"version": "3.3.1",
|
|
8280
|
+
"resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.3.1.tgz",
|
|
8281
|
+
"integrity": "sha512-SfRq9bT68GytDzCOG0IoTGg2rASbgdYunW/6xhnp55QuLmwG1M/YOlXxqHaphwia7kZbMvBOocvY0fp5yfTjZA==",
|
|
8274
8282
|
"requires": {
|
|
8275
8283
|
"@mapbox/geojson-rewind": "^0.5.2",
|
|
8276
8284
|
"@mapbox/jsonlint-lines-primitives": "^2.0.2",
|
|
@@ -8279,11 +8287,12 @@
|
|
|
8279
8287
|
"@mapbox/unitbezier": "^0.0.1",
|
|
8280
8288
|
"@mapbox/vector-tile": "^1.3.1",
|
|
8281
8289
|
"@mapbox/whoots-js": "^3.1.0",
|
|
8282
|
-
"@maplibre/maplibre-gl-style-spec": "^19.
|
|
8290
|
+
"@maplibre/maplibre-gl-style-spec": "^19.3.0",
|
|
8283
8291
|
"@types/geojson": "^7946.0.10",
|
|
8284
8292
|
"@types/mapbox__point-geometry": "^0.1.2",
|
|
8285
8293
|
"@types/mapbox__vector-tile": "^1.3.0",
|
|
8286
8294
|
"@types/pbf": "^3.0.2",
|
|
8295
|
+
"@types/supercluster": "^7.1.0",
|
|
8287
8296
|
"earcut": "^2.2.4",
|
|
8288
8297
|
"geojson-vt": "^3.2.1",
|
|
8289
8298
|
"gl-matrix": "^3.4.3",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abi-software/flatmapvuer",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./dist/flatmapvuer.common.js",
|
|
6
6
|
"files": [
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"version": "npm run build-bundle;npm run changelog; git add CHANGELOG.md"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@abi-software/flatmap-viewer": "^2.4.
|
|
30
|
+
"@abi-software/flatmap-viewer": "^2.4.2-b.3",
|
|
31
31
|
"@abi-software/svg-sprite": "^0.3.0",
|
|
32
32
|
"core-js": "^3.3.2",
|
|
33
33
|
"css-element-queries": "^1.2.2",
|
|
@@ -188,7 +188,6 @@
|
|
|
188
188
|
@checkAll="checkAllSystems"
|
|
189
189
|
@change-active="ftuSelected"
|
|
190
190
|
/>
|
|
191
|
-
<!--
|
|
192
191
|
<selections-group
|
|
193
192
|
v-if="!isFC && centreLines && centreLines.length > 0"
|
|
194
193
|
title="Nerves"
|
|
@@ -199,6 +198,7 @@
|
|
|
199
198
|
ref="centrelinesSelection"
|
|
200
199
|
key="centrelinesSelection"
|
|
201
200
|
/>
|
|
201
|
+
<!--
|
|
202
202
|
<selections-group
|
|
203
203
|
v-if="isFC && sckanDisplay && sckanDisplay.length > 0"
|
|
204
204
|
title="SCKAN"
|
|
@@ -848,6 +848,9 @@ export default {
|
|
|
848
848
|
// be loaded, overriding ``taxon`` and ``biologicalSex``.
|
|
849
849
|
|
|
850
850
|
let identifier = { taxon: this.entry };
|
|
851
|
+
if (this.uuid) {
|
|
852
|
+
identifier.uuid = this.uuid;
|
|
853
|
+
}
|
|
851
854
|
//This now handle the uses of uuid when resuming states
|
|
852
855
|
if (state) {
|
|
853
856
|
if (state.uuid) {
|
|
@@ -998,6 +1001,7 @@ export default {
|
|
|
998
1001
|
},
|
|
999
1002
|
props: {
|
|
1000
1003
|
entry: String,
|
|
1004
|
+
uuid: String,
|
|
1001
1005
|
biologicalSex: {
|
|
1002
1006
|
type: String,
|
|
1003
1007
|
default: ""
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
:showLayer="showLayer"
|
|
32
32
|
v-show="activeSpecies==key"
|
|
33
33
|
:entry="item.taxo"
|
|
34
|
+
:uuid="item.uuid"
|
|
34
35
|
:biologicalSex="item.biologicalSex"
|
|
35
36
|
:displayWarning="item.displayWarning"
|
|
36
37
|
:displayLatestChanges="item.displayLatestChanges"
|
|
@@ -110,19 +111,24 @@ export default {
|
|
|
110
111
|
.then(response => response.json())
|
|
111
112
|
.then(data => {
|
|
112
113
|
//Check each key in the provided availableSpecies against the one
|
|
113
|
-
//on the server, add them to the Select if the key is found
|
|
114
114
|
Object.keys(this.availableSpecies).forEach(key => {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
115
|
+
// FIrst look through the uuid
|
|
116
|
+
const uuid = this.availableSpecies[key].uuid;
|
|
117
|
+
if (uuid && data.map(e => e.uuid).indexOf(uuid) > 0) {
|
|
118
|
+
this.$set(this.speciesList, key, this.availableSpecies[key]);
|
|
119
|
+
} else {
|
|
120
|
+
for (let i = 0; i < data.length; i++) {
|
|
121
|
+
if (this.availableSpecies[key].taxo === data[i].taxon) {
|
|
122
|
+
if (this.availableSpecies[key].biologicalSex) {
|
|
123
|
+
if (data[i].biologicalSex &&
|
|
124
|
+
data[i].biologicalSex === this.availableSpecies[key].biologicalSex) {
|
|
125
|
+
this.$set(this.speciesList, key, this.availableSpecies[key]);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
this.$set(this.speciesList, key, this.availableSpecies[key]);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
134
|
}
|
|
@@ -10,69 +10,79 @@
|
|
|
10
10
|
<div class="block" v-else>
|
|
11
11
|
<span class="title">{{entry.featureId}}</span>
|
|
12
12
|
</div>
|
|
13
|
-
<div class="
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<div>
|
|
17
|
-
<span class="attribute-title">Origin</span>
|
|
18
|
-
<el-popover
|
|
19
|
-
width="250"
|
|
20
|
-
trigger="hover"
|
|
21
|
-
:append-to-body=false
|
|
22
|
-
popper-class="popover-origin-help"
|
|
23
|
-
>
|
|
24
|
-
<i slot="reference" class="el-icon-warning-outline info"/>
|
|
25
|
-
<span style="word-break: keep-all;">
|
|
26
|
-
<i>Origin</i> {{originDescription}}
|
|
27
|
-
</span>
|
|
28
|
-
</el-popover>
|
|
29
|
-
</div>
|
|
30
|
-
<div v-for="(origin, i) in entry.origins" class="attribute-content" :key="origin">
|
|
31
|
-
{{ capitalise(origin) }}
|
|
32
|
-
<div v-if="i != entry.origins.length - 1" class="seperator"></div>
|
|
33
|
-
</div>
|
|
34
|
-
<el-button v-show="entry.originsWithDatasets && entry.originsWithDatasets.length > 0" class="button" @click="openDendrites">
|
|
35
|
-
Explore origin data
|
|
36
|
-
</el-button>
|
|
13
|
+
<div v-show="showDetails" class="hide" @click="showDetails = false">
|
|
14
|
+
Hide path information
|
|
15
|
+
<i class="el-icon-arrow-up"></i>
|
|
37
16
|
</div>
|
|
38
|
-
<div v-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
{{ capitalise(component) }}
|
|
42
|
-
<div v-if="i != entry.components.length - 1" class="seperator"></div>
|
|
43
|
-
</div>
|
|
17
|
+
<div v-show="!showDetails" class="hide" @click="showDetails = true">
|
|
18
|
+
Show path information
|
|
19
|
+
<i class="el-icon-arrow-down"></i>
|
|
44
20
|
</div>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
21
|
+
<transition name="slide-fade">
|
|
22
|
+
<div v-show="showDetails" class="content-container scrollbar">
|
|
23
|
+
{{entry.paths}}
|
|
24
|
+
<div v-if="entry.origins && entry.origins.length > 0" class="block">
|
|
25
|
+
<div>
|
|
26
|
+
<span class="attribute-title">Origin</span>
|
|
27
|
+
<el-popover
|
|
28
|
+
width="250"
|
|
29
|
+
trigger="hover"
|
|
30
|
+
:append-to-body=false
|
|
31
|
+
popper-class="popover-origin-help"
|
|
32
|
+
>
|
|
33
|
+
<i slot="reference" class="el-icon-warning-outline info"/>
|
|
34
|
+
<span style="word-break: keep-all;">
|
|
35
|
+
<i>Origin</i> {{originDescription}}
|
|
36
|
+
</span>
|
|
37
|
+
</el-popover>
|
|
38
|
+
</div>
|
|
39
|
+
<div v-for="(origin, i) in entry.origins" class="attribute-content" :key="origin">
|
|
40
|
+
{{ capitalise(origin) }}
|
|
41
|
+
<div v-if="i != entry.origins.length - 1" class="seperator"></div>
|
|
42
|
+
</div>
|
|
43
|
+
<el-button v-show="entry.originsWithDatasets && entry.originsWithDatasets.length > 0" class="button" @click="openDendrites">
|
|
44
|
+
Explore origin data
|
|
45
|
+
</el-button>
|
|
59
46
|
</div>
|
|
60
|
-
<div v-
|
|
61
|
-
|
|
62
|
-
<div v-
|
|
47
|
+
<div v-if="entry.components && entry.components.length > 0" class="block">
|
|
48
|
+
<div class="attribute-title">Components</div>
|
|
49
|
+
<div v-for="(component, i) in entry.components" class="attribute-content" :key="component">
|
|
50
|
+
{{ capitalise(component) }}
|
|
51
|
+
<div v-if="i != entry.components.length - 1" class="seperator"></div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<div v-if="entry.destinations && entry.destinations.length > 0" class="block">
|
|
55
|
+
<div>
|
|
56
|
+
<span class="attribute-title">Destination</span>
|
|
57
|
+
<el-popover
|
|
58
|
+
width="250"
|
|
59
|
+
trigger="hover"
|
|
60
|
+
:append-to-body=false
|
|
61
|
+
popper-class="popover-origin-help"
|
|
62
|
+
>
|
|
63
|
+
<i slot="reference" class="el-icon-warning-outline info"/>
|
|
64
|
+
<span style="word-break: keep-all;">
|
|
65
|
+
<i>Destination</i> is where the axons terminate
|
|
66
|
+
</span>
|
|
67
|
+
</el-popover>
|
|
68
|
+
</div>
|
|
69
|
+
<div v-for="(destination, i) in entry.destinations" class="attribute-content" :key="destination">
|
|
70
|
+
{{ capitalise(destination) }}
|
|
71
|
+
<div v-if="i != entry.destinations.length - 1" class="seperator"></div>
|
|
72
|
+
</div>
|
|
73
|
+
<el-button v-show="entry.destinationsWithDatasets && entry.destinationsWithDatasets.length > 0" class="button" @click="openAxons">
|
|
74
|
+
Explore destination data
|
|
75
|
+
</el-button>
|
|
63
76
|
</div>
|
|
64
|
-
<el-button v-show="entry.destinationsWithDatasets && entry.destinationsWithDatasets.length > 0" class="button" @click="openAxons">
|
|
65
|
-
Explore destination data
|
|
66
|
-
</el-button>
|
|
67
|
-
</div>
|
|
68
77
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
<el-button v-show="entry.componentsWithDatasets && entry.componentsWithDatasets.length > 0" class="button" @click="openAll">
|
|
79
|
+
Search for data on components
|
|
80
|
+
</el-button>
|
|
72
81
|
|
|
73
|
-
|
|
82
|
+
<external-resource-card :resources="resources"></external-resource-card>
|
|
74
83
|
|
|
75
|
-
|
|
84
|
+
</div>
|
|
85
|
+
</transition>
|
|
76
86
|
</el-main>
|
|
77
87
|
</div>
|
|
78
88
|
</template>
|
|
@@ -139,6 +149,7 @@ export default {
|
|
|
139
149
|
pubmedSearchUrl: '',
|
|
140
150
|
loading: false,
|
|
141
151
|
showToolip: false,
|
|
152
|
+
showDetails: false,
|
|
142
153
|
originDescriptions: {
|
|
143
154
|
'motor': 'is the location of the initial cell body of the circuit',
|
|
144
155
|
'sensory': 'is the location of the initial cell body in the PNS circuit'
|
|
@@ -236,7 +247,7 @@ export default {
|
|
|
236
247
|
}
|
|
237
248
|
|
|
238
249
|
.block {
|
|
239
|
-
margin-bottom:
|
|
250
|
+
margin-bottom: 0.5em;
|
|
240
251
|
}
|
|
241
252
|
|
|
242
253
|
.pub {
|
|
@@ -269,6 +280,24 @@ export default {
|
|
|
269
280
|
background-color:#bfbec2;
|
|
270
281
|
}
|
|
271
282
|
|
|
283
|
+
.hide{
|
|
284
|
+
color: $app-primary-color;
|
|
285
|
+
cursor: pointer;
|
|
286
|
+
margin-right: 6px;
|
|
287
|
+
margin-top: 3px;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.slide-fade-enter-active {
|
|
291
|
+
transition: opacity 0.5s, transform 0.5s;
|
|
292
|
+
}
|
|
293
|
+
.slide-fade-leave-active {
|
|
294
|
+
transition: opacity 0.2s, transform 0.2s;
|
|
295
|
+
}
|
|
296
|
+
.slide-fade-enter, .slide-fade-leave-to /* .slide-fade-leave-active in <2.1.8 */ {
|
|
297
|
+
opacity: 0;
|
|
298
|
+
transform: translateY(-8px);
|
|
299
|
+
}
|
|
300
|
+
|
|
272
301
|
.main {
|
|
273
302
|
font-size: 14px;
|
|
274
303
|
text-align: left;
|
|
@@ -279,6 +308,7 @@ export default {
|
|
|
279
308
|
padding: 1em !important;
|
|
280
309
|
overflow: hidden;
|
|
281
310
|
min-width: 16rem;
|
|
311
|
+
|
|
282
312
|
}
|
|
283
313
|
|
|
284
314
|
.title{
|