@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/package-lock.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@abi-software/flatmapvuer",
3
- "version": "0.5.6",
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.1-b.5",
9
- "resolved": "https://registry.npmjs.org/@abi-software/flatmap-viewer/-/flatmap-viewer-2.4.1-b.5.tgz",
10
- "integrity": "sha512-ScVaE0s7FB0dInpQ2FLC0eJ9tY1GGGu4aAY2oogQveC6+yfCmBPl5d6BXRuqtxfrlNSQyHRM14BRmE0B0OcjHg==",
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.0",
1208
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.4.0.tgz",
1209
- "integrity": "sha512-0NyytTlPJwB/BF5LtRV8rrABDbe3TdTXqNB3PdZ+UUUZAEIrdOJdmABqKjt4AXwIoJNaRVVZEXxpNrqvE1GAYQ=="
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.0",
1361
- "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.0.tgz",
1362
- "integrity": "sha512-ZbhX9CTV+Z7vHwkRIasDOwTSzr76e8Q6a55RMsAibjyX6+P0ZNL1qAKNzOjjBDP3+aEfNMl7hHo5knuY6pTAUQ==",
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.2.0",
8272
- "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.2.0.tgz",
8273
- "integrity": "sha512-TOo/cV9r8Xy3ngbJtY6JUC7rpjpObrsdO5pt14l5OIw4gY1v5XnxWP16VDSe0zRoncFfDCEBDmRwhfEFwtlbvw==",
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.2.1",
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.7-alpha.2",
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.1-b.5",
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
- for (let i = 0; i < data.length; i++) {
116
- if (this.availableSpecies[key].taxo === data[i].taxon) {
117
- if (this.availableSpecies[key].biologicalSex) {
118
- if (data[i].biologicalSex &&
119
- data[i].biologicalSex === this.availableSpecies[key].biologicalSex) {
120
- this.$set(this.speciesList, key, this.availableSpecies[key]);
121
- break;
122
- }
123
- } else {
124
- this.$set(this.speciesList, key, this.availableSpecies[key]);
125
- break;
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="content-container scrollbar">
14
- {{entry.paths}}
15
- <div v-if="entry.origins && entry.origins.length > 0" class="block">
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-if="entry.components && entry.components.length > 0" class="block">
39
- <div class="attribute-title">Components</div>
40
- <div v-for="(component, i) in entry.components" class="attribute-content" :key="component">
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
- <div v-if="entry.destinations && entry.destinations.length > 0" class="block">
46
- <div>
47
- <span class="attribute-title">Destination</span>
48
- <el-popover
49
- width="250"
50
- trigger="hover"
51
- :append-to-body=false
52
- popper-class="popover-origin-help"
53
- >
54
- <i slot="reference" class="el-icon-warning-outline info"/>
55
- <span style="word-break: keep-all;">
56
- <i>Destination</i> is where the axons terminate
57
- </span>
58
- </el-popover>
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-for="(destination, i) in entry.destinations" class="attribute-content" :key="destination">
61
- {{ capitalise(destination) }}
62
- <div v-if="i != entry.destinations.length - 1" class="seperator"></div>
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
- <el-button v-show="entry.componentsWithDatasets && entry.componentsWithDatasets.length > 0" class="button" @click="openAll">
70
- Search for data on components
71
- </el-button>
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
- <external-resource-card :resources="resources"></external-resource-card>
82
+ <external-resource-card :resources="resources"></external-resource-card>
74
83
 
75
- </div>
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: 1.5em;
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{