@abi-software/mapintegratedvuer 1.3.5-beta.0 → 1.4.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/mapintegratedvuer",
3
- "version": "1.3.5-beta.0",
3
+ "version": "1.4.0",
4
4
  "license": "Apache-2.0",
5
5
  "scripts": {
6
6
  "serve": "vite --host --force",
@@ -18,7 +18,7 @@
18
18
  "release:beta": "npm version prerelease --force --preid=beta; npm publish --access public --tag beta",
19
19
  "release:minor": "npm version minor --force; npm publish --access public",
20
20
  "release:patch": "npm version patch --force; npm publish --access public",
21
- "version": "npm run changelog; git add CHANGELOG.md",
21
+ "version": "npm run build-bundle; npm run changelog; git add CHANGELOG.md",
22
22
  "vuese-gen": "node vuese-generator.js",
23
23
  "vuese-watch": "node vuese-generator.js watch",
24
24
  "docs:dev": "vitepress dev docs",
@@ -50,11 +50,11 @@
50
50
  "*.js"
51
51
  ],
52
52
  "dependencies": {
53
- "@abi-software/flatmapvuer": "^1.3.2",
54
- "@abi-software/map-side-bar": "^2.3.2-beta.5",
55
- "@abi-software/map-utilities": "^1.0.1-beta.3",
53
+ "@abi-software/flatmapvuer": "^1.4.0",
54
+ "@abi-software/map-side-bar": "^2.4.1",
55
+ "@abi-software/map-utilities": "^1.1.0",
56
56
  "@abi-software/plotvuer": "1.0.0",
57
- "@abi-software/scaffoldvuer": "^1.3.3",
57
+ "@abi-software/scaffoldvuer": "^1.4.0",
58
58
  "@abi-software/simulationvuer": "1.0.0",
59
59
  "@abi-software/svg-sprite": "1.0.0",
60
60
  "@element-plus/icons-vue": "^2.3.1",
package/src/App.vue CHANGED
@@ -41,7 +41,8 @@
41
41
  :useHelpModeDialog="true"
42
42
  :connectivityInfoSidebar="true"
43
43
  @updateShareLinkRequested="updateUUID"
44
- @isReady="mapIsReady"
44
+ @isReady="viewerIsReady"
45
+ @mapLoaded="mapIsLoaded"
45
46
  />
46
47
  </div>
47
48
  </div>
@@ -99,6 +100,9 @@ export default {
99
100
  }
100
101
  },
