@abi-software/flatmapvuer 0.5.4 → 0.5.5-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/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/flatmapvuer",
3
- "version": "0.5.4",
3
+ "version": "0.5.5-beta.1",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -24,9 +24,9 @@
24
24
  }
25
25
  },
26
26
  "@abi-software/svg-sprite": {
27
- "version": "0.1.15",
28
- "resolved": "https://registry.npmjs.org/@abi-software/svg-sprite/-/svg-sprite-0.1.15.tgz",
29
- "integrity": "sha512-xkEdNL8l2WsH8VR21aMJo49xXYmbPp049JHnw4+FSPhQgrikX8YLBfpl7nSHHePDCToD7cax3fK2ZV7dSxKHfg==",
27
+ "version": "0.3.0",
28
+ "resolved": "https://registry.npmjs.org/@abi-software/svg-sprite/-/svg-sprite-0.3.0.tgz",
29
+ "integrity": "sha512-BU04RCF9iP2ncRQTHeXGX/bO41eDeybaiUcadIeuU2I0npSkun5rQdLroocH4FgMaygi2jOl+YObmg5tNdU8SA==",
30
30
  "requires": {
31
31
  "core-js": "^3.6.5",
32
32
  "svg-inline-loader": "^0.8.2",
@@ -11887,7 +11887,7 @@
11887
11887
  "simple-html-tokenizer": {
11888
11888
  "version": "0.1.1",
11889
11889
  "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz",
11890
- "integrity": "sha1-BcLuxXn//+FFoDCsJs/qYbmA+r4="
11890
+ "integrity": "sha512-Mc/gH3RvlKvB/gkp9XwgDKEWrSYyefIJPGG8Jk1suZms/rISdUuVEMx5O1WBnTWaScvxXDvGJrZQWblUmQHjkQ=="
11891
11891
  },
11892
11892
  "simple-swizzle": {
11893
11893
  "version": "0.2.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/flatmapvuer",
3
- "version": "0.5.4",
3
+ "version": "0.5.5-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/flatmapvuer.common.js",
6
6
  "files": [
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@abi-software/flatmap-viewer": "^2.3.3-b.4",
31
- "@abi-software/svg-sprite": "^0.1.14",
31
+ "@abi-software/svg-sprite": "^0.3.0",
32
32
  "core-js": "^3.3.2",
33
33
  "css-element-queries": "^1.2.2",
34
34
  "current-script-polyfill": "^1.0.0",
package/src/App.vue CHANGED
@@ -26,11 +26,11 @@
26
26
 
27
27
  <MultiFlatmapVuer ref="multi" :availableSpecies="availableSpecies"
28
28
  @resource-selected="FlatmapSelected" :minZoom="minZoom"
29
- @pan-zoom-callback="panZoomcallback"
29
+ @pan-zoom-callback="panZoomcallback" @open-map="openMap"
30
30
  @ready="FlatmapReady" :featureInfo="featureInfo" :searchable="searchable"
31
31
  :layerControl="layerControl"
32
32
  :initial="initial" :pathControls="pathControls" :helpMode="helpMode"
33
- :displayMinimap="true" :flatmapAPI="flatmapAPI"/>
33
+ :displayMinimap="true" :enableOpenMapUI="true" :flatmapAPI="flatmapAPI"/>
34
34
  </div>
35
35
  </template>
36
36
 
@@ -79,6 +79,9 @@ export default {
79
79
  panZoomcallback: function(payload) {
80
80
  this.payload = payload
81
81
  },
82
+ openMap: function (map) {
83
+ console.log(map)
84
+ },
82
85
  fetchSuggestions: function(term, cb) {
83
86
  if (term === "") {
84
87
  cb([]);
@@ -245,13 +245,30 @@
245
245
  <i class="el-icon-arrow-left"></i>
246
246
  </div>
247
247
  </div>
248
+ <el-popover
249
+ ref="open-map-popover"
250
+ placement="top-start"
251
+ width="128"
252
+ :append-to-body="false"
253
+ trigger="click"
254
+ popper-class="open-map-popper non-selectable"
255
+ >
256
+ <el-row v-for="item in openMapOptions" :key="item.key">
257
+ <el-button
258
+ type="primary"
259
+ plain
260
+ @click="$emit('open-map', item.key)"
261
+ >
262
+ {{item.display}}
263
+ </el-button>
264
+ </el-row>
265
+ </el-popover>
248
266
  <el-popover
249
267
  ref="backgroundPopover"
250
268
  placement="top-start"
251
269
  width="175"
252
270
  :appendToBody="false"
253
271
  trigger="click"
254
-
255
272
  popper-class="background-popper"
256
273
  >
257
274
  <el-row class="backgroundText">Organs display</el-row>
@@ -280,24 +297,50 @@
280
297
  />
281
298
  </el-row>
282
299
  </el-popover>
283
- <el-popover
284
- content="Change settings"
285
- placement="right"
286
- v-model="hoverVisibilities[3].value"
287
- :appendToBody="false"
288
- trigger="manual"
289
- popper-class="flatmap-popper right-popper"
300
+ <div
301
+ class="settings-group"
302
+ :class="{ open: drawerOpen, close: !drawerOpen }"
290
303
  >
291
- <map-svg-icon
292
- v-popover:backgroundPopover
293
- icon="changeBckgd"
294
- class="icon-button background-colour"
295
- :class="{ open: drawerOpen, close: !drawerOpen }"
296
- slot="reference"
297
- @mouseover.native="showToolitip(3)"
298
- @mouseout.native="hideToolitip(3)"
299
- />
300
- </el-popover>
304
+ <el-row>
305
+ <el-popover
306
+ v-model="hoverVisibilities[8].value"
307
+ content="Open new map"
308
+ placement="right"
309
+ :append-to-body="false"
310
+ trigger="manual"
311
+ popper-class="flatmap-popper right-popper"
312
+ >
313
+ <map-svg-icon
314
+ v-if="enableOpenMapUI && openMapOptions.length > 0"
315
+ slot="reference"
316
+ v-popover:open-map-popover
317
+ icon="openMap"
318
+ class="icon-button"
319
+ @mouseover.native="showToolitip(8)"
320
+ @mouseout.native="hideToolitip(8)"
321
+ />
322
+ </el-popover>
323
+ </el-row>
324
+ <el-row>
325
+ <el-popover
326
+ content="Change settings"
327
+ placement="right"
328
+ v-model="hoverVisibilities[3].value"
329
+ :appendToBody="false"
330
+ trigger="manual"
331
+ popper-class="flatmap-popper right-popper"
332
+ >
333
+ <map-svg-icon
334
+ v-popover:backgroundPopover
335
+ icon="changeBckgd"
336
+ class="icon-button"
337
+ slot="reference"
338
+ @mouseover.native="showToolitip(3)"
339
+ @mouseout.native="hideToolitip(3)"
340
+ />
341
+ </el-popover>
342
+ </el-row>
343
+ </div>
301
344
  <Tooltip
302
345
  ref="tooltip"
303
346
  class="tooltip"
@@ -316,6 +359,7 @@ import SelectionsGroup from "./SelectionsGroup.vue";
316
359
  import { MapSvgIcon, MapSvgSpriteColor } from "@abi-software/svg-sprite";
317
360
  import SvgLegends from "./legends/SvgLegends";
318
361
  import {
362
+ Button,
319
363
  Col,
320
364
  Loading,
321
365
  Radio,
@@ -328,6 +372,7 @@ import flatmapMarker from "../icons/flatmap-marker";
328
372
  import {FlatmapQueries} from "../services/flatmapQueries.js";
329
373
 
330
374
  locale.use(lang);
375
+ Vue.use(Button);
331
376
  Vue.use(Col);
332
377
  Vue.use(Loading.directive);
333
378
  Vue.use(Radio);
@@ -911,6 +956,33 @@ export default {
911
956
  type: Boolean,
912
957
  default: false
913
958
  },
959
+ /**
960
+ * Flag to determine rather open map UI should be
961
+ * presented or not.
962
+ */
963
+ enableOpenMapUI: {
964
+ type: Boolean,
965
+ default: false,
966
+ },
967
+ openMapOptions: {
968
+ type: Array,
969
+ default: function () {
970
+ return [
971
+ {
972
+ display: "Open AC Map",
973
+ key: "AC"
974
+ },
975
+ {
976
+ display: "Open FC Map",
977
+ key: "FC"
978
+ },
979
+ {
980
+ display: "Open 3D Human Map",
981
+ key: "3D"
982
+ },
983
+ ]
984
+ },
985
+ },
914
986
  isLegacy: {
915
987
  type: Boolean,
916
988
  default: false
@@ -975,7 +1047,8 @@ export default {
975
1047
  { value: false },
976
1048
  { value: false },
977
1049
  { value: false },
978
- { value: false }
1050
+ { value: false },
1051
+ { value: false },
979
1052
  ],
980
1053
  isFC: false,
981
1054
  inHelp: false,
@@ -1278,16 +1351,16 @@ export default {
1278
1351
  padding-left: 8px;
1279
1352
  }
1280
1353
 
1281
- .background-colour {
1354
+ .settings-group {
1282
1355
  bottom: 16px;
1283
1356
  position: absolute;
1284
1357
  transition: all 1s ease;
1285
- }
1286
- .background-colour.open {
1287
- left: 322px;
1288
- }
1289
- .background-colour.close {
1290
- left: 24px;
1358
+ &.open {
1359
+ left: 322px;
1360
+ }
1361
+ &.close {
1362
+ left: 24px;
1363
+ }
1291
1364
  }
1292
1365
 
1293
1366
  ::v-deep .background-popper {
@@ -1308,6 +1381,34 @@ export default {
1308
1381
  }
1309
1382
  }
1310
1383
 
1384
+ ::v-deep .open-map-popper {
1385
+ padding-top: 5px;
1386
+ padding-bottom: 5px;
1387
+ background-color: #ffffff;
1388
+ border: 1px solid $app-primary-color;
1389
+ box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);
1390
+ width: 178px;
1391
+ min-width: 178px;
1392
+
1393
+ .el-row ~ .el-row {
1394
+ margin-top: 8px;
1395
+ }
1396
+
1397
+ .el-button {
1398
+ padding-top:5px;
1399
+ padding-bottom:5px;
1400
+ }
1401
+
1402
+ &.el-popper[x-placement^="top"] {
1403
+ .popper__arrow {
1404
+ border-top-color: $app-primary-color !important;
1405
+ &:after {
1406
+ border-top-color: #fff !important;
1407
+ }
1408
+ }
1409
+ }
1410
+ }
1411
+
1311
1412
  .backgroundText {
1312
1413
  color: rgb(48, 49, 51);
1313
1414
  font-size: 14px;
@@ -37,10 +37,13 @@
37
37
  :latestChangesMessage="item.latestChangesMessage"
38
38
  :isLegacy="item.isLegacy"
39
39
  :ref="key"
40
+ :enableOpenMapUI="enableOpenMapUI"
41
+ :openMapOptions="openMapOptions"
40
42
  @view-latest-map="viewLatestMap"
41
43
  @resource-selected="FlatmapSelected"
42
44
  @ready="FlatmapReady"
43
45
  @pan-zoom-callback="panZoomCallback"
46
+ @open-map="$emit('open-map', $event)"
44
47
  :featureInfo="featureInfo"
45
48
  :minZoom="minZoom"
46
49
  :pathControls="pathControls"
@@ -377,6 +380,17 @@ export default {
377
380
  type: Boolean,
378
381
  default: false
379
382
  },
383
+ /**
384
+ * Flag to determine rather open map UI should be
385
+ * presented or not.
386
+ */
387
+ enableOpenMapUI: {
388
+ type: Boolean,
389
+ default: false,
390
+ },
391
+ openMapOptions: {
392
+ type: Array
393
+ },
380
394
  availableSpecies: {
381
395
  type: Object,
382
396
  default: function() {