@abi-software/mapintegratedvuer 1.7.2 → 1.8.0-isan.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.
- package/dist/ContentMixin-CthZZNjI.js +706 -0
- package/dist/{Flatmap-fO2lvKFX.js → Flatmap-Bi9esI2v.js} +24 -19
- package/dist/{Iframe-C8wxLuOy.js → Iframe-bsYxppii.js} +2 -2
- package/dist/{MultiFlatmap-Dijv5l_F.js → MultiFlatmap-BWFsdMgS.js} +49 -35
- package/dist/{Plot-iXTevaO7.js → Plot-gX8radCI.js} +2 -2
- package/dist/{Scaffold-_QafxYws.js → Scaffold-Dn3GeNi0.js} +10241 -10168
- package/dist/Simulation-Zgs0MXh1.js +30 -0
- package/dist/{index-DcTjoXV1.js → index-DFkMrKek.js} +22249 -19928
- package/dist/mapintegratedvuer.js +1 -1
- package/dist/mapintegratedvuer.umd.cjs +1667 -1009
- package/dist/{style-C2GyLbPa.js → style-DlUxkFU-.js} +75606 -75481
- package/dist/style.css +1 -1
- package/package.json +8 -7
- package/src/App.vue +39 -18
- package/src/assets/header-icon.scss +7 -0
- package/src/components/ContentBar.vue +5 -1
- package/src/components/DialogToolbarContent.vue +91 -6
- package/src/components/FlatmapContextCard.vue +11 -8
- package/src/components/MapContent.vue +62 -46
- package/src/components/SplitFlow.vue +188 -112
- package/src/components/scripts/utilities.js +1 -1
- package/src/components/viewers/Flatmap.vue +12 -7
- package/src/components/viewers/MultiFlatmap.vue +34 -7
- package/src/components/viewers/Scaffold.vue +2 -2
- package/src/components/viewers/Simulation.vue +19 -1
- package/src/components.d.ts +4 -0
- package/src/mixins/ContentMixin.js +155 -47
- package/src/mixins/DynamicMarkerMixin.js +3 -1
- package/src/stores/settings.js +31 -5
- package/dist/ContentMixin-CdE8AlUJ.js +0 -339
- package/dist/Simulation-CJ-9g74P.js +0 -22
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@abi-software/mapintegratedvuer",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.8.0-isan.1",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"scripts": {
|
6
6
|
"serve": "vite --host --force",
|
@@ -50,12 +50,12 @@
|
|
50
50
|
"*.js"
|
51
51
|
],
|
52
52
|
"dependencies": {
|
53
|
-
"@abi-software/flatmapvuer": "1.
|
54
|
-
"@abi-software/map-side-bar": "2.
|
55
|
-
"@abi-software/map-utilities": "1.3.
|
53
|
+
"@abi-software/flatmapvuer": "^1.8.2-isan.6",
|
54
|
+
"@abi-software/map-side-bar": "^2.7.2-isan.7",
|
55
|
+
"@abi-software/map-utilities": "^1.4.3-isan.1",
|
56
56
|
"@abi-software/plotvuer": "^1.0.3",
|
57
|
-
"@abi-software/scaffoldvuer": "1.
|
58
|
-
"@abi-software/simulationvuer": "
|
57
|
+
"@abi-software/scaffoldvuer": "^1.8.1-isan.0",
|
58
|
+
"@abi-software/simulationvuer": "2.0.9",
|
59
59
|
"@abi-software/sparc-annotation": "0.3.2",
|
60
60
|
"@abi-software/svg-sprite": "^1.0.1",
|
61
61
|
"@element-plus/icons-vue": "^2.3.1",
|
@@ -128,7 +128,8 @@
|
|
128
128
|
]
|
129
129
|
},
|
130
130
|
"overrides": {
|
131
|
-
"@abi-software/flatmapvuer": "$@abi-software/flatmapvuer"
|
131
|
+
"@abi-software/flatmapvuer": "$@abi-software/flatmapvuer",
|
132
|
+
"@abi-software/map-utilities": "$@abi-software/map-utilities"
|
132
133
|
},
|
133
134
|
"browserslist": [
|
134
135
|
"> 1%",
|
package/src/App.vue
CHANGED
@@ -11,18 +11,19 @@
|
|
11
11
|
:teleported=false
|
12
12
|
>
|
13
13
|
<div class="options-container">
|
14
|
-
<
|
14
|
+
<div class="row">
|
15
15
|
<el-button @click="saveSettings()" size="small">Save Settings</el-button>
|
16
16
|
<el-button @click="restoreSettings()" size="small">Restore Settings</el-button>
|
17
17
|
<el-button @click="getShareableURL()" size="small">Get Link</el-button>
|
18
|
-
</
|
19
|
-
<
|
18
|
+
</div>
|
19
|
+
<div class="row">
|
20
20
|
<el-button @click="setMultiFlatmap()" size="small">Set MultiFlatmap</el-button>
|
21
21
|
<el-button @click="setLegacyMultiFlatmap()" size="small">Set Legacy MultiFlatmap</el-button>
|
22
22
|
<el-button @click="setScaffold()" size="small">Set To Scaffold</el-button>
|
23
|
+
<el-button @click="setWholebody()" size="small">Set to Wholebody</el-button>
|
23
24
|
<el-button @click="setFlatmap()" size="small">Set Flatmap</el-button>
|
24
25
|
<el-button @click="setSearch()" size="small">Set Search</el-button>
|
25
|
-
</
|
26
|
+
</div>
|
26
27
|
</div>
|
27
28
|
<template #reference>
|
28
29
|
|
@@ -77,13 +78,13 @@ export default {
|
|
77
78
|
api: import.meta.env.VITE_API_LOCATION,
|
78
79
|
mapSettings: [],
|
79
80
|
startingMap: "AC",
|
80
|
-
ElIconSetting: shallowRef(ElIconSetting)
|
81
|
+
ElIconSetting: shallowRef(ElIconSetting),
|
81
82
|
}
|
82
83
|
},
|
83
84
|
computed: {
|
84
85
|
shareLink: function() {
|
85
86
|
if (this.uuid)
|
86
|
-
return this.prefix +"
|
87
|
+
return this.prefix +"#/?id=" + this.uuid;
|
87
88
|
return this.prefix;
|
88
89
|
},
|
89
90
|
options: function() {
|
@@ -96,7 +97,7 @@ export default {
|
|
96
97
|
flatmapAPI: import.meta.env.VITE_FLATMAPAPI_LOCATION,
|
97
98
|
nlLinkPrefix: import.meta.env.VITE_NL_LINK_PREFIX,
|
98
99
|
rootUrl: import.meta.env.VITE_ROOT_URL,
|
99
|
-
|
100
|
+
pmrHost: import.meta.env.VITE_PMR_HOST,
|
100
101
|
}
|
101
102
|
}
|
102
103
|
},
|
@@ -166,11 +167,21 @@ export default {
|
|
166
167
|
}
|
167
168
|
);
|
168
169
|
},
|
170
|
+
setWholebody: function() {
|
171
|
+
this.$refs.map.setCurrentEntry(
|
172
|
+
{
|
173
|
+
type: "Scaffold",
|
174
|
+
label: "Human",
|
175
|
+
isBodyScaffold: true
|
176
|
+
}
|
177
|
+
);
|
178
|
+
},
|
169
179
|
setSearch: function() {
|
170
180
|
this.$refs.map.openSearch([], "10.26275/1uno-tynt");
|
171
181
|
},
|
172
182
|
mapIsLoaded: function(map) {
|
173
|
-
|
183
|
+
//if (!this.uuid) this.setFlatmap();
|
184
|
+
console.log("map is loaded")
|
174
185
|
// map.changeViewingMode('Annotation')
|
175
186
|
},
|
176
187
|
viewerIsReady: function() {
|
@@ -206,11 +217,15 @@ export default {
|
|
206
217
|
</script>
|
207
218
|
|
208
219
|
<style lang="scss">
|
220
|
+
$button-container-size: 50px;
|
221
|
+
$gap: 24px;
|
222
|
+
|
209
223
|
#app {
|
210
224
|
height:100%;
|
211
225
|
width: 100%;
|
212
226
|
position:absolute;
|
213
227
|
font-family: "Asap",sans-serif;
|
228
|
+
background-color: #f5f7fa;
|
214
229
|
--el-color-primary: #8300BF;
|
215
230
|
--el-color-primary-light-7: #dab3ec;
|
216
231
|
--el-color-primary-light-8: #e6ccf2;
|
@@ -222,14 +237,13 @@ body {
|
|
222
237
|
}
|
223
238
|
|
224
239
|
.map-app {
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
margin-top:20px;
|
229
|
-
margin-left:26px;
|
230
|
-
margin-right:26px;
|
240
|
+
margin: 0 auto;
|
241
|
+
width: calc(100% - #{$gap * 2});
|
242
|
+
height: calc(100% - #{$button-container-size + $gap});
|
231
243
|
border: solid 1px #dcdfe6;
|
232
244
|
box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.06);
|
245
|
+
box-sizing: border-box;
|
246
|
+
position: relative;
|
233
247
|
}
|
234
248
|
|
235
249
|
.popover{
|
@@ -240,9 +254,16 @@ body {
|
|
240
254
|
}
|
241
255
|
|
242
256
|
.row {
|
243
|
-
|
244
|
-
|
245
|
-
|
257
|
+
display: flex;
|
258
|
+
flex-wrap: wrap;
|
259
|
+
gap: 12px;
|
260
|
+
|
261
|
+
+ .row {
|
262
|
+
margin-top: 12px;
|
263
|
+
}
|
264
|
+
|
265
|
+
.el-button + .el-button {
|
266
|
+
margin: 0;
|
246
267
|
}
|
247
268
|
}
|
248
269
|
|
@@ -250,7 +271,7 @@ body {
|
|
250
271
|
display: flex;
|
251
272
|
align-items: center;
|
252
273
|
justify-content: center;
|
253
|
-
height:
|
274
|
+
height: $button-container-size;
|
254
275
|
}
|
255
276
|
|
256
277
|
|
@@ -189,12 +189,17 @@ export default {
|
|
189
189
|
EventBus.emit("RemoveEntryRequest", this.entry.id);
|
190
190
|
},
|
191
191
|
getEntryTitle: function(entry) {
|
192
|
+
console.log(entry)
|
192
193
|
if (entry) {
|
193
194
|
let title = entry.label ? entry.label + " ": '';
|
194
195
|
let type = entry.type;
|
195
196
|
if (type == "Scaffold")
|
196
197
|
type = "3D Scaffold";
|
197
198
|
title += type;
|
199
|
+
if (type == "Flatmap") {
|
200
|
+
title += " - " + entry.resource;
|
201
|
+
}
|
202
|
+
|
198
203
|
if (entry.datasetId)
|
199
204
|
title += " - " + entry.datasetId + "";
|
200
205
|
else if (entry.discoverId)
|
@@ -240,7 +245,6 @@ export default {
|
|
240
245
|
target: value
|
241
246
|
});
|
242
247
|
this.$nextTick(() => {
|
243
|
-
EventBus.emit('connectivity-info-close');
|
244
248
|
setTimeout(() => {
|
245
249
|
this.$emit("chooser-changed");
|
246
250
|
}, 1200);
|
@@ -156,7 +156,60 @@
|
|
156
156
|
<map-svg-icon icon="close" class="header-icon" @click="close" v-show="showIcons"/>
|
157
157
|
</template>
|
158
158
|
</el-popover>
|
159
|
-
|
159
|
+
<el-popover
|
160
|
+
v-if="globalSettingRef"
|
161
|
+
:virtual-ref="globalSettingRef"
|
162
|
+
ref="settingPopover"
|
163
|
+
placement="bottom"
|
164
|
+
width="133"
|
165
|
+
:teleported=false
|
166
|
+
trigger="click"
|
167
|
+
popper-class="setting-popover"
|
168
|
+
virtual-triggering
|
169
|
+
>
|
170
|
+
<el-row :gutter="20">
|
171
|
+
<el-col :span="20">
|
172
|
+
<el-checkbox
|
173
|
+
v-model="globalSettings.displayMarkers"
|
174
|
+
@change="updateGlobalSettings"
|
175
|
+
>
|
176
|
+
Display Map Markers
|
177
|
+
</el-checkbox>
|
178
|
+
<p>Card Hover</p>
|
179
|
+
<el-checkbox
|
180
|
+
v-model="globalSettings.highlightConnectedPaths"
|
181
|
+
@change="updateGlobalSettings"
|
182
|
+
>
|
183
|
+
Highlight Connected Paths
|
184
|
+
</el-checkbox>
|
185
|
+
<el-checkbox
|
186
|
+
v-model="globalSettings.highlightDOIPaths"
|
187
|
+
@change="updateGlobalSettings"
|
188
|
+
>
|
189
|
+
Highlight DOI Paths
|
190
|
+
</el-checkbox>
|
191
|
+
<p>Interactive Mode</p>
|
192
|
+
<el-radio-group
|
193
|
+
v-model="globalSettings.interactiveMode"
|
194
|
+
@change="updateGlobalSettings"
|
195
|
+
>
|
196
|
+
<el-radio value="dataset">Dataset Exploration</el-radio>
|
197
|
+
<el-radio value="connectivity">Connectivity Exploration</el-radio>
|
198
|
+
<!-- <el-radio value="multiscale">Multiscale Model</el-radio> -->
|
199
|
+
</el-radio-group>
|
200
|
+
</el-col>
|
201
|
+
</el-row>
|
202
|
+
</el-popover>
|
203
|
+
<el-popover class="tooltip" content="Global Settings" placement="bottom-end"
|
204
|
+
:show-after="helpDelay" :teleported=false trigger="hover"
|
205
|
+
popper-class="header-popper"
|
206
|
+
>
|
207
|
+
<template #reference>
|
208
|
+
<el-icon class="header-icon" ref="globalSettingRef">
|
209
|
+
<el-icon-more-filled />
|
210
|
+
</el-icon>
|
211
|
+
</template>
|
212
|
+
</el-popover>
|
160
213
|
</el-row>
|
161
214
|
</div>
|
162
215
|
</template>
|
@@ -174,6 +227,7 @@ import { MapSvgIcon, MapSvgSpriteColor } from '@abi-software/svg-sprite';
|
|
174
227
|
import SearchControls from './SearchControls.vue';
|
175
228
|
import {
|
176
229
|
CopyDocument as ElIconCopyDocument,
|
230
|
+
MoreFilled as ElIconMoreFilled,
|
177
231
|
} from '@element-plus/icons-vue';
|
178
232
|
import {
|
179
233
|
ElButton as Button,
|
@@ -181,6 +235,8 @@ import {
|
|
181
235
|
ElIcon as Icon,
|
182
236
|
ElInput as Input,
|
183
237
|
ElPopover as Popover,
|
238
|
+
ElRadio as Radio,
|
239
|
+
ElRadioGroup as RadioGroup,
|
184
240
|
ElRow as Row,
|
185
241
|
ElSwitch as Switch,
|
186
242
|
} from "element-plus";
|
@@ -196,6 +252,8 @@ export default {
|
|
196
252
|
Icon,
|
197
253
|
Input,
|
198
254
|
Popover,
|
255
|
+
Radio,
|
256
|
+
RadioGroup,
|
199
257
|
Row,
|
200
258
|
Switch,
|
201
259
|
MapSvgIcon,
|
@@ -254,7 +312,7 @@ export default {
|
|
254
312
|
let flag = !(value === true);
|
255
313
|
if (flag !== this.independent)
|
256
314
|
this.independent = flag;
|
257
|
-
}
|
315
|
+
},
|
258
316
|
},
|
259
317
|
data: function() {
|
260
318
|
return {
|
@@ -265,10 +323,30 @@ export default {
|
|
265
323
|
failedSearch: undefined,
|
266
324
|
activeViewRef: undefined,
|
267
325
|
permalinkRef: undefined,
|
268
|
-
|
326
|
+
globalSettingRef: undefined,
|
327
|
+
ElIconCopyDocument: shallowRef(ElIconCopyDocument),
|
328
|
+
globalSettings: {},
|
269
329
|
}
|
270
330
|
},
|
271
331
|
methods: {
|
332
|
+
loadGlobalSettings: function () {
|
333
|
+
this.globalSettings = {
|
334
|
+
...this.globalSettings,
|
335
|
+
...this.settingsStore.globalSettings
|
336
|
+
};
|
337
|
+
},
|
338
|
+
updateGlobalSettings: function() {
|
339
|
+
const updatedSettings = this.settingsStore.getUpdatedGlobalSettingsKey(this.globalSettings);
|
340
|
+
this.settingsStore.updateGlobalSettings(this.globalSettings);
|
341
|
+
|
342
|
+
// display marker update
|
343
|
+
if (updatedSettings.includes('displayMarkers')) {
|
344
|
+
EventBus.emit('markerUpdate');
|
345
|
+
}
|
346
|
+
if (updatedSettings.includes('interactiveMode')) {
|
347
|
+
EventBus.emit('modeUpdate', this.globalSettings.interactiveMode);
|
348
|
+
}
|
349
|
+
},
|
272
350
|
titleClicked: function(id) {
|
273
351
|
this.$emit("titleClicked", id);
|
274
352
|
},
|
@@ -315,8 +393,11 @@ export default {
|
|
315
393
|
mounted: function () {
|
316
394
|
this.activeViewRef = shallowRef(this.$refs.activeViewRef);
|
317
395
|
this.permalinkRef = shallowRef(this.$refs.permalinkRef);
|
396
|
+
this.globalSettingRef = shallowRef(this.$refs.globalSettingRef);
|
318
397
|
|
319
398
|
document.addEventListener('fullscreenchange', this.onFullscreenEsc);
|
399
|
+
|
400
|
+
this.loadGlobalSettings();
|
320
401
|
},
|
321
402
|
unmounted: function () {
|
322
403
|
document.removeEventListener('fullscreenchange', this.onFullscreenEsc);
|
@@ -431,7 +512,8 @@ export default {
|
|
431
512
|
padding-top:7px;
|
432
513
|
}
|
433
514
|
|
434
|
-
:deep(.view-icon-popover.el-popper)
|
515
|
+
:deep(.view-icon-popover.el-popper),
|
516
|
+
:deep(.setting-popover.el-popper ) {
|
435
517
|
border: 1px solid $app-primary-color;
|
436
518
|
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);
|
437
519
|
padding: 4px 8px 12px 8px;
|
@@ -452,6 +534,9 @@ export default {
|
|
452
534
|
top:2px;
|
453
535
|
left: calc(50% - 60px);
|
454
536
|
position: absolute;
|
537
|
+
display: flex;
|
538
|
+
align-items: center;
|
539
|
+
|
455
540
|
.sync-help {
|
456
541
|
left:5px;
|
457
542
|
stroke: $app-primary-color;
|
@@ -465,6 +550,7 @@ export default {
|
|
465
550
|
border: 1px solid rgb(220, 223, 230);
|
466
551
|
vertical-align: super;
|
467
552
|
height: 28px;
|
553
|
+
box-sizing: border-box;
|
468
554
|
}
|
469
555
|
|
470
556
|
.sync-help {
|
@@ -475,5 +561,4 @@ export default {
|
|
475
561
|
top: 0px;
|
476
562
|
scale: 0.7;
|
477
563
|
}
|
478
|
-
|
479
|
-
</style>
|
564
|
+
</style>
|
@@ -65,15 +65,17 @@ export default {
|
|
65
65
|
sckanReleaseDisplay: function() {
|
66
66
|
let sckanRelease = "Unknown"
|
67
67
|
if(this.mapImpProv){
|
68
|
-
sckanRelease = this.mapImpProv.connectivity?.npo
|
68
|
+
sckanRelease = this.mapImpProv.connectivity?.npo?.date
|
69
69
|
if (!sckanRelease) {
|
70
70
|
let sckanCreated = this.mapImpProv.sckan?.created ? this.mapImpProv.sckan.created : this.mapImpProv.sckan
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
71
|
+
if (sckanCreated) {
|
72
|
+
let isoTime = sckanCreated.replace(',', '.') // Date time does not accept commas but Sckan uses them
|
73
|
+
sckanRelease = new Date(isoTime).toLocaleDateString('en-US', {
|
74
|
+
day: '2-digit',
|
75
|
+
month: 'long',
|
76
|
+
year: 'numeric',
|
77
|
+
})
|
78
|
+
}
|
77
79
|
}
|
78
80
|
if (!sckanRelease) {
|
79
81
|
sckanRelease = "Unknown";
|
@@ -84,7 +86,8 @@ export default {
|
|
84
86
|
sckanReleaseLink: function() {
|
85
87
|
let sckanLink = "Unknown"
|
86
88
|
if(this.mapImpProv){
|
87
|
-
|
89
|
+
console.log(this.mapImpProv.connectivity)
|
90
|
+
sckanLink = this.mapImpProv.connectivity?.npo?.path
|
88
91
|
if (!sckanLink) {
|
89
92
|
sckanLink = this.mapImpProv.sckan?.release
|
90
93
|
}
|
@@ -27,7 +27,7 @@ import { useSettingsStore } from '../stores/settings';
|
|
27
27
|
import { useSplitFlowStore } from '../stores/splitFlow';
|
28
28
|
import { findSpeciesKey } from './scripts/utilities.js';
|
29
29
|
import { MapSvgSpriteColor} from '@abi-software/svg-sprite';
|
30
|
-
import { initialState } from "./scripts/utilities.js";
|
30
|
+
import { initialState, getBodyScaffoldInfo } from "./scripts/utilities.js";
|
31
31
|
import RetrieveContextCardMixin from "../mixins/RetrieveContextCardMixin.js"
|
32
32
|
import {
|
33
33
|
ElLoading as Loading
|
@@ -201,7 +201,7 @@ export default {
|
|
201
201
|
*/
|
202
202
|
setCurrentEntry: async function(state) {
|
203
203
|
if (state && state.type) {
|
204
|
-
if (state.type === "Scaffold" && state.url) {
|
204
|
+
if (state.type === "Scaffold" && (state.url || state.isBodyScaffold)) {
|
205
205
|
//State for scaffold containing the following items:
|
206
206
|
// label - Setting the name of the dialog
|
207
207
|
// region - Which region/group currently focusing on
|
@@ -216,55 +216,71 @@ export default {
|
|
216
216
|
state: state.state,
|
217
217
|
viewUrl: state.viewUrl
|
218
218
|
};
|
219
|
-
|
220
|
-
|
221
|
-
|
219
|
+
if (state.isBodyScaffold) {
|
220
|
+
const data = await getBodyScaffoldInfo(this.options.sparcApi, state.label);
|
221
|
+
newView = { ...newView, ...data.datasetInfo, resource: data.url };
|
222
|
+
} else {
|
223
|
+
// Add content from scicrunch for the context card
|
224
|
+
const contextCardInfo = await this.retrieveContextCardFromUrl(state.url);
|
225
|
+
newView = { ...newView, ...contextCardInfo };
|
226
|
+
}
|
222
227
|
this.$refs.flow.createNewEntry(newView);
|
223
228
|
} else if (state.type === "MultiFlatmap") {
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
229
|
+
if (state.resource) {
|
230
|
+
//State for new multiflatmap containing the following items:
|
231
|
+
// label - Setting the name of the dialog
|
232
|
+
// resource - the url to metadata
|
233
|
+
// state - state to restore (viewport)
|
234
|
+
const newView = {
|
235
|
+
type: state.type,
|
236
|
+
resource: state.resource,
|
237
|
+
state: state.state,
|
238
|
+
label: state.label
|
239
|
+
};
|
240
|
+
this.$refs.flow.createNewEntry(newView);
|
241
|
+
} else {
|
242
|
+
//State for multiflatmap containing the following items:
|
243
|
+
// taxo - taxo of species to set
|
244
|
+
// biologicalSex - biological sex to be displayed (PATO)
|
245
|
+
// organ - Target organ, flatmap will conduct a local search
|
246
|
+
// using this
|
230
247
|
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
248
|
+
//Look for the key in the available species array,
|
249
|
+
//it will use the taxo and biologicalSex as hints.
|
250
|
+
const key = findSpeciesKey(state);
|
251
|
+
if (key) {
|
252
|
+
const currentState = this.getState();
|
253
|
+
if (currentState && currentState.entries) {
|
254
|
+
for (let i = 0; i < currentState.entries.length; i++) {
|
255
|
+
const entry = currentState.entries[i];
|
256
|
+
if (entry.type === "MultiFlatmap") {
|
257
|
+
entry.resource = key;
|
258
|
+
entry.state = { species: key };
|
259
|
+
if (state.organ || state.uuid) {
|
260
|
+
entry.state.state = { searchTerm: state.organ, uuid: state.uuid };
|
261
|
+
//if it contains an uuid, use the taxo to help identify if the uuid
|
262
|
+
//is current
|
263
|
+
if (state.uuid) entry.state.state.entry = state.taxo;
|
264
|
+
}
|
265
|
+
this.$refs.flow.setState(currentState);
|
266
|
+
//Do not create a new entry, instead set the multiflatmap viewer
|
267
|
+
//to the primary slot
|
268
|
+
this.$refs.flow.setIdToPrimaryPane(entry.id);
|
269
|
+
break;
|
247
270
|
}
|
248
|
-
this.$refs.flow.setState(currentState);
|
249
|
-
//Do not create a new entry, instead set the multiflatmap viewer
|
250
|
-
//to the primary slot
|
251
|
-
this.$refs.flow.setIdToPrimaryPane(entry.id);
|
252
|
-
break;
|
253
271
|
}
|
254
272
|
}
|
255
273
|
}
|
256
274
|
}
|
257
|
-
}
|
258
|
-
|
259
|
-
//State for scaffold containing the following items:
|
275
|
+
} else if (state.type === "Flatmap") {
|
276
|
+
//State for flatmap containing the following items:
|
260
277
|
// label - Setting the name of the dialog
|
261
|
-
// region - Which region/group currently focusing on
|
262
278
|
// resource - the url to metadata
|
263
279
|
// state - state to restore (viewport)
|
264
|
-
// viewUrl - relative path of the view file to metadata
|
265
280
|
const newView = {
|
266
281
|
type: state.type,
|
267
282
|
resource: state.resource,
|
283
|
+
data: state.data,
|
268
284
|
state: state.state,
|
269
285
|
label: state.label
|
270
286
|
};
|
@@ -319,15 +335,15 @@ export default {
|
|
319
335
|
beforeMount: function() {
|
320
336
|
if (this.options) {
|
321
337
|
// Split options prop up to commit to the store
|
322
|
-
this.options.sparcApi ? this.settingsStore.updateSparcAPI(this.options.sparcApi) : null
|
323
|
-
this.options.algoliaIndex ? this.settingsStore.updateAlgoliaIndex(this.options.algoliaIndex) : null
|
324
|
-
this.options.algoliaKey ? this.settingsStore.updateAlgoliaKey(this.options.algoliaKey) : null
|
325
|
-
this.options.algoliaId ? this.settingsStore.updateAlgoliaId(this.options.algoliaId) : null
|
326
|
-
this.options.pennsieveApi ? this.settingsStore.updatePennsieveApi(this.options.pennsieveApi) : null
|
327
|
-
this.options.flatmapAPI ? this.settingsStore.updateFlatmapAPI(this.options.flatmapAPI) : null
|
328
|
-
this.options.
|
329
|
-
this.options.
|
330
|
-
this.options.
|
338
|
+
this.options.sparcApi ? this.settingsStore.updateSparcAPI(this.options.sparcApi) : null;
|
339
|
+
this.options.algoliaIndex ? this.settingsStore.updateAlgoliaIndex(this.options.algoliaIndex) : null;
|
340
|
+
this.options.algoliaKey ? this.settingsStore.updateAlgoliaKey(this.options.algoliaKey) : null;
|
341
|
+
this.options.algoliaId ? this.settingsStore.updateAlgoliaId(this.options.algoliaId) : null;
|
342
|
+
this.options.pennsieveApi ? this.settingsStore.updatePennsieveApi(this.options.pennsieveApi) : null;
|
343
|
+
this.options.flatmapAPI ? this.settingsStore.updateFlatmapAPI(this.options.flatmapAPI) : null;
|
344
|
+
this.options.nlLinkPrefix ? this.settingsStore.updateNLLinkPrefix(this.options.nlLinkPrefix) : null;
|
345
|
+
this.options.rootUrl ? this.settingsStore.updateRootUrl(this.options.rootUrl) : null;
|
346
|
+
this.options.pmrHost ? this.settingsStore.updatePmrHost(this.options.pmrHost) : null;
|
331
347
|
}
|
332
348
|
this.splitFlowStore?.reset();
|
333
349
|
this.splitFlowStore?.getAvailableTerms(this.settingsStore.sparcApi);
|