@abi-software/mapintegratedvuer 1.6.0-sim2-1 → 1.6.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.6.0-sim2-1",
3
+ "version": "1.6.0",
4
4
  "license": "Apache-2.0",
5
5
  "scripts": {
6
6
  "serve": "vite --host --force",
@@ -50,12 +50,13 @@
50
50
  "*.js"
51
51
  ],
52
52
  "dependencies": {
53
- "@abi-software/flatmapvuer": "^1.5.5",
54
- "@abi-software/map-side-bar": "^2.4.2",
55
- "@abi-software/map-utilities": "^1.1.2",
53
+ "@abi-software/flatmapvuer": "^1.6.0",
54
+ "@abi-software/map-side-bar": "^2.5.0",
55
+ "@abi-software/map-utilities": "^1.2.0",
56
56
  "@abi-software/plotvuer": "^1.0.3",
57
- "@abi-software/scaffoldvuer": "^1.4.2",
58
- "@abi-software/simulationvuer": "^2.0.7",
57
+ "@abi-software/scaffoldvuer": "^1.6.1",
58
+ "@abi-software/simulationvuer": "^1.0.1",
59
+ "@abi-software/sparc-annotation": "0.3.1",
59
60
  "@abi-software/svg-sprite": "^1.0.1",
60
61
  "@element-plus/icons-vue": "^2.3.1",
61
62
  "@vitejs/plugin-vue": "^4.6.2",
package/src/App.vue CHANGED
@@ -96,6 +96,7 @@ export default {
96
96
  flatmapAPI: import.meta.env.VITE_FLATMAPAPI_LOCATION,
97
97
  nlLinkPrefix: import.meta.env.VITE_NL_LINK_PREFIX,
98
98
  rootUrl: import.meta.env.VITE_ROOT_URL,
99
+ flatmapAPI2: import.meta.env.VITE_FLATMAPAPI_LOCATION2,
99
100
  }
100
101
  }
101
102
  },
@@ -149,10 +149,22 @@ export default {
149
149
  },
150
150
  popperOptions: function() {
151
151
  return {
152
- preventOverflow: {
153
- enabled: true,
154
- boundary: this.boundariesElement,
155
- }
152
+ modifiers: [
153
+ {
154
+ name: 'preventOverflow',
155
+ options: {
156
+ boundary: this.boundariesElement,
157
+ }
158
+ },
159
+ {
160
+ name: 'flip',
161
+ options: {
162
+ boundary: this.boundariesElement,
163
+ flipVariations: false,
164
+ allowedAutoPlacements: ['bottom'],
165
+ }
166
+ },
167
+ ]
156
168
  }
157
169
  },