101
102
  methods: {
103
+ changeViewingMode: function(modeName) {
104
+ this.$refs.map.changeViewingMode(modeName);
105
+ },
102
106
  saveSettings: function() {
103
107
  this.mapSettings.push(this.$refs.map.getState());
104
108
  },
@@ -164,8 +168,12 @@ export default {
164
168
  setSearch: function() {
165
169
  this.$refs.map.openSearch([], "10.26275/1uno-tynt");
166
170
  },
167
- mapIsReady: function() {
168
- console.log("map is ready")
171
+ mapIsLoaded: function(map) {
172
+ console.log("map is loaded", map)
173
+ // map.changeViewingMode('Annotation')
174
+ },
175
+ viewerIsReady: function() {
176
+ console.log("viewer is ready")
169
177
  },
170
178
  parseQuery: function () {
171
179
  this.$router.isReady().then(() => {
@@ -365,7 +365,7 @@ export default {
365
365
 
366
366
  :deep(.context-card-popover.el-popover.el-popper) {
367
367
  max-width: calc(100vw - 100px);
368
- padding-right: 0px;
368
+ padding: 0px;
369
369
  width: unset!important;
370
370
  background: #fff!important;
371
371
  }
@@ -6,11 +6,14 @@
6
6
  <img :src="banner" class="context-image">
7
7
  </div>
8
8
  <div class="card-right scrollbar">
9
- <div style="margin-right: 8px;">
9
+ <div>
10
10
  <div class="title">{{contextData.heading}}</div>
11
11
  <div v-html="parseMarkdown(contextData.description)"/>
12
- <br/>
13
-
12
+ <!-- <br/> -->
13
+ </div>
14
+ </div>
15
+ <div class="card-bottom">
16
+ <div>
14
17
  <!-- Show sampeles and views seperately if they do not match -->
15
18
  <template v-if="!samplesUnderViews">
16
19
  <div v-if="contextData.views && contextData.views.length > 0" class="subtitle">Scaffold Views</div>
@@ -364,28 +367,38 @@ export default {
364
367
  display: flex;
365
368
  justify-content: center;
366
369
  align-items: center;
370
+ // text-align: initial; // default is justify
371
+ word-break: initial;
367
372
  }
368
373
 
369
374
  .context-card{
370
375
  background-color: white;
371
- max-height: 10 50px;
372
376
  font-size: 14px;
373
377
  position: relative;
374
378
  display: flex;
379
+ flex-wrap: wrap;
380
+ gap: 10px;
375
381
  width: 100%;
376
382
  max-height: 258px;
383
+ overflow-y: auto;
384
+ scrollbar-width: thin;
385
+ box-sizing: border-box;
386
+
387
+ &:not(.context-card-container) {
388
+ padding: 10px;
389
+ }
377
390
  }
378
391
 
379
392
  .context-card-view{
380
393
  cursor: pointer;
381
394
  margin-bottom: 8px;
382
395
  display: flex;
396
+ gap: 8px;
383
397
  }
384
398
 
385
399
  .view-image {
386
400
  width: 34px;
387
- height: 34px;
388
- flex: 1;
401
+ height: auto;
389
402
  }
390
403
 
391
404
  .view-descriptions {
@@ -418,8 +431,15 @@ export default {
418
431
  .card-right {
419
432
  flex: 1.5;
420
433
  word-break: normal !important;
421
- overflow-y: scroll;
422
- scrollbar-width: thin;
434
+
435
+ :deep(p:last-child) {
436
+ margin-bottom: 0;
437
+ }
438
+ }
439
+
440
+ .card-bottom {
441
+ flex: 0 0 100%;
442
+ max-width: 100%;
423
443
  }
424
444
 
425
445
  .cursor-pointer {
@@ -442,6 +462,7 @@ export default {
442
462
 
443
463
  .subtitle{
444
464
  font-weight: bold;
465
+ margin-bottom: 8px;
445
466
  }
446
467
 
447
468
  .scrollbar::-webkit-scrollbar-track {
@@ -141,19 +141,16 @@ export default {
141
141
 
142
142
  .flatmap-context-card{
143
143
  background-color: white;
144
- max-height: 10 50px;
145
144
  font-size: 12px;
146
145
  position: relative;
147
146
  display: flex;
148
147
  width: 100%;
149
148
  max-height: 258px;
149
+ padding: 10px;
150
150
  }
151
151
 
152
152
  .card-right {
153
- flex: 1.3;
154
- padding-left: 6px;
155
- // overflow-y: scroll;
156
- scrollbar-width: thin;
153
+ flex: 1;
157
154
  }
158
155
 
159
156
  .cursor-pointer {
@@ -326,6 +326,12 @@ export default {
326
326
  if (!this.state) {
327
327
  this.initialState = await initialState(this.startingMap, this.options.sparcApi);
328
328
  }
329
+ EventBus.on("mapLoaded", (map) => {
330
+ /**
331
+ * This event emit when the map is loaded.
332
+ */
333
+ this.$emit("mapLoaded", map);
334
+ });
329
335
  this.isReady = true;
330
336
  this.settingsStore.updateUseHelpModeDialog(this.useHelpModeDialog);
331
337
  this.settingsStore.updateConnectivityInfoSidebar(this.connectivityInfoSidebar);
@@ -100,9 +100,8 @@ export default {
100
100
  let provClone = {id: this.entry.id, prov: this.getFlatmapImp().provenance}; //create clone of provenance and add id
101
101
  EventBus.emit("mapImpProv", provClone); // send clone to context card
102
102
  this.$emit("flatmap-provenance-ready", provClone);
103
- if (this.entry.resource === "FunctionalConnectivity"){
104
- this.flatmapReadyForMarkerUpdates(flatmap);
105
- }
103
+ this.flatmapReadyForMarkerUpdates(flatmap);
104
+ EventBus.emit("mapLoaded", flatmap);
106
105
  },
107
106
  onPathwaySelectionChanged: function (data) {
108
107
  const { label, property, checked, selectionsTitle } = data;
@@ -158,6 +157,9 @@ export default {
158
157
  flatmap.clearSearchResults();
159
158
  }
160
159
  },
160
+ changeViewingMode: function (modeName) {
161
+ this.$refs.flatmap.changeViewingMode(modeName);
162
+ },
161
163
  },
162
164
  computed: {
163
165
  facetSpecies() {
@@ -329,6 +329,7 @@ export default {
329
329
  const flatmapImp = flatmap.mapImp;
330
330
  this.flatmapMarkerUpdate(flatmapImp);
331
331
  this.updateProvCard();
332
+ EventBus.emit("mapLoaded", flatmap);
332
333
  }
333
334
  },
334
335
  getFlatmapImp: function () {
@@ -404,6 +405,13 @@ export default {
404
405
  }
405
406
  return false;
406
407
  },
408
+ /**
409
+ * Change the view mode of the current flatmap
410
+ */
411
+ changeViewingMode: function (modeName) {
412
+ const flatmap = this.$refs.multiflatmap.getCurrentFlatmap();
413
+ flatmap.changeViewingMode(modeName);
414
+ },
407
415
  },
408
416
  computed: {
409
417
  facetSpecies() {
@@ -139,6 +139,7 @@ export default {
139
139
  this.$refs.scaffold.toggleSyncControl(this.splitFlowStore.globalCallback, rotation);
140
140
  if (this.splitFlowStore.syncMode) this.$refs.scaffold.fitWindow();
141
141
  }
142
+ EventBus.emit("mapLoaded", this.$refs.scaffold);
142
143
  },
143
144
  requestSynchronisedEvent: function (flag) {
144
145
  if (this.scaffoldLoaded) {
@@ -183,6 +184,12 @@ export default {
183
184
  updateWithViewUrl: function(viewUrl) {
184
185
  this.$refs.scaffold.updateViewURL(viewUrl);
185
186
  },
187
+ /**
188
+ * Change the view mode of the current scaffold
189
+ */
190
+ changeViewingMode: function (modeName) {
191
+ this.$refs.scaffold.changeViewingMode(modeName);
192
+ },
186
193
  },
187
194
  computed: {
188
195
  warningMessage: function() {
@@ -47,7 +47,15 @@ export default {
47
47
  let fmMarkers = this.removeMarkersNotOnFlatmap(flatmapImp, markers);
48
48
  flatmapImp.clearMarkers();
49
49
  flatmapImp.clearDatasetMarkers();
50
- flatmapImp.addDatasetMarkers(fmMarkers);
50
+ if (this.entry.resource === "FunctionalConnectivity") {
51
+ let FCMapMarkers = [];
52
+ for (let i = 0; i < fmMarkers.length; i++) {
53
+ FCMapMarkers = FCMapMarkers.concat(fmMarkers[i].terms);
54
+ }
55
+ flatmapImp.addMarkers(Array.from(new Set(FCMapMarkers)), { className: "standard-marker", cluster: false });
56
+ } else {
57
+ flatmapImp.addDatasetMarkers(fmMarkers);
58
+ }
51
59
 
52
60
  // Set the featured markers
53
61
  if (this.entry.type === "MultiFlatmap") {
@@ -208,7 +208,7 @@ export const useSplitFlowStore = defineStore('splitFlow', {
208
208
  if (this._controller) this._controller.abort();
209
209
  this._controller = new AbortController();
210
210
  let signal = this._controller.signal;
211
- console.log("getAvailableTerms")
211
+ // console.log("getAvailableTerms")
212
212
  fetch(`${apiLocation}get-organ-curies`, {
213
213
  signal,
214
214
  })