@abi-software/flatmapvuer 0.3.16 → 0.4.0-beta-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/flatmapvuer.common.js +603 -189
- package/dist/flatmapvuer.common.js.map +1 -1
- package/dist/flatmapvuer.css +1 -1
- package/dist/flatmapvuer.umd.js +603 -189
- package/dist/flatmapvuer.umd.js.map +1 -1
- package/dist/flatmapvuer.umd.min.js +1 -1
- package/dist/flatmapvuer.umd.min.js.map +1 -1
- package/package-lock.json +94 -5
- package/package.json +2 -2
- package/src/App.vue +7 -6
- package/src/components/FlatmapVuer.vue +148 -182
- package/src/components/SelectionsGroup.vue +225 -0
- package/src/components/legends/DynamicLegends.vue +112 -0
- /package/src/components/legends/{Legends.vue → SvgLegends.vue} +0 -0
package/package-lock.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abi-software/flatmapvuer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-beta-1",
|
|
4
4
|
"lockfileVersion": 1,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@abi-software/flatmap-viewer": {
|
|
8
|
-
"version": "2.2.
|
|
9
|
-
"resolved": "https://registry.npmjs.org/@abi-software/flatmap-viewer/-/flatmap-viewer-2.2.
|
|
10
|
-
"integrity": "sha512-
|
|
8
|
+
"version": "2.2.12-b.4",
|
|
9
|
+
"resolved": "https://registry.npmjs.org/@abi-software/flatmap-viewer/-/flatmap-viewer-2.2.12-b.4.tgz",
|
|
10
|
+
"integrity": "sha512-qQov5PGIesfVeJR6ZQhPOyJvaSkYvcOoHcsXtFQcOkESRNHnIHIL7MgadhT7kHQNEwP7o/ZLY21bkPHnUJCfXQ==",
|
|
11
11
|
"requires": {
|
|
12
12
|
"@babel/runtime": "^7.10.4",
|
|
13
13
|
"@turf/area": "^6.0.1",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"@turf/helpers": "^6.1.4",
|
|
16
16
|
"@turf/projection": "^6.5.0",
|
|
17
17
|
"bezier-js": "^6.1.0",
|
|
18
|
-
"maplibre-gl": ">=
|
|
18
|
+
"maplibre-gl": ">=2.4.0",
|
|
19
19
|
"minisearch": "^2.2.1",
|
|
20
20
|
"polylabel": "^1.1.0"
|
|
21
21
|
}
|
|
@@ -2001,6 +2001,7 @@
|
|
|
2001
2001
|
"thread-loader": "^2.1.3",
|
|
2002
2002
|
"url-loader": "^2.2.0",
|
|
2003
2003
|
"vue-loader": "^15.9.2",
|
|
2004
|
+
"vue-loader-v16": "npm:vue-loader@^16.1.0",
|
|
2004
2005
|
"vue-style-loader": "^4.1.2",
|
|
2005
2006
|
"webpack": "^4.0.0",
|
|
2006
2007
|
"webpack-bundle-analyzer": "^3.8.0",
|
|
@@ -2015,6 +2016,44 @@
|
|
|
2015
2016
|
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
|
|
2016
2017
|
"dev": true
|
|
2017
2018
|
},
|
|
2019
|
+
"ansi-styles": {
|
|
2020
|
+
"version": "4.3.0",
|
|
2021
|
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
|
2022
|
+
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
|
2023
|
+
"dev": true,
|
|
2024
|
+
"optional": true,
|
|
2025
|
+
"requires": {
|
|
2026
|
+
"color-convert": "^2.0.1"
|
|
2027
|
+
}
|
|
2028
|
+
},
|
|
2029
|
+
"chalk": {
|
|
2030
|
+
"version": "4.1.2",
|
|
2031
|
+
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
2032
|
+
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
2033
|
+
"dev": true,
|
|
2034
|
+
"optional": true,
|
|
2035
|
+
"requires": {
|
|
2036
|
+
"ansi-styles": "^4.1.0",
|
|
2037
|
+
"supports-color": "^7.1.0"
|
|
2038
|
+
}
|
|
2039
|
+
},
|
|
2040
|
+
"color-convert": {
|
|
2041
|
+
"version": "2.0.1",
|
|
2042
|
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
2043
|
+
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
2044
|
+
"dev": true,
|
|
2045
|
+
"optional": true,
|
|
2046
|
+
"requires": {
|
|
2047
|
+
"color-name": "~1.1.4"
|
|
2048
|
+
}
|
|
2049
|
+
},
|
|
2050
|
+
"color-name": {
|
|
2051
|
+
"version": "1.1.4",
|
|
2052
|
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
|
2053
|
+
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
|
2054
|
+
"dev": true,
|
|
2055
|
+
"optional": true
|
|
2056
|
+
},
|
|
2018
2057
|
"file-loader": {
|
|
2019
2058
|
"version": "4.3.0",
|
|
2020
2059
|
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz",
|
|
@@ -2025,6 +2064,20 @@
|
|
|
2025
2064
|
"schema-utils": "^2.5.0"
|
|
2026
2065
|
}
|
|
2027
2066
|
},
|
|
2067
|
+
"has-flag": {
|
|
2068
|
+
"version": "4.0.0",
|
|
2069
|
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
2070
|
+
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
2071
|
+
"dev": true,
|
|
2072
|
+
"optional": true
|
|
2073
|
+
},
|
|
2074
|
+
"json5": {
|
|
2075
|
+
"version": "2.2.3",
|
|
2076
|
+
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
|
2077
|
+
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
|
2078
|
+
"dev": true,
|
|
2079
|
+
"optional": true
|
|
2080
|
+
},
|
|
2028
2081
|
"ssri": {
|
|
2029
2082
|
"version": "8.0.1",
|
|
2030
2083
|
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
|
|
@@ -2033,6 +2086,42 @@
|
|
|
2033
2086
|
"requires": {
|
|
2034
2087
|
"minipass": "^3.1.1"
|
|
2035
2088
|
}
|
|
2089
|
+
},
|
|
2090
|
+
"supports-color": {
|
|
2091
|
+
"version": "7.2.0",
|
|
2092
|
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
|
2093
|
+
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
2094
|
+
"dev": true,
|
|
2095
|
+
"optional": true,
|
|
2096
|
+
"requires": {
|
|
2097
|
+
"has-flag": "^4.0.0"
|
|
2098
|
+
}
|
|
2099
|
+
},
|
|
2100
|
+
"vue-loader-v16": {
|
|
2101
|
+
"version": "npm:vue-loader@16.8.3",
|
|
2102
|
+
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
|
|
2103
|
+
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
|
|
2104
|
+
"dev": true,
|
|
2105
|
+
"optional": true,
|
|
2106
|
+
"requires": {
|
|
2107
|
+
"chalk": "^4.1.0",
|
|
2108
|
+
"hash-sum": "^2.0.0",
|
|
2109
|
+
"loader-utils": "^2.0.0"
|
|
2110
|
+
},
|
|
2111
|
+
"dependencies": {
|
|
2112
|
+
"loader-utils": {
|
|
2113
|
+
"version": "2.0.4",
|
|
2114
|
+
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
|
|
2115
|
+
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
|
|
2116
|
+
"dev": true,
|
|
2117
|
+
"optional": true,
|
|
2118
|
+
"requires": {
|
|
2119
|
+
"big.js": "^5.2.2",
|
|
2120
|
+
"emojis-list": "^3.0.0",
|
|
2121
|
+
"json5": "^2.1.2"
|
|
2122
|
+
}
|
|
2123
|
+
}
|
|
2124
|
+
}
|
|
2036
2125
|
}
|
|
2037
2126
|
}
|
|
2038
2127
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abi-software/flatmapvuer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-beta-1",
|
|
4
4
|
"main": "./dist/flatmapvuer.common.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/*",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"lint": "vue-cli-service lint"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@abi-software/flatmap-viewer": "2.2.
|
|
24
|
+
"@abi-software/flatmap-viewer": "^2.2.12-b.4",
|
|
25
25
|
"@abi-software/svg-sprite": "^0.1.14",
|
|
26
26
|
"core-js": "^3.3.2",
|
|
27
27
|
"css-element-queries": "^1.2.2",
|
package/src/App.vue
CHANGED
|
@@ -58,11 +58,11 @@ export default {
|
|
|
58
58
|
},
|
|
59
59
|
FlatmapReady: function(component) {
|
|
60
60
|
let taxon = component.mapImp.describes;
|
|
61
|
-
let id = component.mapImp.addMarker("UBERON:0000948"
|
|
61
|
+
let id = component.mapImp.addMarker("UBERON:0000948");
|
|
62
62
|
component.enablePanZoomEvents(true);
|
|
63
|
-
component.showPathwaysDrawer(false);
|
|
63
|
+
//component.showPathwaysDrawer(false);
|
|
64
64
|
console.log(taxon, id);
|
|
65
|
-
component.searchAndShowResult("heart");
|
|
65
|
+
//component.searchAndShowResult("heart");
|
|
66
66
|
},
|
|
67
67
|
panZoomcallback: function(payload) {
|
|
68
68
|
this.payload = payload
|
|
@@ -82,7 +82,7 @@ export default {
|
|
|
82
82
|
"Kember":{taxo: "ABI:1000001", displayWarning:true},
|
|
83
83
|
"Pig":{taxo: "NCBITaxon:9823", iconClass:"mapicon-icon_pig", displayWarning:true},
|
|
84
84
|
"Cat":{taxo: "NCBITaxon:9685", iconClass:"mapicon-icon_cat", displayWarning:true},
|
|
85
|
-
"Functional Connectivity": {
|
|
85
|
+
"Functional Connectivity": {taxo: "FunctionalConnectivity", displayWarning:true},
|
|
86
86
|
"digestive tract":{taxo: "digestive tract", displayWarning:true}
|
|
87
87
|
},
|
|
88
88
|
tooltipContent: undefined,
|
|
@@ -92,12 +92,13 @@ export default {
|
|
|
92
92
|
position: "absolute"
|
|
93
93
|
},
|
|
94
94
|
displayCloseButton: false,
|
|
95
|
-
initial: "
|
|
95
|
+
initial: "Functional Connectivity",
|
|
96
96
|
helpMode: false,
|
|
97
97
|
mapSettings: [],
|
|
98
98
|
//flatmapAPI: "https://mapcore-demo.org/current/flatmap/v2/"
|
|
99
99
|
//flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v3/"
|
|
100
|
-
|
|
100
|
+
//flatmapAPI: "https://mapcore-demo.org/current/flatmap/v3/"
|
|
101
|
+
flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v4/"
|
|
101
102
|
// flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v1/"
|
|
102
103
|
}
|
|
103
104
|
},
|
|
@@ -131,10 +131,11 @@
|
|
|
131
131
|
<div class="pathway-location" :class="{ open: drawerOpen, close: !drawerOpen }">
|
|
132
132
|
<div
|
|
133
133
|
class="pathway-container"
|
|
134
|
-
|
|
134
|
+
:style="{'max-height': pathwaysMaxHeight + 'px'}"
|
|
135
|
+
v-if="pathControls"
|
|
135
136
|
v-popover:checkBoxPopover
|
|
136
137
|
>
|
|
137
|
-
<svg-legends class=
|
|
138
|
+
<svg-legends v-if="!isFC" class="svg-legends-container"/>
|
|
138
139
|
<el-popover
|
|
139
140
|
content="Find these markers for data"
|
|
140
141
|
placement="right"
|
|
@@ -150,41 +151,56 @@
|
|
|
150
151
|
v-html="flatmapMarker"
|
|
151
152
|
v-popover:markerPopover
|
|
152
153
|
></div>
|
|
153
|
-
<
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
154
|
+
<dynamic-legends
|
|
155
|
+
v-if="isFC && systems && systems.length > 0"
|
|
156
|
+
title="Systems"
|
|
157
|
+
identifierKey="name"
|
|
158
|
+
:lists="systems"
|
|
159
|
+
key="systemslegends"
|
|
160
|
+
/>
|
|
161
|
+
<selections-group
|
|
162
|
+
v-if="!isFC && centreLines && centreLines.length > 0"
|
|
163
|
+
title="Nerves"
|
|
164
|
+
labelKey="label"
|
|
165
|
+
identifierKey="key"
|
|
166
|
+
:selections="centreLines"
|
|
167
|
+
@changed="centreLinesSelected"
|
|
168
|
+
ref="centrelinesSelection"
|
|
169
|
+
key="centrelinesSelection"
|
|
170
|
+
/>
|
|
171
|
+
<selections-group
|
|
172
|
+
v-if="isFC && sckanDisplay && sckanDisplay.length > 0"
|
|
173
|
+
title="SCKAN"
|
|
174
|
+
labelKey="label"
|
|
175
|
+
identifierKey="key"
|
|
176
|
+
:selections="sckanDisplay"
|
|
177
|
+
@changed="sckanSelected"
|
|
178
|
+
@checkAll="checkAllSCKAN"
|
|
179
|
+
ref="skcanSelection"
|
|
180
|
+
key="skcanSelection"
|
|
181
|
+
/>
|
|
182
|
+
<selections-group
|
|
183
|
+
v-if="layers && layers.length > 0"
|
|
184
|
+
title="Layers"
|
|
185
|
+
labelKey="description"
|
|
186
|
+
identifierKey="id"
|
|
187
|
+
:selections="layers"
|
|
188
|
+
@changed="layersSelected"
|
|
189
|
+
@checkAll="checkAllLayers"
|
|
190
|
+
ref="layersSelection"
|
|
191
|
+
key="layersSelection"
|
|
192
|
+
/>
|
|
193
|
+
<selections-group
|
|
194
|
+
v-if="pathways && pathways.length > 0"
|
|
195
|
+
title="Pathways"
|
|
196
|
+
labelKey="label"
|
|
197
|
+
identifierKey="type"
|
|
198
|
+
:selections="pathways"
|
|
199
|
+
@changed="pathwaysSelected"
|
|
200
|
+
@checkAll="checkAllPathways"
|
|
201
|
+
ref="pathwaysSelection"
|
|
202
|
+
key="pathwaysSelection"
|
|
203
|
+
/>
|
|
188
204
|
</div>
|
|
189
205
|
<div
|
|
190
206
|
@click="toggleDrawer"
|
|
@@ -200,6 +216,7 @@
|
|
|
200
216
|
width="175"
|
|
201
217
|
:appendToBody="false"
|
|
202
218
|
trigger="click"
|
|
219
|
+
|
|
203
220
|
popper-class="background-popper"
|
|
204
221
|
>
|
|
205
222
|
<el-row class="backgroundText">Organs display</el-row>
|
|
@@ -260,11 +277,11 @@
|
|
|
260
277
|
/* eslint-disable no-alert, no-console */
|
|
261
278
|
import Vue from "vue";
|
|
262
279
|
import Tooltip from "./Tooltip";
|
|
280
|
+
import SelectionsGroup from "./SelectionsGroup.vue";
|
|
263
281
|
import { MapSvgIcon, MapSvgSpriteColor } from "@abi-software/svg-sprite";
|
|
264
|
-
import
|
|
282
|
+
import DynamicLegends from "./legends/DynamicLegends.vue";
|
|
283
|
+
import SvgLegends from "./legends/SvgLegends";
|
|
265
284
|
import {
|
|
266
|
-
Checkbox,
|
|
267
|
-
CheckboxGroup,
|
|
268
285
|
Col,
|
|
269
286
|
Loading,
|
|
270
287
|
Radio,
|
|
@@ -276,8 +293,6 @@ import locale from "element-ui/lib/locale";
|
|
|
276
293
|
import flatmapMarker from "../icons/flatmap-marker";
|
|
277
294
|
|
|
278
295
|
locale.use(lang);
|
|
279
|
-
Vue.use(Checkbox);
|
|
280
|
-
Vue.use(CheckboxGroup);
|
|
281
296
|
Vue.use(Col);
|
|
282
297
|
Vue.use(Loading.directive);
|
|
283
298
|
Vue.use(Radio);
|
|
@@ -285,18 +300,14 @@ Vue.use(RadioGroup);
|
|
|
285
300
|
Vue.use(Row);
|
|
286
301
|
const ResizeSensor = require("css-element-queries/src/ResizeSensor");
|
|
287
302
|
|
|
288
|
-
const mapResize = map => {
|
|
289
|
-
return () => {
|
|
290
|
-
if (map) map.resize();
|
|
291
|
-
};
|
|
292
|
-
};
|
|
293
|
-
|
|
294
303
|
export default {
|
|
295
304
|
name: "FlatmapVuer",
|
|
296
305
|
components: {
|
|
306
|
+
DynamicLegends,
|
|
297
307
|
MapSvgIcon,
|
|
298
308
|
MapSvgSpriteColor,
|
|
299
309
|
Tooltip,
|
|
310
|
+
SelectionsGroup,
|
|
300
311
|
SvgLegends
|
|
301
312
|
},
|
|
302
313
|
beforeCreate: function() {
|
|
@@ -351,9 +362,18 @@ export default {
|
|
|
351
362
|
resetView: function() {
|
|
352
363
|
if (this.mapImp) {
|
|
353
364
|
this.mapImp.resetMap();
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
365
|
+
if (this.$refs.centrelinesSelection) {
|
|
366
|
+
this.$refs.centrelinesSelection.reset();
|
|
367
|
+
}
|
|
368
|
+
if (this.$refs.skcanSelection) {
|
|
369
|
+
this.$refs.skcanSelection.reset();
|
|
370
|
+
}
|
|
371
|
+
if (this.$refs.layersSelection) {
|
|
372
|
+
this.$refs.layersSelection.reset();
|
|
373
|
+
}
|
|
374
|
+
if (this.$refs.pathwaysSelection) {
|
|
375
|
+
this.$refs.pathwaysSelection.reset();
|
|
376
|
+
}
|
|
357
377
|
}
|
|
358
378
|
},
|
|
359
379
|
/**
|
|
@@ -374,22 +394,39 @@ export default {
|
|
|
374
394
|
this.mapImp.zoomOut();
|
|
375
395
|
}
|
|
376
396
|
},
|
|
377
|
-
|
|
397
|
+
centreLinesSelected: function(payload) {
|
|
398
|
+
if (this.mapImp) {
|
|
399
|
+
this.mapImp.enableCentrelines(payload.value);
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
sckanSelected: function(payload) {
|
|
403
|
+
if (this.mapImp) {
|
|
404
|
+
this.mapImp.enableSckanPath(payload.key, payload.value);
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
checkAllSCKAN: function(payload) {
|
|
408
|
+
if (this.mapImp) {
|
|
409
|
+
payload.keys.forEach(key => this.mapImp.enableSckanPath(key, payload.value));
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
layersSelected: function(payload) {
|
|
378
413
|
if (this.mapImp) {
|
|
379
|
-
this.mapImp.
|
|
414
|
+
this.mapImp.enableLayer(payload.key, payload.value);
|
|
380
415
|
}
|
|
381
416
|
},
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
417
|
+
checkAllLayers: function(payload) {
|
|
418
|
+
if (this.mapImp) {
|
|
419
|
+
payload.keys.forEach(key => this.mapImp.enableLayer(key, payload.value));
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
pathwaysSelected: function(payload) {
|
|
423
|
+
if (this.mapImp) {
|
|
424
|
+
this.mapImp.enablePath(payload.key, payload.value);
|
|
425
|
+
}
|
|
387
426
|
},
|
|
388
|
-
|
|
389
|
-
this.checkedItems = val ? this.pathways.map(a => a.type) : [];
|
|
390
|
-
this.isIndeterminate = false;
|
|
427
|
+
checkAllPathways: function(payload) {
|
|
391
428
|
if (this.mapImp) {
|
|
392
|
-
this.mapImp.
|
|
429
|
+
payload.keys.forEach(key => this.mapImp.enablePath(key, payload.value));
|
|
393
430
|
}
|
|
394
431
|
},
|
|
395
432
|
enablePanZoomEvents: function(flag) {
|
|
@@ -699,7 +736,8 @@ export default {
|
|
|
699
736
|
//debug: true,
|
|
700
737
|
featureInfo: this.featureInfo,
|
|
701
738
|
"min-zoom": this.minZoom,
|
|
702
|
-
|
|
739
|
+
layerControl: true,
|
|
740
|
+
pathControls: true,
|
|
703
741
|
searchable: this.searchable,
|
|
704
742
|
tooltips: this.tooltips,
|
|
705
743
|
minimap: minimap
|
|
@@ -720,19 +758,40 @@ export default {
|
|
|
720
758
|
this.restoreMapState(this._stateToBeSet);
|
|
721
759
|
}
|
|
722
760
|
},
|
|
761
|
+
computePathControlsMaximumHeight() {
|
|
762
|
+
const elem = this.$refs.display;
|
|
763
|
+
if (elem) {
|
|
764
|
+
const computed = getComputedStyle(elem);
|
|
765
|
+
const padding = parseInt(computed.paddingTop) + parseInt(computed.paddingBottom);
|
|
766
|
+
const height = elem.clientHeight - padding;
|
|
767
|
+
this.pathwaysMaxHeight = height - 150;
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
mapResize: function() {
|
|
771
|
+
if (this.mapImp) {
|
|
772
|
+
this.mapImp.resize();
|
|
773
|
+
}
|
|
774
|
+
this.computePathControlsMaximumHeight();
|
|
775
|
+
},
|
|
723
776
|
onFlatmapReady: function(){
|
|
724
777
|
// onFlatmapReady is used for functions that need to run immediately after the flatmap is loaded
|
|
725
|
-
|
|
726
778
|
this.sensor = new ResizeSensor(
|
|
727
779
|
this.$refs.display,
|
|
728
|
-
|
|
780
|
+
this.mapResize
|
|
729
781
|
);
|
|
782
|
+
if (this.mapImp.options && this.mapImp.options.style === "functional") {
|
|
783
|
+
this.isFC = true;
|
|
784
|
+
}
|
|
730
785
|
this.mapImp.setBackgroundOpacity(1);
|
|
731
786
|
this.backgroundChangeCallback(this.currentBackground);
|
|
732
787
|
this.pathways = this.mapImp.pathTypes();
|
|
733
|
-
this
|
|
788
|
+
this.layers = this.mapImp.getLayers();
|
|
789
|
+
this.systems = this.mapImp.getSystems();
|
|
734
790
|
this.addResizeButtonToMinimap();
|
|
735
791
|
this.loading = false;
|
|
792
|
+
this.computePathControlsMaximumHeight();
|
|
793
|
+
this.drawerOpen = true;
|
|
794
|
+
this.$emit("ready", this);
|
|
736
795
|
},
|
|
737
796
|
showMinimap: function(flag) {
|
|
738
797
|
if (this.mapImp)
|
|
@@ -866,10 +925,21 @@ export default {
|
|
|
866
925
|
},
|
|
867
926
|
data: function() {
|
|
868
927
|
return {
|
|
869
|
-
|
|
928
|
+
layers: [],
|
|
870
929
|
pathways: [],
|
|
871
|
-
|
|
872
|
-
|
|
930
|
+
sckanDisplay: [
|
|
931
|
+
{
|
|
932
|
+
label: "Display Path with SCKAN",
|
|
933
|
+
key: "VALID",
|
|
934
|
+
},
|
|
935
|
+
],
|
|
936
|
+
centreLines: [
|
|
937
|
+
{
|
|
938
|
+
label: "Display Nerves",
|
|
939
|
+
key: "centrelines"
|
|
940
|
+
}
|
|
941
|
+
],
|
|
942
|
+
pathwaysMaxHeight: 1000,
|
|
873
943
|
hoverVisibilities: [
|
|
874
944
|
{ value: false },
|
|
875
945
|
{ value: false },
|
|
@@ -880,12 +950,13 @@ export default {
|
|
|
880
950
|
{ value: false },
|
|
881
951
|
{ value: false }
|
|
882
952
|
],
|
|
953
|
+
isFC: false,
|
|
883
954
|
inHelp: false,
|
|
884
955
|
currentBackground: "white",
|
|
885
956
|
availableBackground: ["white", "lightskyblue", "black"],
|
|
886
957
|
loading: false,
|
|
887
958
|
flatmapMarker: flatmapMarker,
|
|
888
|
-
drawerOpen:
|
|
959
|
+
drawerOpen: false,
|
|
889
960
|
tooltipContent: { featureIds: []},
|
|
890
961
|
colourRadio: true,
|
|
891
962
|
outlinesRadio: true,
|
|
@@ -919,8 +990,6 @@ export default {
|
|
|
919
990
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
920
991
|
<style scoped lang="scss">
|
|
921
992
|
@import "~element-ui/packages/theme-chalk/src/button";
|
|
922
|
-
@import "~element-ui/packages/theme-chalk/src/checkbox";
|
|
923
|
-
@import "~element-ui/packages/theme-chalk/src/checkbox-group";
|
|
924
993
|
@import "~element-ui/packages/theme-chalk/src/loading";
|
|
925
994
|
@import "~element-ui/packages/theme-chalk/src/row";
|
|
926
995
|
|
|
@@ -969,53 +1038,6 @@ export default {
|
|
|
969
1038
|
vertical-align: 5px;
|
|
970
1039
|
}
|
|
971
1040
|
|
|
972
|
-
.path-visual {
|
|
973
|
-
margin: 3px 0;
|
|
974
|
-
height: 3px;
|
|
975
|
-
width: 25px;
|
|
976
|
-
margin-right: 5px;
|
|
977
|
-
display: inline-block;
|
|
978
|
-
&.cns {
|
|
979
|
-
background: #9b1fc1;
|
|
980
|
-
}
|
|
981
|
-
&.lcn {
|
|
982
|
-
background: #f19e38;
|
|
983
|
-
}
|
|
984
|
-
&.para-pre {
|
|
985
|
-
background: #3f8f4a;
|
|
986
|
-
}
|
|
987
|
-
&.para-post {
|
|
988
|
-
background: repeating-linear-gradient(
|
|
989
|
-
90deg,
|
|
990
|
-
#3f8f4a,
|
|
991
|
-
#3f8f4a 6px,
|
|
992
|
-
transparent 0,
|
|
993
|
-
transparent 9px
|
|
994
|
-
);
|
|
995
|
-
}
|
|
996
|
-
&.sensory {
|
|
997
|
-
background: #2a62f6;
|
|
998
|
-
}
|
|
999
|
-
&.somatic {
|
|
1000
|
-
background: #98561d;
|
|
1001
|
-
}
|
|
1002
|
-
&.symp-pre {
|
|
1003
|
-
background: #ea3423;
|
|
1004
|
-
}
|
|
1005
|
-
&.symp-post {
|
|
1006
|
-
background: repeating-linear-gradient(
|
|
1007
|
-
90deg,
|
|
1008
|
-
#ea3423,
|
|
1009
|
-
#ea3423 6px,
|
|
1010
|
-
transparent 0,
|
|
1011
|
-
transparent 9px
|
|
1012
|
-
);
|
|
1013
|
-
}
|
|
1014
|
-
&.other {
|
|
1015
|
-
background: #888;
|
|
1016
|
-
}
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
1041
|
.flatmap-container {
|
|
1020
1042
|
height: 100%;
|
|
1021
1043
|
width: 100%;
|
|
@@ -1044,47 +1066,20 @@ export default {
|
|
|
1044
1066
|
float: left;
|
|
1045
1067
|
padding-left: 16px;
|
|
1046
1068
|
padding-right: 18px;
|
|
1047
|
-
max-height: calc(100% - 140px);
|
|
1048
1069
|
text-align: left;
|
|
1049
1070
|
overflow: auto;
|
|
1050
1071
|
border: 1px solid rgb(220, 223, 230);
|
|
1051
1072
|
padding-bottom: 16px;
|
|
1052
1073
|
background: #ffffff;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
.pathways-display-text {
|
|
1056
|
-
width: 59px;
|
|
1057
|
-
height: 20px;
|
|
1058
|
-
color: rgb(48, 49, 51);
|
|
1059
|
-
font-size: 14px;
|
|
1060
|
-
font-weight: normal;
|
|
1061
|
-
line-height: 20px;
|
|
1062
|
-
margin-left: 8px;
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
.all-checkbox {
|
|
1066
|
-
float: right;
|
|
1067
|
-
}
|
|
1068
|
-
|
|
1069
|
-
.checkbox-container {
|
|
1070
|
-
display: flex;
|
|
1071
|
-
cursor: pointer;
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
.checkbox-group {
|
|
1075
|
-
width: 260px;
|
|
1076
|
-
border: 1px solid rgb(144, 147, 153);
|
|
1077
|
-
border-radius: 4px;
|
|
1078
|
-
background: #ffffff;
|
|
1079
|
-
}
|
|
1080
1074
|
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
}
|
|
1075
|
+
&::-webkit-scrollbar {
|
|
1076
|
+
width: 4px;
|
|
1077
|
+
}
|
|
1085
1078
|
|
|
1086
|
-
|
|
1087
|
-
|
|
1079
|
+
&::-webkit-scrollbar-thumb {
|
|
1080
|
+
border-radius: 10px;
|
|
1081
|
+
box-shadow: inset 0 0 6px #c0c4cc;
|
|
1082
|
+
}
|
|
1088
1083
|
}
|
|
1089
1084
|
|
|
1090
1085
|
.flatmap-marker-help {
|
|
@@ -1095,29 +1090,6 @@ export default {
|
|
|
1095
1090
|
left: 30px;
|
|
1096
1091
|
}
|
|
1097
1092
|
|
|
1098
|
-
::v-deep .el-checkbox__label {
|
|
1099
|
-
padding-left: 5px;
|
|
1100
|
-
color: $app-primary-color;
|
|
1101
|
-
font-size: 12px;
|
|
1102
|
-
font-weight: 500;
|
|
1103
|
-
letter-spacing: 0px;
|
|
1104
|
-
line-height: 14px;
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
::v-deep .el-checkbox__input {
|
|
1108
|
-
&.is-indeterminate,
|
|
1109
|
-
&.is-checked {
|
|
1110
|
-
.el-checkbox__inner {
|
|
1111
|
-
background-color: $app-primary-color;
|
|
1112
|
-
border-color: $app-primary-color;
|
|
1113
|
-
}
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1117
|
-
::v-deep .el-checkbox__label {
|
|
1118
|
-
color: $app-primary-color !important;
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
1093
|
.el-dropdown-link {
|
|
1122
1094
|
cursor: pointer;
|
|
1123
1095
|
color: #409eff;
|
|
@@ -1324,12 +1296,6 @@ export default {
|
|
|
1324
1296
|
}
|
|
1325
1297
|
}
|
|
1326
1298
|
|
|
1327
|
-
.togglePaths {
|
|
1328
|
-
top: 201px;
|
|
1329
|
-
right: 20px;
|
|
1330
|
-
position: absolute;
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
1299
|
.icon-button {
|
|
1334
1300
|
height: 24px !important;
|
|
1335
1301
|
width: 24px !important;
|