@abi-software/mapintegratedvuer 1.21.1 → 1.21.2
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 +23 -5
- package/assets/location-icon.html +33 -1
- package/assets/styleguide.css +18 -18
- package/cypress.config.js +7 -9
- package/dist/{ConnectivityGraph-CZMROk9r.js → ConnectivityGraph-DrSaFEDd.js} +3 -3
- package/dist/{ContentMixin-Vn34n5t2.js → ContentMixin-Xg0PjBqG.js} +2 -2
- package/dist/{DynamicMarkerMixin-BS6t7w_i.js → DynamicMarkerMixin-D5Ruu_hd.js} +1 -1
- package/dist/{Flatmap-BejxA0uz.js → Flatmap-CxN8TbnS.js} +4 -4
- package/dist/{Iframe-BWbhTjCR.js → Iframe-CkgbLfJt.js} +4 -4
- package/dist/{MultiFlatmap-nlmsH-Ib.js → MultiFlatmap-CkejvAJe.js} +4 -4
- package/dist/{Plot-ChbPsDZX.js → Plot-BfwoipSl.js} +2 -2
- package/dist/{Scaffold-C6f7c7Ha.js → Scaffold-DCqsTKpg.js} +4 -4
- package/dist/{Simulation-DcJScRYo.js → Simulation-BOtU3kTT.js} +2 -2
- package/dist/{connectivities-UXTqf7_0.js → connectivities-DyeS8w0c.js} +126 -95
- package/dist/index.html +9 -6
- package/dist/mapintegratedvuer.js +5489 -5578
- package/dist/mapintegratedvuer.umd.cjs +196 -196
- package/dist/style.css +1 -1
- package/eslint.config.js +39 -15
- package/package.json +11 -5
- package/public/index.html +9 -6
- package/src/App.vue +234 -249
- package/src/assets/_variables.scss +12 -10
- package/src/assets/header-icon.scss +8 -9
- package/src/assets/mapicon-species-style.css +10 -8
- package/src/assets/styles.scss +1 -1
- package/src/components/ContentBar.vue +98 -106
- package/src/components/ContentVuer.vue +36 -39
- package/src/components/ContextCard.vue +238 -199
- package/src/components/ContextHelp.vue +22 -26
- package/src/components/CustomSplitter.vue +32 -43
- package/src/components/DatasetHeader.vue +37 -41
- package/src/components/DialogToolbarContent.vue +292 -256
- package/src/components/FlatmapContextCard.vue +52 -57
- package/src/components/MapContent.vue +90 -86
- package/src/components/ResizeSensor.vue +8 -13
- package/src/components/SearchControls.vue +26 -35
- package/src/components/SimulatedData.js +196 -219
- package/src/components/SplitDialog.vue +139 -129
- package/src/components/SplitFlow.vue +421 -237
- package/src/components/index.js +1 -3
- package/src/components/scripts/simulation_data.js +393 -397
- package/src/components/scripts/utilities.js +108 -78
- package/src/components/viewers/CellDLViewer.vue +9 -9
- package/src/components/viewers/ConnectivityGraph.vue +9 -12
- package/src/components/viewers/Flatmap.vue +23 -25
- package/src/components/viewers/Iframe.vue +8 -10
- package/src/components/viewers/MultiFlatmap.vue +59 -69
- package/src/components/viewers/Plot.vue +6 -7
- package/src/components/viewers/Scaffold.vue +73 -63
- package/src/components/viewers/Simulation.vue +10 -15
- package/src/main.js +16 -21
- package/src/mixins/ContentMixin.js +208 -178
- package/src/mixins/DynamicMarkerMixin.js +14 -18
- package/src/mixins/RetrieveContextCardMixin.js +35 -30
- package/src/mixins/S3Bucket.vue +10 -13
- package/src/services/knowledgeMapping.js +53 -53
- package/src/services/tagging.js +4 -4
- package/src/stores/connectivities.js +46 -8
- package/src/stores/entries.js +7 -9
- package/src/stores/index.js +7 -7
- package/src/stores/settings.js +23 -31
- package/src/stores/splitFlow.js +364 -298
- package/vite.bundle-build.js +24 -26
- package/vite.config.js +22 -21
- package/vite.static-build.js +4 -4
- package/vitest.workspace.js +1 -3
- package/vuese-generator.js +47 -55
|
@@ -1,50 +1,46 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="showHelp" class="content-container">
|
|
3
|
-
<el-card
|
|
3
|
+
<el-card
|
|
4
|
+
class="box-card"
|
|
4
5
|
@mouseover="isActive = true"
|
|
5
6
|
@mouseleave="isActive = false"
|
|
6
|
-
:class="{active: isActive}"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
|
|
7
|
+
:class="{ active: isActive }"
|
|
8
|
+
>
|
|
9
|
+
<template v-slot:header>
|
|
10
|
+
<div class="header">
|
|
11
|
+
<span>Needing some help?</span>
|
|
12
|
+
<i class="el-icon-close" style="float: right; padding: 3px 0" @click="close"></i>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
11
15
|
<div class="content">
|
|
12
|
-
|
|
16
|
+
<div v-for="o in steps" :key="o" class="step-item">{{ o.description }}</div>
|
|
13
17
|
</div>
|
|
14
18
|
</el-card>
|
|
15
19
|
</div>
|
|
16
20
|
</template>
|
|
17
21
|
|
|
18
22
|
<script>
|
|
19
|
-
/* eslint-disable no-alert, no-console */
|
|
20
|
-
import { ElCard as Card } from "element-plus";
|
|
21
|
-
|
|
22
23
|
export default {
|
|
23
|
-
name:
|
|
24
|
-
components: {
|
|
25
|
-
Card
|
|
26
|
-
},
|
|
24
|
+
name: 'ContextHelp',
|
|
27
25
|
props: {
|
|
28
26
|
/**
|
|
29
27
|
* Object containing information for
|
|
30
28
|
* the required viewing.
|
|
31
29
|
*/
|
|
32
|
-
entry: Object
|
|
30
|
+
entry: Object,
|
|
33
31
|
},
|
|
34
|
-
data: function() {
|
|
35
|
-
return
|
|
32
|
+
data: function () {
|
|
33
|
+
return {
|
|
36
34
|
isActive: false,
|
|
37
35
|
showHelp: true,
|
|
38
|
-
steps: [
|
|
39
|
-
|
|
40
|
-
}
|
|
36
|
+
steps: [],
|
|
37
|
+
};
|
|
41
38
|
},
|
|
42
39
|
methods: {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
40
|
+
close: function () {
|
|
41
|
+
this.showHelp = false;
|
|
42
|
+
},
|
|
43
|
+
},
|
|
48
44
|
};
|
|
49
45
|
</script>
|
|
50
46
|
|
|
@@ -56,7 +52,7 @@ export default {
|
|
|
56
52
|
text-align: left;
|
|
57
53
|
}
|
|
58
54
|
|
|
59
|
-
.header{
|
|
55
|
+
.header {
|
|
60
56
|
height: 20px;
|
|
61
57
|
}
|
|
62
58
|
|
|
@@ -1,86 +1,77 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div style="height: 100%; width: 100%">
|
|
3
|
-
<resize-sensor
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<splitpanes
|
|
7
|
-
class="default-theme"
|
|
8
|
-
:horizontal="isHorizontal"
|
|
9
|
-
:maximize-panes="false"
|
|
10
|
-
>
|
|
11
|
-
<template v-for="(child) in children" :key="child">
|
|
3
|
+
<resize-sensor @resize="calculateStyles(index)"></resize-sensor>
|
|
4
|
+
<splitpanes class="default-theme" :horizontal="isHorizontal" :maximize-panes="false">
|
|
5
|
+
<template v-for="child in children" :key="child">
|
|
12
6
|
<pane :ref="child" @vue:beforeUnmount="childUnmounted(child)">
|
|
13
7
|
<resize-sensor
|
|
14
8
|
v-if="customLayout[child].content"
|
|
15
|
-
@resize="calculateStyles(child)"
|
|
16
|
-
|
|
17
|
-
<custom-splitter
|
|
18
|
-
v-else
|
|
19
|
-
:key="child"
|
|
20
|
-
:index="child"
|
|
21
|
-
/>
|
|
9
|
+
@resize="calculateStyles(child)"
|
|
10
|
+
></resize-sensor>
|
|
11
|
+
<custom-splitter v-else :key="child" :index="child" />
|
|
22
12
|
</pane>
|
|
23
13
|
</template>
|
|
24
14
|
</splitpanes>
|
|
25
15
|
</div>
|
|
26
16
|
</template>
|
|
27
17
|
|
|
28
|
-
|
|
29
18
|
<script>
|
|
30
|
-
/* eslint-disable no-alert, no-console */
|
|
31
19
|
import EventBus from './EventBus';
|
|
32
|
-
import ResizeSensor from
|
|
33
|
-
import { Splitpanes, Pane } from
|
|
34
|
-
import
|
|
20
|
+
import ResizeSensor from './ResizeSensor.vue';
|
|
21
|
+
import { Splitpanes, Pane } from 'splitpanes';
|
|
22
|
+
import 'splitpanes/dist/splitpanes.css';
|
|
35
23
|
import { mapStores } from 'pinia';
|
|
36
24
|
import { useSplitFlowStore } from '../stores/splitFlow';
|
|
37
25
|
|
|
38
26
|
export default {
|
|
39
|
-
name:
|
|
27
|
+
name: 'CustomSplitter',
|
|
40
28
|
components: {
|
|
41
29
|
Splitpanes,
|
|
42
30
|
Pane,
|
|
43
|
-
ResizeSensor
|
|
31
|
+
ResizeSensor,
|
|
44
32
|
},
|
|
45
33
|
props: {
|
|
46
34
|
index: {
|
|
47
35
|
type: String,
|
|
48
|
-
default: function() {
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
}
|
|
36
|
+
default: function () {
|
|
37
|
+
return 'split-1';
|
|
38
|
+
},
|
|
39
|
+
},
|
|
52
40
|
},
|
|
53
41
|
methods: {
|
|
54
|
-
requestStylesUpdate: function(refName) {
|
|
42
|
+
requestStylesUpdate: function (refName) {
|
|
55
43
|
if (this.$refs) {
|
|
56
|
-
if (
|
|
57
|
-
|
|
44
|
+
if (
|
|
45
|
+
refName in this.$refs &&
|
|
46
|
+
this.$refs[refName] &&
|
|
47
|
+
this.$refs[refName][0] &&
|
|
48
|
+
this.$refs[refName][0].$el
|
|
49
|
+
) {
|
|
58
50
|
const el = this.$refs[refName][0].$el;
|
|
59
51
|
const rect = el.getBoundingClientRect();
|
|
60
|
-
EventBus.emit(
|
|
61
|
-
|
|
52
|
+
EventBus.emit('PaneResize', { refName, rect });
|
|
62
53
|
}
|
|
63
54
|
}
|
|
64
55
|
},
|
|
65
56
|
/**
|
|
66
57
|
* Callback when the vuers emit a selected event.
|
|
67
58
|
*/
|
|
68
|
-
calculateStyles: function(refName) {
|
|
59
|
+
calculateStyles: function (refName) {
|
|
69
60
|
if (this.$refs) {
|
|
70
|
-
if (refName.startsWith(
|
|
61
|
+
if (refName.startsWith('pane')) {
|
|
71
62
|
this.requestStylesUpdate(refName);
|
|
72
|
-
} else if (refName.startsWith(
|
|
63
|
+
} else if (refName.startsWith('split')) {
|
|
73
64
|
this.customLayout[refName].children.forEach((childName) => {
|
|
74
|
-
if (childName.startsWith(
|
|
75
|
-
|
|
65
|
+
if (childName.startsWith('pane')) {
|
|
66
|
+
this.requestStylesUpdate(childName);
|
|
76
67
|
}
|
|
77
68
|
});
|
|
78
69
|
}
|
|
79
70
|
}
|
|
80
71
|
},
|
|
81
|
-
childUnmounted: function(refName) {
|
|
82
|
-
EventBus.emit(
|
|
83
|
-
}
|
|
72
|
+
childUnmounted: function (refName) {
|
|
73
|
+
EventBus.emit('PaneUnmounted', { refName });
|
|
74
|
+
},
|
|
84
75
|
},
|
|
85
76
|
computed: {
|
|
86
77
|
...mapStores(useSplitFlowStore),
|
|
@@ -98,7 +89,6 @@ export default {
|
|
|
98
89
|
</script>
|
|
99
90
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
100
91
|
<style scoped lang="scss">
|
|
101
|
-
|
|
102
92
|
:deep() {
|
|
103
93
|
.splitpanes.default-theme .splitpanes__pane {
|
|
104
94
|
background-color: #ccc !important;
|
|
@@ -110,7 +100,7 @@ export default {
|
|
|
110
100
|
margin: 0px 0px 0px 0px !important;
|
|
111
101
|
z-index: 6 !important;
|
|
112
102
|
&::before {
|
|
113
|
-
content:
|
|
103
|
+
content: '';
|
|
114
104
|
position: absolute;
|
|
115
105
|
left: 0;
|
|
116
106
|
top: 0;
|
|
@@ -147,5 +137,4 @@ export default {
|
|
|
147
137
|
height: 100%;
|
|
148
138
|
}
|
|
149
139
|
}
|
|
150
|
-
|
|
151
140
|
</style>
|
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="dataset-title-container" ref="container" @mouseleave="cardDisplayed=false">
|
|
2
|
+
<div class="dataset-title-container" ref="container" @mouseleave="cardDisplayed = false">
|
|
3
3
|
<div @click="openCard($event)" class="dataset-link">
|
|
4
4
|
<el-link class="dataset-title">
|
|
5
|
-
{{entry.datasetTitle}}
|
|
6
|
-
<i
|
|
7
|
-
|
|
5
|
+
{{ entry.datasetTitle }}
|
|
6
|
+
<i
|
|
7
|
+
v-show="!cardDisplayed && (entry.datasetImage || entry.datasetDescription)"
|
|
8
|
+
class="el-icon-arrow-down el-icon--right"
|
|
9
|
+
></i>
|
|
10
|
+
<i
|
|
11
|
+
v-show="cardDisplayed && (entry.datasetImage || entry.datasetDescription)"
|
|
12
|
+
class="el-icon-arrow-up el-icon--right"
|
|
13
|
+
></i>
|
|
8
14
|
</el-link>
|
|
9
|
-
<el-card
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
<el-card
|
|
16
|
+
v-show="cardDisplayed"
|
|
17
|
+
:body-style="{ padding: '0px' }"
|
|
18
|
+
class="dataset-card"
|
|
19
|
+
ref="card"
|
|
20
|
+
>
|
|
21
|
+
<img :src="entry.datasetImage" class="image" />
|
|
22
|
+
<div style="padding: 14px">
|
|
23
|
+
<span class="dataset-description">{{ entry.datasetDescription }}</span>
|
|
24
|
+
<div>
|
|
14
25
|
<el-button class="button" @click="openDatasetUrl()">Get Dataset</el-button>
|
|
15
26
|
</div>
|
|
16
27
|
</div>
|
|
@@ -19,23 +30,9 @@
|
|
|
19
30
|
</div>
|
|
20
31
|
</template>
|
|
21
32
|
|
|
22
|
-
|
|
23
33
|
<script>
|
|
24
|
-
/* eslint-disable no-alert, no-console */
|
|
25
|
-
import {
|
|
26
|
-
ElButton as Button,
|
|
27
|
-
ElCard as Card,
|
|
28
|
-
ElLink as Link
|
|
29
|
-
} from "element-plus";
|
|
30
|
-
|
|
31
|
-
|
|
32
34
|
export default {
|
|
33
|
-
name:
|
|
34
|
-
components: {
|
|
35
|
-
Button,
|
|
36
|
-
Card,
|
|
37
|
-
Link
|
|
38
|
-
},
|
|
35
|
+
name: 'DatasetHeader',
|
|
39
36
|
props: {
|
|
40
37
|
/**
|
|
41
38
|
* Object containing information for
|
|
@@ -43,16 +40,16 @@ export default {
|
|
|
43
40
|
*/
|
|
44
41
|
entry: Object,
|
|
45
42
|
},
|
|
46
|
-
data: function() {
|
|
43
|
+
data: function () {
|
|
47
44
|
return {
|
|
48
|
-
cardDisplayed: false
|
|
49
|
-
}
|
|
45
|
+
cardDisplayed: false,
|
|
46
|
+
};
|
|
50
47
|
},
|
|
51
48
|
methods: {
|
|
52
|
-
switchCardDisplay: function(){
|
|
49
|
+
switchCardDisplay: function () {
|
|
53
50
|
this.cardDisplayed = !this.cardDisplayed;
|
|
54
51
|
},
|
|
55
|
-
openCard: function(event){
|
|
52
|
+
openCard: function (event) {
|
|
56
53
|
if (this.entry.datasetImage || this.entry.datasetDescription) {
|
|
57
54
|
this.cardDisplayed = true;
|
|
58
55
|
this.$refs.card.$el.style.left = event.layerX + 'px';
|
|
@@ -61,37 +58,36 @@ export default {
|
|
|
61
58
|
this.openDatasetUrl();
|
|
62
59
|
}
|
|
63
60
|
},
|
|
64
|
-
openDatasetUrl: function(){
|
|
65
|
-
if (this.entry.datasetUrl)
|
|
66
|
-
window.open(this.entry.datasetUrl, '_blank');
|
|
61
|
+
openDatasetUrl: function () {
|
|
62
|
+
if (this.entry.datasetUrl) window.open(this.entry.datasetUrl, '_blank');
|
|
67
63
|
this.cardDisplayed = false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
64
|
+
},
|
|
65
|
+
},
|
|
70
66
|
};
|
|
71
67
|
</script>
|
|
72
68
|
|
|
73
69
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
74
70
|
<style scoped lang="scss">
|
|
75
|
-
.dataset-link{
|
|
76
|
-
text-align:center;
|
|
71
|
+
.dataset-link {
|
|
72
|
+
text-align: center;
|
|
77
73
|
}
|
|
78
|
-
.dataset-title-container{
|
|
74
|
+
.dataset-title-container {
|
|
79
75
|
padding: 3px;
|
|
80
76
|
}
|
|
81
|
-
.dataset-title{
|
|
77
|
+
.dataset-title {
|
|
82
78
|
font-size: 16px;
|
|
83
79
|
color: #606266;
|
|
84
80
|
}
|
|
85
|
-
.dataset-card{
|
|
81
|
+
.dataset-card {
|
|
86
82
|
width: 230px;
|
|
87
83
|
position: absolute;
|
|
88
84
|
z-index: 10;
|
|
89
85
|
}
|
|
90
|
-
.image{
|
|
86
|
+
.image {
|
|
91
87
|
width: 100%;
|
|
92
88
|
display: block;
|
|
93
89
|
}
|
|
94
|
-
.dataset-description{
|
|
90
|
+
.dataset-description {
|
|
95
91
|
font-size: 10px;
|
|
96
92
|
}
|
|
97
93
|
</style>
|