@abi-software/flatmapvuer 1.1.3 → 1.2.0

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.
Files changed (41) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +120 -120
  3. package/cypress.config.js +23 -23
  4. package/dist/flatmapvuer.js +43580 -38546
  5. package/dist/flatmapvuer.umd.cjs +189 -181
  6. package/dist/index.html +17 -17
  7. package/dist/style.css +1 -1
  8. package/package.json +95 -95
  9. package/public/index.html +17 -17
  10. package/reporter-config.json +9 -9
  11. package/src/App.vue +379 -379
  12. package/src/assets/_variables.scss +43 -43
  13. package/src/assets/styles.scss +5 -5
  14. package/src/components/AnnotationTool.vue +501 -501
  15. package/src/components/ConnectionDialog.vue +134 -134
  16. package/src/components/DrawTool.vue +502 -502
  17. package/src/components/EventBus.js +3 -3
  18. package/src/components/ExternalResourceCard.vue +109 -109
  19. package/src/components/FlatmapVuer.vue +3515 -3455
  20. package/src/components/HelpModeDialog.vue +360 -360
  21. package/src/components/MultiFlatmapVuer.vue +814 -814
  22. package/src/components/ProvenancePopup.vue +530 -530
  23. package/src/components/SelectionsGroup.vue +363 -363
  24. package/src/components/Tooltip.vue +50 -50
  25. package/src/components/TreeControls.vue +236 -236
  26. package/src/components/index.js +8 -8
  27. package/src/components/legends/DynamicLegends.vue +106 -106
  28. package/src/components/legends/SvgLegends.vue +112 -112
  29. package/src/icons/flatmap-marker.js +9 -1
  30. package/src/icons/fonts/mapicon-species.svg +14 -14
  31. package/src/icons/fonts/mapicon-species.ttf +0 -0
  32. package/src/icons/fonts/mapicon-species.woff +0 -0
  33. package/src/icons/mapicon-species-style.css +42 -42
  34. package/src/icons/yellowstar.js +5 -5
  35. package/src/legends/legend.svg +25 -25
  36. package/src/main.js +19 -19
  37. package/src/services/flatmapQueries.js +475 -475
  38. package/src/store/index.js +23 -23
  39. package/vite.config.js +73 -73
  40. package/vite.static-build.js +12 -12
  41. package/vuese-generator.js +64 -64