158
170
  entries: function() {
@@ -117,10 +117,11 @@ export default {
117
117
  this.$refs.viewer?.searchSuggestions(term, suggestions);
118
118
  },
119
119
  setPanesBoundary: function() {
120
- this.$refs.contentBar?.setBoundary(this.$refs["container"][0]);
120
+ this.$refs.contentBar?.setBoundary(this.$refs["container"]);
121
121
  },
122
122
  speciesChanged: function (species) {
123
123
  this.activeSpecies = species;
124
+ this.$emit("species-changed", species);
124
125
  },
125
126
  receiveSynchronisedEvent: async function (data) {
126
127
  this.$refs.viewer?.receiveSynchronisedEvent(data);
@@ -26,7 +26,7 @@
26
26
  <map-svg-icon icon="help" class="sync-help header-icon"/>
27
27
  </template>
28
28
  <template #default>
29
- When in Linked mode the two maps will interact
29
+ When in Linked mode the two maps will interact
30
30
  <br>
31
31
  together. Select an organ in one and it will
32
32
  <br>
@@ -279,6 +279,11 @@ export default {
279
279
  this.$emit("onFullscreen");
280
280
  this.isFullscreen = !this.isFullscreen;
281
281
  },
282
+ onFullscreenEsc: function () {
283
+ if (!document.fullscreenElement) {
284
+ this.isFullscreen = false;
285
+ }
286
+ },
282
287
  close: function() {
283
288
  this.$emit("close");
284
289
  },
@@ -306,6 +311,11 @@ export default {
306
311
  mounted: function () {
307
312
  this.activeViewRef = shallowRef(this.$refs.activeViewRef);
308
313
  this.permalinkRef = shallowRef(this.$refs.permalinkRef);
314
+
315
+ document.addEventListener('fullscreenchange', this.onFullscreenEsc);
316
+ },
317
+ unmounted: function () {
318
+ document.removeEventListener('fullscreenchange', this.onFullscreenEsc);
309
319
  },
310
320
  };
311
321
  </script>
@@ -372,7 +382,7 @@ export default {
372
382
  &:hover, &:focus {
373
383
  color:#FFFFFF;
374
384
  background-color:$app-primary-color;
375
- box-shadow: -3px 2px 4px #000000;
385
+ box-shadow: -3px 2px 4px #000000;
376
386
  }
377
387
  }
378
388
 
@@ -91,6 +91,14 @@ export default {
91
91
  type: Boolean,
92
92
  default: true,
93
93
  },
94
+ /**
95
+ * The option to show annotation in sidebar.
96
+ * Default is `true`. Set `false` to show as popup on map.
97
+ */
98
+ annotationSidebar: {
99
+ type: Boolean,
100
+ default: true,
101
+ },
94
102
  },
95
103
  data: function () {
96
104
  return {
@@ -305,6 +313,7 @@ export default {
305
313
  this.options.algoliaId ? this.settingsStore.updateAlgoliaId(this.options.algoliaId) : null
306
314
  this.options.pennsieveApi ? this.settingsStore.updatePennsieveApi(this.options.pennsieveApi) : null
307
315
  this.options.flatmapAPI ? this.settingsStore.updateFlatmapAPI(this.options.flatmapAPI) : null,
316
+ this.options.flatmapAPI2 ? this.settingsStore.updateFlatmapAPI2(this.options.flatmapAPI2) : null,
308
317
  this.options.nlLinkPrefix ? this.settingsStore.updateNLLinkPrefix(this.options.nlLinkPrefix) : null
309
318
  this.options.rootUrl ? this.settingsStore.updateRootUrl(this.options.rootUrl) : null
310
319
  }
@@ -336,6 +345,7 @@ export default {
336
345
  this.isReady = true;
337
346
  this.settingsStore.updateUseHelpModeDialog(this.useHelpModeDialog);
338
347
  this.settingsStore.updateConnectivityInfoSidebar(this.connectivityInfoSidebar);
348
+ this.settingsStore.updateAnnotationSidebar(this.annotationSidebar);
339
349
  }
340
350
  }
341
351
 
@@ -15,6 +15,7 @@
15
15
  :entry="entry"
16
16
  ref="content"
17
17
  @resource-selected="resourceSelected"
18
+ @species-changed="speciesChanged"
18
19
  :visible="isIdVisible(entry.id)"
19
20
  />
20
21
  </div>
@@ -56,6 +57,9 @@ export default {
56
57
  resourceSelected: function(result) {
57
58
  this.$emit("resource-selected", result);
58
59
  },
60
+ speciesChanged: function (species) {
61
+ this.$emit("species-changed", species);
62
+ },
59
63
  getClass: function(id) {
60
64
  if (this.isIdVisible(id)) {
61
65
  return this.getRefsName(id);
@@ -25,22 +25,30 @@
25
25
  :class="['side-bar', { 'start-up': startUp }]"
26
26
  :activeTabId="activeDockedId"
27
27
  :open-at-start="startUp"
28
+ :annotationEntry="annotationEntry"
29
+ :createData="createData"
28
30
  :connectivityInfo="connectivityInfo"
29
- @connectivity-info-close="onConnectivityInfoClose"
31
+ @tab-close="onSidebarTabClose"
30
32
  @actionClick="actionClick"
31
33
  @tabClicked="tabClicked"
32
34
  @search-changed="searchChanged($event)"
33
35
  @anatomy-in-datasets="updateMarkers($event)"
36
+ @annotation-submitted="onAnnotationSubmitted"
37
+ @confirm-create="onConfirmCreate"
38
+ @cancel-create="onCancelCreate"
39
+ @confirm-delete="onConfirmDelete"
34
40
  @number-of-datasets-for-anatomies="updateScaffoldMarkers($event)"
35
41
  @hover-changed="hoverChanged($event)"
36
42
  @contextUpdate="contextUpdate($event)"
37
43
  @datalink-clicked="datalinkClicked($event)"
38
44
  @show-connectivity="onShowConnectivity"
45
+ @connectivity-component-click="onConnectivityComponentClick"
39
46
  />
40
47
  <SplitDialog
41
48
  :entries="entries"
42
49
  ref="splitdialog"
43
50
  @resource-selected="resourceSelected"
51
+ @species-changed="speciesChanged"
44
52
  />
45
53
  </div>
46
54
  </el-main>
@@ -49,6 +57,7 @@
49
57
 
50
58
  <script>
51
59
  /* eslint-disable no-alert, no-console */
60
+ import { provide, markRaw } from 'vue'
52
61
  import Tagging from '../services/tagging.js';
53
62
  import DialogToolbarContent from "./DialogToolbarContent.vue";
54
63
  import EventBus from "./EventBus";
@@ -61,8 +70,10 @@ import {
61
70
  initialDefaultState,
62
71
  intersectArrays,
63
72
  } from "./scripts/utilities.js";
73
+ import { AnnotationService } from '@abi-software/sparc-annotation'
64
74
  import { mapStores } from 'pinia';
65
75
  import { useEntriesStore } from '../stores/entries';
76
+ import { useMainStore } from '../stores/index'
66
77
  import { useSettingsStore } from '../stores/settings';
67
78
  import { useSplitFlowStore } from '../stores/splitFlow';
68
79
  import {
@@ -86,6 +97,14 @@ export default {
86
97
  SplitDialog,
87
98
  SideBar,
88
99
  },
100
+ setup() {
101
+ const mainStore = useMainStore();
102
+ provide('userApiKey', mainStore.userToken);
103
+ const settings = useSettingsStore();
104
+ let annotator = markRaw(new AnnotationService(`${settings.flatmapAPI}annotator`));
105
+ provide('$annotator', annotator)
106
+ return { annotator }
107
+ },
89
108
  props: {
90
109
  state: {
91
110
  type: Object,
@@ -101,6 +120,12 @@ export default {
101
120
  filterTriggered: false,
102
121
  availableFacets: [],
103
122
  connectivityInfo: null,
123
+ annotationEntry: {},
124
+ annotationCallback: undefined,
125
+ confirmCreateCallback: undefined,
126
+ cancelCreateCallback: undefined,
127
+ confirmDeleteCallback: undefined,
128
+ createData: {},
104
129
  }
105
130
  },
106
131
  watch: {
@@ -276,6 +301,12 @@ export default {
276
301
  offset: activeView === 'singlepanel' || activeView === '2horpanel'
277
302
  });
278
303
  },
304
+ onConnectivityComponentClick: function (data) {
305
+ EventBus.emit('connectivity-component-click', {
306
+ connectivityInfo: this.connectivityInfo,
307
+ data
308
+ });
309
+ },
279
310
  hoverChanged: function (data) {
280
311
  const hoverAnatomies = data && data.anatomy ? data.anatomy : [];
281
312
  const hoverOrgans = data && data.organs ? data.organs : [];
@@ -451,6 +482,11 @@ export default {
451
482
  this.$refs.splitdialog.sendSynchronisedEvent(result);
452
483
  }
453
484
  },
485
+ speciesChanged: function (species) {
486
+ if (this.$refs.sideBar) {
487
+ this.$refs.sideBar.close();
488
+ }
489
+ },
454
490
  tabClicked: function ({id, type}) {
455
491
  this.activeDockedId = id;
456
492
  },
@@ -492,8 +528,29 @@ export default {
492
528
  'dataset_id': datasetId || ''
493
529
  });
494
530
  },
495
- onConnectivityInfoClose: function () {
496
- EventBus.emit('connectivity-info-close');
531
+ onAnnotationSubmitted: function(annotation) {
532
+ if (this.annotationCallback) {
533
+ this.annotationCallback(annotation);
534
+ }
535
+ },
536
+ onConfirmCreate: function(payload) {
537
+ if (this.confirmCreateCallback) {
538
+ this.confirmCreateCallback(payload);
539
+ }
540
+ },
541
+ onCancelCreate: function() {
542
+ if (this.cancelCreateCallback) {
543
+ this.cancelCreateCallback();
544
+ }
545
+ },
546
+ onConfirmDelete: function(payload) {
547
+ if (this.confirmDeleteCallback) {
548
+ this.confirmDeleteCallback(payload);
549
+ }
550
+ },
551
+ onSidebarTabClose: function (id) {
552
+ if (id === 2) EventBus.emit('connectivity-info-close');
553
+ if (id === 3) EventBus.emit('annotation-close', { tabClose: true });
497
554
  },
498
555
  resetActivePathways: function () {
499
556
  const containerEl = this.$el;
@@ -517,6 +574,30 @@ export default {
517
574
  EventBus.on("PopoverActionClick", payload => {
518
575
  this.actionClick(payload);
519
576
  });
577
+ EventBus.on('annotation-open', payload => {
578
+ this.annotationEntry = payload.annotationEntry;
579
+ this.annotationCallback = markRaw(payload.commitCallback);
580
+ if (!payload.createData) {
581
+ this.createData = markRaw({});
582
+ } else {
583
+ this.createData = markRaw(payload.createData);
584
+ }
585
+ this.confirmCreateCallback = markRaw(payload.confirmCreate);
586
+ this.cancelCreateCallback = markRaw(payload.cancelCreate);
587
+ this.confirmDeleteCallback = markRaw(payload.confirmDelete);
588
+ if (this.$refs.sideBar) {
589
+ this.tabClicked({id: 3, type: 'annotation'});
590
+ this.$refs.sideBar.setDrawerOpen(true);
591
+ }
592
+ });
593
+ EventBus.on('annotation-close', payload => {
594
+ this.tabClicked({id: 1, type: 'search'});
595
+ this.annotationEntry = {};
596
+ this.createData = {};
597
+ if (this.$refs.sideBar) {
598
+ this.$refs.sideBar.setDrawerOpen(false);
599
+ }
600
+ });
520
601
  EventBus.on('connectivity-info-open', payload => {
521
602
  this.connectivityInfo = payload;
522
603
  if (this.$refs.sideBar) {
@@ -529,6 +610,11 @@ export default {
529
610
  this.connectivityInfo = null;
530
611
  this.resetActivePathways();
531
612
  });
613
+ EventBus.on('connectivity-graph-error', payload => {
614
+ if (this.$refs.sideBar) {
615
+ this.$refs.sideBar.updateConnectivityGraphError(payload.data);
616
+ }
617
+ });
532
618
  EventBus.on("OpenNewMap", type => {
533
619
  this.openNewMap(type);
534
620
  });
@@ -559,6 +645,7 @@ export default {
559
645
  PENNSIEVE_API_LOCATION: this.settingsStore.pennsieveApi,
560
646
  NL_LINK_PREFIX: this.settingsStore.nlLinkPrefix,
561
647
  ROOT_URL: this.settingsStore.rootUrl,
648
+ FLATMAPAPI_LOCATION: this.settingsStore.flatmapAPI2, // temporary
562
649
  };
563
650
  },
564
651
  entries: function() {
@@ -14,6 +14,9 @@
14
14
  @help-mode-last-item="onHelpModeLastItem"
15
15
  @shown-tooltip="onTooltipShown"
16
16
  @shown-map-tooltip="onMapTooltipShown"
17
+ @annotation-open="onAnnotationOpen"
18
+ @annotation-close="onAnnotationClose"
19
+ :annotationSidebar="annotationSidebar"
17
20
  @connectivity-info-open="onConnectivityInfoOpen"
18
21
  @connectivity-info-close="onConnectivityInfoClose"
19
22
  :connectivityInfoSidebar="connectivityInfoSidebar"
@@ -48,6 +51,7 @@ import Tagging from '../../services/tagging.js';
48
51
  import ContentMixin from "../../mixins/ContentMixin";
49
52
  import EventBus from "../EventBus";
50
53
  import {
54
+ capitalise,
51
55
  availableSpecies,
52
56
  getBodyScaffoldInfo,
53
57
  transformObjToString
@@ -179,7 +183,8 @@ export default {
179
183
  const flatmap = this.$refs.multiflatmap.getCurrentFlatmap();
180
184
  if (term && flatmap.mapImp) {
181
185
  const results = flatmap.mapImp.search(term);
182
- results.__featureIds.forEach(id => {
186
+ const featureIds = results.__featureIds || results.featureIds;
187
+ featureIds.forEach(id => {
183
188
  const annotation = flatmap.mapImp.annotation(id);
184
189
  if (annotation && annotation.label)
185
190
  suggestions.push(annotation.label);
@@ -412,6 +417,138 @@ export default {
412
417
  const flatmap = this.$refs.multiflatmap.getCurrentFlatmap();
413
418
  flatmap.changeViewingMode(modeName);
414
419
  },
420
+ removeConnectivityTooltips: function () {
421
+ const flatmap = this.$refs.multiflatmap.getCurrentFlatmap();
422
+ if (flatmap?.$el) {
423
+ // close all tooltips on the current flatmap element
424
+ const tooltips = flatmap.$el.querySelectorAll('.flatmap-tooltip-popup');
425
+ tooltips.forEach(tooltip => tooltip.remove());
426
+ }
427
+ },
428
+ createTooltipForConnectivity: function (filteredConnectivityData, mapImp) {
429
+ // combine all labels to show together
430
+ // content type must be DOM object to use HTML
431
+ const labelsContainer = document.createElement('div');
432
+ labelsContainer.classList.add('flatmap-feature-label');
433
+
434
+ filteredConnectivityData.forEach((connectivity, i) => {
435
+ const { label } = connectivity;
436
+ labelsContainer.append(capitalise(label));
437
+
438
+ if ((i + 1) < filteredConnectivityData.length) {
439
+ const hr = document.createElement('hr');
440
+ labelsContainer.appendChild(hr);
441
+ }
442
+ });
443
+
444
+ mapImp.showPopup(
445
+ filteredConnectivityData[0].featureId,
446
+ labelsContainer,
447
+ {
448
+ className: 'custom-popup flatmap-tooltip-popup',
449
+ positionAtLastClick: false,
450
+ preserveSelection: true,
451
+ }
452
+ );
453
+ },
454
+ emitConnectivityGraphError: function (errorData) {
455
+ if (errorData.length) {
456
+ const errorDataToEmit = [...new Set(errorData)];
457
+ let errorMessage = '';
458
+
459
+ errorDataToEmit.forEach((connectivity, i) => {
460
+ const { label } = connectivity;
461
+ errorMessage += (i === 0) ? capitalise(label) : label;
462
+
463
+ if (errorDataToEmit.length > 1) {
464
+ if ((i + 2) === errorDataToEmit.length) {
465
+ errorMessage += ' and ';
466
+ } else if ((i + 1) < errorDataToEmit.length) {
467
+ errorMessage += ', ';
468
+ }
469
+ }
470
+ });
471
+ errorMessage += ' cannot be found on the map!';
472
+ EventBus.emit('connectivity-graph-error', {
473
+ data: errorMessage
474
+ });
475
+ }
476
+ },
477
+ showConnectivityTooltips: function (payload) {
478
+ const { connectivityInfo, data } = payload;
479
+ const featuresToHighlight = [];
480
+ const connectivityData = [];
481
+ const filteredConnectivityData = [];
482
+ const errorData = [];
483
+
484
+ if (!data.length) {
485
+ this.removeConnectivityTooltips();
486
+ } else {
487
+ if (typeof data[0] === 'object') {
488
+ // Connectivity list hover emits array of objects
489
+ data.forEach((item) => {
490
+ connectivityData.push({
491
+ id: item.id,
492
+ label: item.name,
493
+ });
494
+ })
495
+ } else {
496
+ // Connectivity graph node click emits an array of data,
497
+ // a combination of ids and labels.
498
+ // The first half is ids and the second half is labels.
499
+ for (let i = 0; i < data.length / 2; i++) {
500
+ connectivityData.push({
501
+ id: data[i],
502
+ label: data[i + data.length / 2]
503
+ });
504
+ }
505
+ }
506
+ }
507
+
508
+ // to keep the highlighted path on map
509
+ if (connectivityInfo && connectivityInfo.featureId) {
510
+ featuresToHighlight.push(...connectivityInfo.featureId);
511
+ }
512
+
513
+ // search the features on the map first
514
+ if (this.flatmapReady) {
515
+ const flatmap = this.$refs.multiflatmap.getCurrentFlatmap();
516
+ if (flatmap.mapImp) {
517
+ connectivityData.forEach((connectivity, i) => {
518
+ const {id, label} = connectivity;
519
+ const response = flatmap.mapImp.search(id);
520
+
521
+ if (response?.results.length) {
522
+ const featureId = response?.results[0].featureId;
523
+
524
+ filteredConnectivityData.push({
525
+ featureId,
526
+ id,
527
+ label,
528
+ });
529
+ featuresToHighlight.push(id);
530
+ } else {
531
+ errorData.push(connectivity);
532
+ }
533
+ });
534
+
535
+ if (filteredConnectivityData.length) {
536
+ // show tooltip of the first item
537
+ // with all labels
538
+ this.createTooltipForConnectivity(filteredConnectivityData, flatmap.mapImp);
539
+ } else {
540
+ errorData.push(...connectivityData);
541
+ this.removeConnectivityTooltips();
542
+ }
543
+
544
+ // Emit error message for connectivity graph
545
+ this.emitConnectivityGraphError(errorData);
546
+
547
+ // highlight all available features
548
+ flatmap.mapImp.zoomToFeatures(featuresToHighlight, { noZoomIn: true });
549
+ }
550
+ }
551
+ },
415
552
  },
416
553
  computed: {
417
554
  facetSpecies() {
@@ -436,6 +573,13 @@ export default {
436
573
  },
437
574
  mounted: function () {
438
575
  this.getFeaturedDatasets();
576
+
577
+ EventBus.on('annotation-close', (payload) => {
578
+ if (payload?.tabClose && this.$refs.multiflatmap.getCurrentFlatmap()) {
579
+ this.$refs.multiflatmap.getCurrentFlatmap().annotationEventCallback({}, { type: 'aborted' })
580
+ }
581
+ });
582
+
439
583
  EventBus.on('show-connectivity', (payload) => {
440
584
  const { featureIds, offset } = payload;
441
585
  if (this.flatmapReady && this.$refs.multiflatmap) {
@@ -449,6 +593,10 @@ export default {
449
593
  }
450
594
  });
451
595
 
596
+ EventBus.on('connectivity-component-click', (payload) => {
597
+ this.showConnectivityTooltips(payload);
598
+ });
599
+
452
600
  EventBus.on("markerUpdate", () => {
453
601
  if (this.flatmapReady) {
454
602
  this.flatmapMarkerUpdate(this.$refs.multiflatmap.getCurrentFlatmap().mapImp);
@@ -15,6 +15,9 @@
15
15
  :helpMode="helpMode"
16
16
  :helpModeActiveItem="helpModeActiveItem"
17
17
  :helpModeDialog="useHelpModeDialog"
18
+ @annotation-open="onAnnotationOpen"
19
+ @annotation-close="onAnnotationClose"
20
+ :annotationSidebar="annotationSidebar"
18
21
  @help-mode-last-item="onHelpModeLastItem"
19
22
  @shown-tooltip="onTooltipShown"
20
23
  @shown-map-tooltip="onMapTooltipShown"
@@ -1,3 +1,4 @@
1
+ import { markRaw } from "vue";
1
2
  import {
2
3
  getNerveNames,
3
4
  getParentsRegion,
@@ -45,6 +46,9 @@ export default {
45
46
  connectivityInfoSidebar() {
46
47
  return this.settingsStore.connectivityInfoSidebar;
47
48
  },
49
+ annotationSidebar() {
50
+ return this.settingsStore.annotationSidebar;
51
+ },
48
52
  },
49
53
  mounted: function () {
50
54
  EventBus.on("startHelp", () => {
@@ -486,6 +490,12 @@ export default {
486
490
  }
487
491
  }
488
492
  },
493
+ onAnnotationOpen: function (payload) {
494
+ EventBus.emit('annotation-open', payload);
495
+ },
496
+ onAnnotationClose: function () {
497
+ EventBus.emit('annotation-close');
498
+ },
489
499
  onConnectivityInfoOpen: function (connectivityInfoData) {
490
500
  EventBus.emit('connectivity-info-open', connectivityInfoData);
491
501
  },
@@ -511,7 +521,7 @@ export default {
511
521
  scaffoldRef: null,
512
522
  scaffoldLoaded: false,
513
523
  isInHelp: false,
514
- hoverDelay: undefined
524
+ hoverDelay: undefined,
515
525
  };
516
526
  },
517
527
  created: function () {
@@ -13,6 +13,7 @@ export const useSettingsStore = defineStore('settings', {
13
13
  pennsieveApi: undefined,
14
14
  flatmapAPI: undefined,
15
15
  nlLinkPrefix: undefined,
16
+ flatmapAPI2: "https://mapcore-demo.org/curation/flatmap/",
16
17
  rootUrl: undefined,
17
18
  facets: { species: [], gender: [], organ: [] },
18
19
  numberOfDatasetsForFacets: [],
@@ -27,6 +28,7 @@ export const useSettingsStore = defineStore('settings', {
27
28
  helpDelay: 0,
28
29
  useHelpModeDialog: false,
29
30
  connectivityInfoSidebar: true,
31
+ annotationSidebar: true,
30
32
  }
31
33
  },
32
34
  getters: {
@@ -62,6 +64,9 @@ export const useSettingsStore = defineStore('settings', {
62
64
  updateFlatmapAPI(flatmapAPI) {
63
65
  this.flatmapAPI = flatmapAPI;
64
66
  },
67
+ updateFlatmapAPI2(flatmapAPI2) {
68
+ this.flatmapAPI2 = flatmapAPI2;
69
+ },
65
70
  updateNLLinkPrefix(nlLinkPrefix) {
66
71
  this.nlLinkPrefix = nlLinkPrefix;
67
72
  },
@@ -154,5 +159,8 @@ export const useSettingsStore = defineStore('settings', {
154
159
  updateConnectivityInfoSidebar(connectivityInfoSidebar) {
155
160
  this.connectivityInfoSidebar = connectivityInfoSidebar;
156
161
  },
162
+ updateAnnotationSidebar(annotationSidebar) {
163
+ this.annotationSidebar = annotationSidebar;
164
+ },
157
165
  }
158
166
  });
@@ -261,7 +261,6 @@ export const useSplitFlowStore = defineStore('splitFlow', {
261
261
  customLayout = newState.customLayout;
262
262
  } else {
263
263
  customLayout = presetLayouts(this.activeView);
264
- console.log(newState, customLayout)
265
264
  if (newState.slotInfo) {
266
265
  for (let i = 0; i < newState.slotInfo.length; i++) {
267
266
  switch (newState.slotInfo[i].name) {
@@ -12,12 +12,11 @@ export default defineConfig((configEnv) => {
12
12
  fileName: "mapintegratedvuer",
13
13
  },
14
14
  rollupOptions: {
15
- external: ["vue", "pinia", "@abi-software/simulationvuer"],
15
+ external: ["vue", "pinia"],
16
16
  output: {
17
17
  globals: {
18
18
  vue: "Vue",
19
19
  pinia: "pinia",
20
- "@abi-software/simulationvuer": "simulationvuer",
21
20
  },
22
21
  },
23
22
  },
@@ -1,22 +0,0 @@
1
- import { C as i } from "./ContentMixin-BPFt-RUj.js";
2
- import { SimulationVuer as t } from "@abi-software/simulationvuer";
3
- import { resolveComponent as e, openBlock as r, createBlock as a } from "vue";
4
- import { _ as m } from "./index-Fw8GJEyq.js";
5
- const c = {
6
- name: "Simulation",
7
- mixins: [i],
8
- components: {
9
- SimulationVuer: t
10
- }
11
- };
12
- function p(o, s, u, l, f, _) {
13
- const n = e("SimulationVuer");
14
- return r(), a(n, {
15
- apiLocation: o.apiLocation,
16
- id: o.entry.discoverId
17
- }, null, 8, ["apiLocation", "id"]);
18
- }
19
- const C = /* @__PURE__ */ m(c, [["render", p]]);
20
- export {
21
- C as default
22
- };