@abi-software/flatmapvuer 0.6.1-vue3.9 → 1.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/flatmapvuer",
3
- "version": "0.6.1-vue3.9",
3
+ "version": "1.0.0",
4
4
  "license": "Apache-2.0",
5
5
  "files": [
6
6
  "dist/*",
@@ -43,16 +43,16 @@
43
43
  "./src/*": "./src/*"
44
44
  },
45
45
  "dependencies": {
46
- "@abi-software/flatmap-viewer": "^2.4.4",
46
+ "@abi-software/flatmap-viewer": "2.6.2",
47
47
  "@abi-software/sparc-annotation": "0.2.0",
48
- "@abi-software/svg-sprite": "^0.4.0-vue3-beta.0",
48
+ "@abi-software/svg-sprite": "1.0.0",
49
49
  "@element-plus/icons-vue": "^2.3.1",
50
50
  "css-element-queries": "^1.2.2",
51
51
  "element-plus": "2.5.5",
52
52
  "mitt": "^3.0.1",
53
53
  "pinia": "^2.1.7",
54
54
  "unplugin-vue-components": "^0.26.0",
55
- "vue": "^3.3.13"
55
+ "vue": "^3.4.15"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@cypress/webpack-dev-server": "^3.6.1",
@@ -2,7 +2,7 @@
2
2
  <el-main class="main">
3
3
  <div class="block">
4
4
  <el-row class="info-field">
5
- <span class="title">Feature Annotations</span>
5
+ <div class="title">Feature Annotations</div>
6
6
  </el-row>
7
7
  <template v-if="annotationEntry">
8
8
  <el-row
@@ -332,6 +332,10 @@ export default {
332
332
 
333
333
  .block {
334
334
  margin-bottom: 0.5em;
335
+
336
+ .main > &:first-of-type {
337
+ margin-right: 0.5em;
338
+ }
335
339
  }
336
340
 
337
341
  .button {
@@ -363,7 +367,7 @@ export default {
363
367
  padding: 1em !important;
364
368
  overflow-x: hidden;
365
369
  overflow-y: auto;
366
- min-width: 20rem;
370
+ min-width: 300px; // .maplibregl-popup max-width
367
371
  max-height: 400px;
368
372
  scrollbar-width: thin;
369
373
 
@@ -377,6 +377,7 @@
377
377
  <el-select
378
378
  :teleported="false"
379
379
  v-model="viewingMode"
380
+ @change="changeViewingMode"
380
381
  placeholder="Select"
381
382
  class="select-box"
382
383
  popper-class="flatmap_dropdown"
@@ -637,7 +638,7 @@ export default {
637
638
  setFlightPath3D: function (flag) {
638
639
  this.flightPath3DRadio = flag
639
640
  if (this.mapImp) {
640
- this.mapImp.enable3dPaths(flag)
641
+ this.mapImp.enableFlightPaths(flag)
641
642
  }
642
643
  },
643
644
  /**
@@ -1027,6 +1028,16 @@ export default {
1027
1028
  }
1028
1029
  }
1029
1030
  },
1031
+ /**
1032
+ * @vuese
1033
+ * Function triggered by viewing mode change.
1034
+ * (e.g., from 'Exploration' to 'Annotation')
1035
+ * All tooltips and popups currently showing on map will be closed
1036
+ * when this function is triggered.
1037
+ */
1038
+ changeViewingMode: function () {
1039
+ this.closeTooltip()
1040
+ },
1030
1041
  /**
1031
1042
  * @vuese
1032
1043
  * Function to create/display tooltips from the provided ``data``.
@@ -1067,13 +1078,13 @@ export default {
1067
1078
  */
1068
1079
  popUpCssHacks: function () {
1069
1080
  // Below is a hack to remove flatmap tooltips while popup is open
1070
- let ftooltip = document.querySelector('.flatmap-tooltip-popup')
1081
+ const ftooltip = document.querySelector('.flatmap-tooltip-popup')
1082
+ const popupCloseButton = document.querySelector('.maplibregl-popup-close-button')
1071
1083
  if (ftooltip) ftooltip.style.display = 'none'
1072
- document.querySelector('.maplibregl-popup-close-button').style.display =
1073
- 'block'
1084
+ popupCloseButton.style.display = 'block'
1074
1085
  this.$refs.tooltip.$el.style.display = 'flex'
1075
- document.querySelector('.maplibregl-popup-close-button').onclick = () => {
1076
- document.querySelector('.flatmap-tooltip-popup').style.display = 'block'
1086
+ popupCloseButton.onclick = () => {
1087
+ if (ftooltip) ftooltip.style.display = 'block'
1077
1088
  }
1078
1089
  },
1079
1090
  /**
@@ -1344,8 +1355,8 @@ export default {
1344
1355
  if (mapVersion === mapVersionForFlightPath || mapVersion > mapVersionForFlightPath) {
1345
1356
  // Show flight path option UI
1346
1357
  this.displayFlightPathOption = true
1347
- // Show 3D as default on FC type
1348
- this.setFlightPath3D(true)
1358
+ // Show 2D as default on FC type
1359
+ this.setFlightPath3D(false)
1349
1360
  }
1350
1361
  },
1351
1362
  /**
@@ -2013,23 +2024,77 @@ export default {
2013
2024
  }
2014
2025
  &.maplibregl-popup-anchor-top {
2015
2026
  .maplibregl-popup-content {
2016
- margin-top: 18px;
2027
+ margin-top: 12px;
2017
2028
  &::after,
2018
2029
  &::before {
2019
- top: calc(-100% + 6px);
2030
+ top: auto;
2031
+ bottom: 100%;
2020
2032
  border-width: 12px;
2021
2033
  }
2022
2034
  /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */
2023
2035
  &::after {
2024
- margin-top: 1px;
2025
2036
  border-color: transparent transparent rgb(255, 255, 255) transparent;
2026
2037
  }
2027
2038
  &::before {
2028
2039
  margin: 0 auto;
2040
+ margin-bottom: 1px;
2029
2041
  border-color: transparent transparent $app-primary-color transparent;
2030
2042
  }
2031
2043
  }
2032
2044
  }
2045
+ &.maplibregl-popup-anchor-left {
2046
+ margin-left: 8px;
2047
+ .maplibregl-popup-content {
2048
+ &::after,
2049
+ &::before {
2050
+ top: 50%;
2051
+ left: 0;
2052
+ border-width: 8px;
2053
+ margin-top: -8px;
2054
+ margin-left: -16px;
2055
+ }
2056
+ /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */
2057
+ &::after {
2058
+ transform: translateX(1px);
2059
+ border-color: transparent rgb(255, 255, 255) transparent transparent;
2060
+ }
2061
+ &::before {
2062
+ border-color: transparent $app-primary-color transparent transparent;
2063
+ }
2064
+ }
2065
+ }
2066
+ &.maplibregl-popup-anchor-right {
2067
+ margin-right: 8px;
2068
+ .maplibregl-popup-content {
2069
+ &::after,
2070
+ &::before {
2071
+ top: 50%;
2072
+ right: 0;
2073
+ border-width: 8px;
2074
+ margin-top: -8px;
2075
+ margin-right: -16px;
2076
+ }
2077
+ /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */
2078
+ &::after {
2079
+ transform: translateX(-1px);
2080
+ border-color: transparent transparent transparent rgb(255, 255, 255);
2081
+ }
2082
+ &::before {
2083
+ border-color: transparent transparent transparent $app-primary-color;
2084
+ }
2085
+ }
2086
+ }
2087
+ &.maplibregl-popup-anchor-top-left,
2088
+ &.maplibregl-popup-anchor-top-right,
2089
+ &.maplibregl-popup-anchor-bottom-left,
2090
+ &.maplibregl-popup-anchor-bottom-right {
2091
+ .maplibregl-popup-content {
2092
+ &::after,
2093
+ &::before {
2094
+ display: none;
2095
+ }
2096
+ }
2097
+ }
2033
2098
  .maplibregl-popup-content {
2034
2099
  border-radius: 4px;
2035
2100
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
@@ -2089,7 +2154,7 @@ export default {
2089
2154
  :deep(.flatmapvuer-popover) {
2090
2155
  .maplibregl-popup-close-button {
2091
2156
  position: absolute;
2092
- right: 0.5em;
2157
+ right: 0;
2093
2158
  top: 0;
2094
2159
  border: 0;
2095
2160
  border-radius: 0 3px 0 0;
@@ -2097,7 +2162,11 @@ export default {
2097
2162
  background-color: transparent;
2098
2163
  font-size: 2.5em;
2099
2164
  color: grey;
2100
- top: 0.95em;
2165
+ transition: color 0.3s ease;
2166
+
2167
+ &:hover {
2168
+ color: $app-primary-color;
2169
+ }
2101
2170
  }
2102
2171
  }
2103
2172
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div v-if="entry" class="main" v-loading="loading">
3
3
  <div class="block" v-if="entry.title">
4
- <span class="title">{{ capitalise(entry.title) }}</span>
4
+ <div class="title">{{ capitalise(entry.title) }}</div>
5
5
  <div
6
6
  v-if="
7
7
  entry.provenanceTaxonomyLabel &&
@@ -13,7 +13,7 @@
13
13
  </div>
14
14
  </div>
15
15
  <div class="block" v-else>
16
- <span class="title">{{ entry.featureId }}</span>
16
+ <div class="title">{{ entry.featureId }}</div>
17
17
  </div>
18
18
  <div v-show="showDetails" class="hide" id="hide-path-info" @click="showDetails = false">
19
19
  Hide path information
@@ -284,7 +284,7 @@ export default {
284
284
 
285
285
  .title {
286
286
  text-align: left;
287
- width: 16em;
287
+ // width: 16em;
288
288
  line-height: 1.5em !important;
289
289
  font-size: 1em;
290
290
  font-family: Helvetica;
@@ -295,6 +295,10 @@ export default {
295
295
 
296
296
  .block {
297
297
  margin-bottom: 0.5em;
298
+
299
+ .main > &:first-of-type {
300
+ margin-right: 0.5em;
301
+ }
298
302
  }
299
303
 
300
304
  .pub {
@@ -468,6 +472,10 @@ export default {
468
472
  overflow-y: scroll;
469
473
  scrollbar-width: thin !important;
470
474
  max-height: 240px;
475
+
476
+ .block {
477
+ padding-top: 0.5em;
478
+ }
471
479
  }
472
480
 
473
481
  .scrollbar::-webkit-scrollbar-track {
@@ -9,7 +9,6 @@ declare module 'vue' {
9
9
  export interface GlobalComponents {
10
10
  AnnotationTool: typeof import('./components/AnnotationTool.vue')['default']
11
11
  DynamicLegends: typeof import('./components/legends/DynamicLegends.vue')['default']
12
- ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
13
12
  ElButton: typeof import('element-plus/es')['ElButton']
14
13
  ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
15
14
  ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
@@ -30,7 +29,6 @@ declare module 'vue' {
30
29
  ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
31
30
  ElRow: typeof import('element-plus/es')['ElRow']
32
31
  ElSelect: typeof import('element-plus/es')['ElSelect']
33
- ElSwitch: typeof import('element-plus/es')['ElSwitch']
34
32
  ElTree: typeof import('element-plus/es')['ElTree']
35
33
  ExternalResourceCard: typeof import('./components/ExternalResourceCard.vue')['default']
36
34
  FlatmapVuer: typeof import('./components/FlatmapVuer.vue')['default']