package/src/App.vue CHANGED
@@ -1,379 +1,379 @@
1
- <template>
2
- <div id="app">
3
- <el-popover
4
- placement="bottom"
5
- trigger="click"
6
- width="500"
7
- popper-class="popover options-popover"
8
- :teleported="false"
9
- >
10
- <div class="options-container">
11
- <el-row :gutter="20">
12
- <el-col :span="8">
13
- <el-button @click="helpMode = !helpMode" size="small"
14
- >Help Mode</el-button
15
- >
16
- </el-col>
17
- <el-col :span="8">
18
- <el-button @click="saveSettings()" size="small"
19
- >Save Settings</el-button
20
- >
21
- </el-col>
22
- <el-col :span="8">
23
- <el-button
24
- :disabled="mapSettings.length === 0"
25
- @click="restoreSettings()"
26
- size="small"
27
- >Restore Settings</el-button
28
- >
29
- </el-col>
30
- </el-row>
31
- <el-row>
32
- <el-col>
33
- <el-switch
34
- v-model="disableUI"
35
- active-text="Disable UI"
36
- >
37
- </el-switch>
38
- </el-col>
39
- </el-row>
40
- <el-row>
41
- <el-col>
42
- <el-autocomplete
43
- class="search-box"
44
- placeholder="Search"
45
- v-model="searchText"
46
- :fetch-suggestions="fetchSuggestions"
47
- @keyup.enter="search"
48
- @select="search"
49
- popper-class="autocomplete-popper"
50
- :teleported="false"
51
- >
52
- </el-autocomplete>
53
- </el-col>
54
- </el-row>
55
- </div>
56
- <template #reference>
57
- <el-button class="options-button" :icon="ElIconSetting"
58
- >Options</el-button>
59
- </template>
60
- </el-popover>
61
-
62
- <MultiFlatmapVuer
63
- ref="multi"
64
- :availableSpecies="availableSpecies"
65
- @resource-selected="FlatmapSelected"
66
- :minZoom="minZoom"
67
- @pan-zoom-callback="panZoomcallback"
68
- @open-map="openMap"
69
- @ready="FlatmapReady"
70
- :initial="initial"
71
- :helpMode="helpMode"
72
- :helpModeDialog="useHelpModeDialog"
73
- :helpModeActiveItem="helpModeActiveItem"
74
- @help-mode-last-item="onHelpModeLastItem"
75
- @shown-tooltip="onTooltipShown"
76
- @shown-map-tooltip="onMapTooltipShown"
77
- :displayMinimap="true"
78
- :enableOpenMapUI="true"
79
- :flatmapAPI="flatmapAPI"
80
- :disableUI="disableUI"
81
- @open-pubmed-url="onOpenPubmedUrl"
82
- @pathway-selection-changed="onPathwaySelectionChanged"
83
- @flatmapChanged="onFlatmapChanged"
84
- />
85
-
86
- <HelpModeDialog
87
- v-if="helpMode && useHelpModeDialog"
88
- ref="multiflatmapHelp"
89
- :multiflatmapRef="multiflatmapRef"
90
- :lastItem="helpModeLastItem"
91
- @show-next="onHelpModeShowNext"
92
- @finish-help-mode="onFinishHelpMode"
93
- />
94
- </div>
95
- </template>
96
-
97
- <script>
98
- import { shallowRef } from 'vue';
99
- import { Setting as ElIconSetting } from '@element-plus/icons-vue'
100
- /* eslint-disable no-alert, no-console */
101
- import MultiFlatmapVuer from './components/MultiFlatmapVuer.vue'
102
- import HelpModeDialog from './components/HelpModeDialog.vue';
103
- import {
104
- ElAutocomplete as Autocomplete,
105
- ElButton as Button,
106
- ElCol as Col,
107
- ElPopover as Popover,
108
- ElRow as Row,
109
- } from 'element-plus'
110
- import './icons/mapicon-species-style.css'
111
-
112
- export default {
113
- name: 'app',
114
- components: {
115
- Autocomplete,
116
- Button,
117
- Col,
118
- ElIconSetting,
119
- Popover,
120
- Row,
121
- HelpModeDialog,
122
- },
123
- methods: {
124
- saveSettings: function () {
125
- this.mapSettings.push(this.$refs.multi.getState())
126
- },
127
- restoreSettings: function () {
128
- if (this.mapSettings.length > 0)
129
- this.$refs.multi.setState(this.mapSettings.pop())
130
- },
131
- FlatmapSelected: function (resource) {
132
- if (resource.eventType === 'click') {
133
- if (this.consoleOn) console.log('resource', resource)
134
- }
135
- },
136
- onOpenPubmedUrl: function (url) {
137
- if (this.consoleOn) console.log('open-pubmed-url', url);
138
- },
139
- onPathwaySelectionChanged: function (data) {
140
- if (this.consoleOn) console.log('pathway-selection-changed', data);
141
- },
142
- FlatmapReady: function (component) {
143
- if (this.consoleOn) console.log(component)
144
- let taxon = component.mapImp.describes
145
- let id = component.mapImp.addMarker('UBERON:0000948')
146
- window.flatmapImp = component.mapImp
147
- component.enablePanZoomEvents(true)
148
- //component.showPathwaysDrawer(false);
149
- if (this.consoleOn) console.log(taxon, id)
150
- //component.searchAndShowResult("heart");
151
- },
152
- panZoomcallback: function (payload) {
153
- this.payload = payload
154
- },
155
- openMap: function (map) {
156
- if (this.consoleOn) console.log(map)
157
- },
158
- fetchSuggestions: function (term, cb) {
159
- if (term === '') {
160
- cb([])
161
- } else {
162
- const suggestions = []
163
- const results = this.$refs.multi
164
- .getCurrentFlatmap()
165
- .searchSuggestions(term)
166
- results.__featureIds.forEach((id) => {
167
- const annotation = this.$refs.multi
168
- .getCurrentFlatmap()
169
- .mapImp.annotation(id)
170
- if (annotation && annotation.label) suggestions.push(annotation.label)
171
- })
172
- const unique = new Set(suggestions)
173
- suggestions.length = 0
174
- for (const item of unique) {
175
- suggestions.push({ value: '"' + item + '"' })
176
- }
177
- cb(suggestions)
178
- }
179
- },
180
- search: function () {
181
- if (this.consoleOn) console.log(this.searchText)
182
- this.$refs.multi
183
- .getCurrentFlatmap()
184
- .searchAndShowResult(this.searchText, true)
185
- },
186
- onFlatmapChanged: function () {
187
- this.helpMode = false;
188
- },
189
- onHelpModeShowNext: function () {
190
- this.helpModeActiveItem += 1;
191
- },
192
- onHelpModeLastItem: function (isLastItem) {
193
- if (isLastItem) {
194
- this.helpModeLastItem = true;
195
- }
196
- },
197
- onFinishHelpMode: function () {
198
- this.helpMode = false;
199
- // reset help mode to default values
200
- this.helpModeActiveItem = 0;
201
- this.helpModeLastItem = false;
202
- },
203
- onTooltipShown: function () {
204
- if (this.$refs.multi && this.$refs.multiflatmapHelp) {
205
- this.$refs.multiflatmapHelp.toggleTooltipHighlight();
206
- }
207
- },
208
- onMapTooltipShown: function () {
209
- if (this.$refs.multi && this.$refs.multiflatmapHelp) {
210
- this.$refs.multiflatmapHelp.toggleTooltipPinHighlight();
211
- }
212
- },
213
- },
214
- data: function () {
215
- return {
216
- consoleOn: true,
217
- searchText: '',
218
- disableUI: false,
219
- minZoom: 4,
220
- availableSpecies: {
221
- 'Human Female': {
222
- taxo: 'NCBITaxon:9606',
223
- biologicalSex: 'PATO:0000383',
224
- iconClass: 'mapicon-icon_human',
225
- displayWarning: true,
226
- },
227
- 'Human Male': {
228
- taxo: 'NCBITaxon:9606',
229
- biologicalSex: 'PATO:0000384',
230
- iconClass: 'mapicon-icon_human',
231
- displayWarning: true,
232
- },
233
- Rat: {
234
- taxo: 'NCBITaxon:10114',
235
- iconClass: 'mapicon-icon_rat',
236
- displayWarning: true,
237
- displayLatestChanges: true,
238
- },
239
- 'Rat (NPO)': {
240
- taxo: 'NCBITaxon:10116',
241
- iconClass: 'mapicon-icon_rat',
242
- displayWarning: true,
243
- displayLatestChanges: true,
244
- },
245
- Mouse: {
246
- taxo: 'NCBITaxon:10090',
247
- iconClass: 'mapicon-icon_mouse',
248
- displayWarning: true,
249
- },
250
- Kember: { taxo: 'ABI:1000001', displayWarning: true },
251
- Pig: {
252
- taxo: 'NCBITaxon:9823',
253
- iconClass: 'mapicon-icon_pig',
254
- displayWarning: true,
255
- },
256
- Cat: {
257
- taxo: 'NCBITaxon:9685',
258
- iconClass: 'mapicon-icon_cat',
259
- displayWarning: true,
260
- },
261
- Sample: { taxo: 'NCBITaxon:1', displayWarning: true },
262
- 'Functional Connectivity': {
263
- taxo: 'FunctionalConnectivity',
264
- displayWarning: true,
265
- },
266
- },
267
- tooltipContent: undefined,
268
- tStyle: {
269
- top: '200px',
270
- left: '200px',
271
- position: 'absolute',
272
- },
273
- displayCloseButton: false,
274
- initial: 'Rat',
275
- helpMode: false,
276
- helpModeActiveItem: 0,
277
- helpModeLastItem: false,
278
- useHelpModeDialog: true,
279
- multiflatmapRef: null,
280
- mapSettings: [],
281
- //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v2/"
282
- //flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v3/"
283
- //flatmapAPI: "https://mapcoe-demo.org/current/flatmap/v3/",
284
- flatmapAPI: 'https://mapcore-demo.org/devel/flatmap/v4/',
285
- //flatmapAPI: "https://mapcore-demo.org/fccb/flatmap/"
286
- //flatmapAPI: "https://mapcore-demo.org/staging/flatmap/v1/"
287
- // flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v1/",
288
- ElIconSetting: shallowRef(ElIconSetting)
289
- }
290
- },
291
- mounted: function () {
292
- this.multiflatmapRef = this.$refs.multi;
293
- },
294
- watch: {
295
- helpMode: function (newVal) {
296
- if (!newVal) {
297
- this.helpModeActiveItem = 0;
298
- }
299
- }
300
- },
301
- components: {
302
- MultiFlatmapVuer,
303
- },
304
- }
305
- </script>
306
-
307
- <style lang="scss">
308
- #app {
309
- font-family: 'Asap', 'Avenir', Helvetica, Arial, sans-serif;
310
- -webkit-font-smoothing: antialiased;
311
- -moz-osx-font-smoothing: grayscale;
312
- text-align: center;
313
- color: #2c3e50;
314
- height: 100%;
315
- width: 100%;
316
- position: absolute;
317
- }
318
-
319
- .maplibregl-ctrl-top-left .maplibregl-ctrl {
320
- margin-top: 120px;
321
- }
322
-
323
- .search-box {
324
- margin-top: 2px;
325
- height: 28px;
326
- :deep(.el-input__inner) {
327
- background-color: $background;
328
- height: 28px;
329
- line-height: 28px;
330
- border: 1px solid rgb(144, 147, 153);
331
- border-radius: 4px;
332
- &:focus {
333
- border-color: $app-primary-color;
334
- }
335
- }
336
- }
337
-
338
- :deep(.autocomplete-popper) {
339
- min-width: 137px !important;
340
- width: auto !important;
341
- }
342
-
343
- body {
344
- margin: 0px;
345
- }
346
-
347
- .maplibregl-ctrl-top-left .maplibregl-ctrl {
348
- margin-top: 120px;
349
- }
350
-
351
- .popover {
352
- top: 5px;
353
- right: calc(50% - 20px);
354
- position: absolute;
355
- z-index: 1000;
356
- }
357
-
358
- .el-row {
359
- margin-bottom: 5px;
360
- &:last-child {
361
- margin-bottom: 0;
362
- }
363
- }
364
-
365
- .options-button {
366
- z-index:100;
367
- position: absolute;
368
- left: 50%;
369
- transform: translateX(-50%);
370
- }
371
-
372
- .options-container {
373
- text-align: center;
374
- }
375
-
376
- .el-tabs__content {
377
- height: 100%;
378
- }
379
- </style>
1
+ <template>
2
+ <div id="app">
3
+ <el-popover
4
+ placement="bottom"
5
+ trigger="click"
6
+ width="500"
7
+ popper-class="popover options-popover"
8
+ :teleported="false"
9
+ >
10
+ <div class="options-container">
11
+ <el-row :gutter="20">
12
+ <el-col :span="8">
13
+ <el-button @click="helpMode = !helpMode" size="small"
14
+ >Help Mode</el-button
15
+ >
16
+ </el-col>
17
+ <el-col :span="8">
18
+ <el-button @click="saveSettings()" size="small"
19
+ >Save Settings</el-button
20
+ >
21
+ </el-col>
22
+ <el-col :span="8">
23
+ <el-button
24
+ :disabled="mapSettings.length === 0"
25
+ @click="restoreSettings()"
26
+ size="small"
27
+ >Restore Settings</el-button
28
+ >
29
+ </el-col>
30
+ </el-row>
31
+ <el-row>
32
+ <el-col>
33
+ <el-switch
34
+ v-model="disableUI"
35
+ active-text="Disable UI"
36
+ >
37
+ </el-switch>
38
+ </el-col>
39
+ </el-row>
40
+ <el-row>
41
+ <el-col>
42
+ <el-autocomplete
43
+ class="search-box"
44
+ placeholder="Search"
45
+ v-model="searchText"
46
+ :fetch-suggestions="fetchSuggestions"
47
+ @keyup.enter="search"
48
+ @select="search"
49
+ popper-class="autocomplete-popper"
50
+ :teleported="false"
51
+ >
52
+ </el-autocomplete>
53
+ </el-col>
54
+ </el-row>
55
+ </div>
56
+ <template #reference>
57
+ <el-button class="options-button" :icon="ElIconSetting"
58
+ >Options</el-button>
59
+ </template>
60
+ </el-popover>
61
+
62
+ <MultiFlatmapVuer
63
+ ref="multi"
64
+ :availableSpecies="availableSpecies"
65
+ @resource-selected="FlatmapSelected"
66
+ :minZoom="minZoom"
67
+ @pan-zoom-callback="panZoomcallback"
68
+ @open-map="openMap"
69
+ @ready="FlatmapReady"
70
+ :initial="initial"
71
+ :helpMode="helpMode"
72
+ :helpModeDialog="useHelpModeDialog"
73
+ :helpModeActiveItem="helpModeActiveItem"
74
+ @help-mode-last-item="onHelpModeLastItem"
75
+ @shown-tooltip="onTooltipShown"
76
+ @shown-map-tooltip="onMapTooltipShown"
77
+ :displayMinimap="true"
78
+ :enableOpenMapUI="true"
79
+ :flatmapAPI="flatmapAPI"
80
+ :disableUI="disableUI"
81
+ @open-pubmed-url="onOpenPubmedUrl"
82
+ @pathway-selection-changed="onPathwaySelectionChanged"
83
+ @flatmapChanged="onFlatmapChanged"
84
+ />
85
+
86
+ <HelpModeDialog
87
+ v-if="helpMode && useHelpModeDialog"
88
+ ref="multiflatmapHelp"
89
+ :multiflatmapRef="multiflatmapRef"
90
+ :lastItem="helpModeLastItem"
91
+ @show-next="onHelpModeShowNext"
92
+ @finish-help-mode="onFinishHelpMode"
93
+ />
94
+ </div>
95
+ </template>
96
+
97
+ <script>
98
+ import { shallowRef } from 'vue';
99
+ import { Setting as ElIconSetting } from '@element-plus/icons-vue'
100
+ /* eslint-disable no-alert, no-console */
101
+ import MultiFlatmapVuer from './components/MultiFlatmapVuer.vue'
102
+ import HelpModeDialog from './components/HelpModeDialog.vue';
103
+ import {
104
+ ElAutocomplete as Autocomplete,
105
+ ElButton as Button,
106
+ ElCol as Col,
107
+ ElPopover as Popover,
108
+ ElRow as Row,
109
+ } from 'element-plus'
110
+ import './icons/mapicon-species-style.css'
111
+
112
+ export default {
113
+ name: 'app',
114
+ components: {
115
+ Autocomplete,
116
+ Button,
117
+ Col,
118
+ ElIconSetting,
119
+ Popover,
120
+ Row,
121
+ HelpModeDialog,
122
+ },
123
+ methods: {
124
+ saveSettings: function () {
125
+ this.mapSettings.push(this.$refs.multi.getState())
126
+ },
127
+ restoreSettings: function () {
128
+ if (this.mapSettings.length > 0)
129
+ this.$refs.multi.setState(this.mapSettings.pop())
130
+ },
131
+ FlatmapSelected: function (resource) {
132
+ if (resource.eventType === 'click') {
133
+ if (this.consoleOn) console.log('resource', resource)
134
+ }
135
+ },
136
+ onOpenPubmedUrl: function (url) {
137
+ if (this.consoleOn) console.log('open-pubmed-url', url);
138
+ },
139
+ onPathwaySelectionChanged: function (data) {
140
+ if (this.consoleOn) console.log('pathway-selection-changed', data);
141
+ },
142
+ FlatmapReady: function (component) {
143
+ if (this.consoleOn) console.log(component)
144
+ let taxon = component.mapImp.describes
145
+ let id = component.mapImp.addMarker('UBERON:0000948')
146
+ window.flatmapImp = component.mapImp
147
+ component.enablePanZoomEvents(true)
148
+ //component.showPathwaysDrawer(false);
149
+ if (this.consoleOn) console.log(taxon, id)
150
+ //component.searchAndShowResult("heart");
151
+ },
152
+ panZoomcallback: function (payload) {
153
+ this.payload = payload
154
+ },
155
+ openMap: function (map) {
156
+ if (this.consoleOn) console.log(map)
157
+ },
158
+ fetchSuggestions: function (term, cb) {
159
+ if (term === '') {
160
+ cb([])
161
+ } else {
162
+ const suggestions = []
163
+ const results = this.$refs.multi
164
+ .getCurrentFlatmap()
165
+ .searchSuggestions(term)
166
+ results.__featureIds.forEach((id) => {
167
+ const annotation = this.$refs.multi
168
+ .getCurrentFlatmap()
169
+ .mapImp.annotation(id)
170
+ if (annotation && annotation.label) suggestions.push(annotation.label)
171
+ })
172
+ const unique = new Set(suggestions)
173
+ suggestions.length = 0
174
+ for (const item of unique) {
175
+ suggestions.push({ value: '"' + item + '"' })
176
+ }
177
+ cb(suggestions)
178
+ }
179
+ },
180
+ search: function () {
181
+ if (this.consoleOn) console.log(this.searchText)
182
+ this.$refs.multi
183
+ .getCurrentFlatmap()
184
+ .searchAndShowResult(this.searchText, true)
185
+ },
186
+ onFlatmapChanged: function () {
187
+ this.helpMode = false;
188
+ },
189
+ onHelpModeShowNext: function () {
190
+ this.helpModeActiveItem += 1;
191
+ },
192
+ onHelpModeLastItem: function (isLastItem) {
193
+ if (isLastItem) {
194
+ this.helpModeLastItem = true;
195
+ }
196
+ },
197
+ onFinishHelpMode: function () {
198
+ this.helpMode = false;
199
+ // reset help mode to default values
200
+ this.helpModeActiveItem = 0;
201
+ this.helpModeLastItem = false;
202
+ },
203
+ onTooltipShown: function () {
204
+ if (this.$refs.multi && this.$refs.multiflatmapHelp) {
205
+ this.$refs.multiflatmapHelp.toggleTooltipHighlight();
206
+ }
207
+ },
208
+ onMapTooltipShown: function () {
209
+ if (this.$refs.multi && this.$refs.multiflatmapHelp) {
210
+ this.$refs.multiflatmapHelp.toggleTooltipPinHighlight();
211
+ }
212
+ },
213
+ },
214
+ data: function () {
215
+ return {
216
+ consoleOn: true,
217
+ searchText: '',
218
+ disableUI: false,
219
+ minZoom: 4,
220
+ availableSpecies: {
221
+ 'Human Female': {
222
+ taxo: 'NCBITaxon:9606',
223
+ biologicalSex: 'PATO:0000383',
224
+ iconClass: 'mapicon-icon_human',
225
+ displayWarning: true,
226
+ },
227
+ 'Human Male': {
228
+ taxo: 'NCBITaxon:9606',
229
+ biologicalSex: 'PATO:0000384',
230
+ iconClass: 'mapicon-icon_human',
231
+ displayWarning: true,
232
+ },
233
+ Rat: {
234
+ taxo: 'NCBITaxon:10114',
235
+ iconClass: 'mapicon-icon_rat',
236
+ displayWarning: true,
237
+ displayLatestChanges: true,
238
+ },
239
+ 'Rat (NPO)': {
240
+ taxo: 'NCBITaxon:10116',
241
+ iconClass: 'mapicon-icon_rat',
242
+ displayWarning: true,
243
+ displayLatestChanges: true,
244
+ },
245
+ Mouse: {
246
+ taxo: 'NCBITaxon:10090',
247
+ iconClass: 'mapicon-icon_mouse',
248
+ displayWarning: true,
249
+ },
250
+ Kember: { taxo: 'ABI:1000001', displayWarning: true },
251
+ Pig: {
252
+ taxo: 'NCBITaxon:9823',
253
+ iconClass: 'mapicon-icon_pig',
254
+ displayWarning: true,
255
+ },
256
+ Cat: {
257
+ taxo: 'NCBITaxon:9685',
258
+ iconClass: 'mapicon-icon_cat',
259
+ displayWarning: true,
260
+ },
261
+ Sample: { taxo: 'NCBITaxon:1', displayWarning: true },
262
+ 'Functional Connectivity': {
263
+ taxo: 'FunctionalConnectivity',
264
+ displayWarning: true,
265
+ },
266
+ },
267
+ tooltipContent: undefined,
268
+ tStyle: {
269
+ top: '200px',
270
+ left: '200px',
271
+ position: 'absolute',
272
+ },
273
+ displayCloseButton: false,
274
+ initial: 'Rat',
275
+ helpMode: false,
276
+ helpModeActiveItem: 0,
277
+ helpModeLastItem: false,
278
+ useHelpModeDialog: true,
279
+ multiflatmapRef: null,
280
+ mapSettings: [],
281
+ //flatmapAPI: "https://mapcore-demo.org/current/flatmap/v2/"
282
+ //flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v3/"
283
+ //flatmapAPI: "https://mapcoe-demo.org/current/flatmap/v3/",
284
+ flatmapAPI: 'https://mapcore-demo.org/devel/flatmap/v4/',
285
+ //flatmapAPI: "https://mapcore-demo.org/fccb/flatmap/"
286
+ //flatmapAPI: "https://mapcore-demo.org/staging/flatmap/v1/"
287
+ // flatmapAPI: "https://mapcore-demo.org/devel/flatmap/v1/",
288
+ ElIconSetting: shallowRef(ElIconSetting)
289
+ }
290
+ },
291
+ mounted: function () {
292
+ this.multiflatmapRef = this.$refs.multi;
293
+ },
294
+ watch: {
295
+ helpMode: function (newVal) {
296
+ if (!newVal) {
297
+ this.helpModeActiveItem = 0;
298
+ }
299
+ }
300
+ },
301
+ components: {
302
+ MultiFlatmapVuer,
303
+ },
304
+ }
305
+ </script>
306
+
307
+ <style lang="scss">
308
+ #app {
309
+ font-family: 'Asap', 'Avenir', Helvetica, Arial, sans-serif;
310
+ -webkit-font-smoothing: antialiased;
311
+ -moz-osx-font-smoothing: grayscale;
312
+ text-align: center;
313
+ color: #2c3e50;
314
+ height: 100%;
315
+ width: 100%;
316
+ position: absolute;
317
+ }
318
+
319
+ .maplibregl-ctrl-top-left .maplibregl-ctrl {
320
+ margin-top: 120px;
321
+ }
322
+
323
+ .search-box {
324
+ margin-top: 2px;
325
+ height: 28px;
326
+ :deep(.el-input__inner) {
327
+ background-color: $background;
328
+ height: 28px;
329
+ line-height: 28px;
330
+ border: 1px solid rgb(144, 147, 153);
331
+ border-radius: 4px;
332
+ &:focus {
333
+ border-color: $app-primary-color;
334
+ }
335
+ }
336
+ }
337
+
338
+ :deep(.autocomplete-popper) {
339
+ min-width: 137px !important;
340
+ width: auto !important;
341
+ }
342
+
343
+ body {
344
+ margin: 0px;
345
+ }
346
+
347
+ .maplibregl-ctrl-top-left .maplibregl-ctrl {
348
+ margin-top: 120px;
349
+ }
350
+
351
+ .popover {
352
+ top: 5px;
353
+ right: calc(50% - 20px);
354
+ position: absolute;
355
+ z-index: 1000;
356
+ }
357
+
358
+ .el-row {
359
+ margin-bottom: 5px;
360
+ &:last-child {
361
+ margin-bottom: 0;
362
+ }
363
+ }
364
+
365
+ .options-button {
366
+ z-index:100;
367
+ position: absolute;
368
+ left: 50%;
369
+ transform: translateX(-50%);
370
+ }
371
+
372
+ .options-container {
373
+ text-align: center;
374
+ }
375
+
376
+ .el-tabs__content {
377
+ height: 100%;
378
+ }
379
+ </style>