@abi-software/mapintegratedvuer 1.17.3-simulation.2 → 1.17.4

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 (47) hide show
  1. package/dist/{ConnectivityGraph-9pXPgFJR.js → ConnectivityGraph-CNtSLKGZ.js} +19 -21
  2. package/dist/{ContentMixin-DIqgKIz6.js → ContentMixin-BImmmP1E.js} +521 -295
  3. package/dist/Flatmap-CakK_75H.js +202 -0
  4. package/dist/{Iframe-CCEA3d9c.js → Iframe-C7E9XJu7.js} +2 -2
  5. package/dist/{MultiFlatmap-Cuke1uNp.js → MultiFlatmap-DnDXuvTw.js} +3 -3
  6. package/dist/{Plot-B4oTBVAT.js → Plot-CxCj3uTj.js} +2 -2
  7. package/dist/Scaffold-D1NyLNzW.js +304 -0
  8. package/dist/Simulation-Br3Grrd6.js +28 -0
  9. package/dist/{index-_b4VBGHk.js → index-qyfmiqHe.js} +22862 -27602
  10. package/dist/mapintegratedvuer.js +1 -1
  11. package/dist/mapintegratedvuer.umd.cjs +232 -4291
  12. package/dist/style-DezYtA61.js +57 -0
  13. package/dist/style.css +1 -1
  14. package/package.json +5 -10
  15. package/src/App.vue +258 -285
  16. package/src/assets/styles.scss +1 -1
  17. package/src/components/ContextCard.vue +1 -0
  18. package/src/components/EventBus.js +3 -0
  19. package/src/components/MapContent.vue +4 -9
  20. package/src/components/SplitDialog.vue +6 -2
  21. package/src/components/SplitFlow.vue +445 -504
  22. package/src/components/scripts/utilities.js +1 -1
  23. package/src/components/viewers/ConnectivityGraph.vue +1 -9
  24. package/src/components/viewers/Flatmap.vue +83 -166
  25. package/src/components/viewers/Scaffold.vue +130 -78
  26. package/src/components/viewers/Simulation.vue +11 -118
  27. package/src/components.d.ts +0 -3
  28. package/src/main.js +3 -9
  29. package/src/mixins/ContentMixin.js +384 -496
  30. package/src/mixins/DynamicMarkerMixin.js +17 -50
  31. package/src/stores/connectivities.js +10 -1
  32. package/src/stores/entries.js +1 -1
  33. package/src/stores/settings.js +0 -4
  34. package/src/stores/splitFlow.js +352 -425
  35. package/dist/Flatmap-D7GVPV7o.js +0 -103422
  36. package/dist/Scaffold-Czz8X5kL.js +0 -310
  37. package/dist/Simulation-BKmz8zwm.js +0 -107
  38. package/dist/style-CM86xE3J.js +0 -119
  39. package/src/components/DummyRouteComponent.vue +0 -1
  40. package/src/components/EventBus.ts +0 -13
  41. package/src/components/FloatingWindow.vue +0 -142
  42. package/src/components/PlotComponent.vue +0 -56
  43. package/src/services/mapping.js +0 -69
  44. package/src/services/testData.js +0 -71
  45. package/src/stores/mapping.js +0 -29
  46. package/src/stores/simulationPlotStore.js +0 -124
  47. package/src/types/simulation.js +0 -18
@@ -1,154 +1,156 @@
1
- import { defineStore } from 'pinia'
2
- import { getAvailableTermsForSpecies } from '../components/SimulatedData.js'
3
- import EventBus from '../components/EventBus'
1
+ import { defineStore } from 'pinia';
2
+ import {
3
+ getAvailableTermsForSpecies,
4
+ } from "../components/SimulatedData.js";
5
+ import EventBus from '../components/EventBus.js';
4
6
 
5
7
  /* eslint-disable no-alert, no-console */
6
8
  const presetLayouts = (view) => {
7
9
  switch (view) {
8
- case '2horpanel':
10
+ case "2horpanel":
9
11
  return {
10
- 'split-1': { content: false, horizontal: true, children: ['pane-1', 'pane-2'] },
11
- 'pane-1': { content: true, id: 1 },
12
- 'pane-2': { content: true, id: 2 },
13
- }
14
- case '2vertpanel':
12
+ "split-1": {content: false, horizontal: true, children: ["pane-1", "pane-2"]},
13
+ "pane-1": {content: true, id: 1},
14
+ "pane-2": {content: true, id: 2},
15
+ };
16
+ case "2vertpanel":
15
17
  return {
16
- 'split-1': { content: false, horizontal: false, children: ['pane-1', 'pane-2'] },
17
- 'pane-1': { content: true, id: 1 },
18
- 'pane-2': { content: true, id: 2 },
18
+ "split-1": {content: false, horizontal: false, children: ["pane-1", "pane-2"]},
19
+ "pane-1": {content: true, id: 1},
20
+ "pane-2": {content: true, id: 2},
19
21
  }
20
- case '3panel':
22
+ case "3panel":
21
23
  return {
22
- 'split-1': { content: false, horizontal: false, children: ['pane-1', 'split-2'] },
23
- 'split-2': { content: false, horizontal: true, children: ['pane-2', 'pane-3'] },
24
- 'pane-1': { content: true, id: 1 },
25
- 'pane-2': { content: true, id: 2 },
26
- 'pane-3': { content: true, id: 3 },
24
+ "split-1": {content: false, horizontal: false, children: ["pane-1", "split-2"]},
25
+ "split-2": {content: false, horizontal: true, children: ["pane-2", "pane-3"]},
26
+ "pane-1": {content: true, id: 1},
27
+ "pane-2": {content: true, id: 2},
28
+ "pane-3": {content: true, id: 3},
27
29
  }
28
- case '4panel':
30
+ case "4panel":
29
31
  return {
30
- 'split-1': { content: false, horizontal: false, children: ['split-3', 'split-2'] },
31
- 'split-2': { content: false, horizontal: true, children: ['pane-2', 'pane-3'] },
32
- 'split-3': { content: false, horizontal: true, children: ['pane-1', 'pane-4'] },
33
- 'pane-1': { content: true, id: 1 },
34
- 'pane-2': { content: true, id: 2 },
35
- 'pane-3': { content: true, id: 3 },
36
- 'pane-4': { content: true, id: 4 },
32
+ "split-1": {content: false, horizontal: false, children: ["split-3", "split-2"]},
33
+ "split-2": {content: false, horizontal: true, children: ["pane-2", "pane-3"]},
34
+ "split-3": {content: false, horizontal: true, children: ["pane-1", "pane-4"]},
35
+ "pane-1": {content: true, id: 1},
36
+ "pane-2": {content: true, id: 2},
37
+ "pane-3": {content: true, id: 3},
38
+ "pane-4": {content: true, id: 4},
37
39
  }
38
- case '5panel':
40
+ case "5panel":
39
41
  return {
40
- 'split-1': { content: false, horizontal: true, children: ['split-3', 'split-2'] },
41
- 'split-2': { content: false, horizontal: false, children: ['pane-2', 'pane-3'] },
42
- 'split-3': { content: false, horizontal: false, children: ['pane-1', 'pane-4', 'pane-5'] },
43
- 'pane-1': { content: true, id: 1 },
44
- 'pane-2': { content: true, id: 2 },
45
- 'pane-3': { content: true, id: 3 },
46
- 'pane-4': { content: true, id: 4 },
47
- 'pane-5': { content: true, id: 5 },
42
+ "split-1": {content: false, horizontal: true, children: ["split-3", "split-2"]},
43
+ "split-2": {content: false, horizontal: false, children: ["pane-2", "pane-3"]},
44
+ "split-3": {content: false, horizontal: false, children: ["pane-1","pane-4", "pane-5"]},
45
+ "pane-1": {content: true, id: 1},
46
+ "pane-2": {content: true, id: 2},
47
+ "pane-3": {content: true, id: 3},
48
+ "pane-4": {content: true, id: 4},
49
+ "pane-5": {content: true, id: 5},
48
50
  }
49
- case '6panel':
51
+ case "6panel":
50
52
  return {
51
- 'split-1': { content: false, horizontal: true, children: ['split-3', 'split-2'] },
52
- 'split-2': { content: false, horizontal: false, children: ['pane-2', 'pane-3', 'pane-5'] },
53
- 'split-3': { content: false, horizontal: false, children: ['pane-1', 'pane-4', 'pane-6'] },
54
- 'pane-1': { content: true, id: 1 },
55
- 'pane-2': { content: true, id: 2 },
56
- 'pane-3': { content: true, id: 3 },
57
- 'pane-4': { content: true, id: 4 },
58
- 'pane-5': { content: true, id: 5 },
59
- 'pane-6': { content: true, id: 6 },
53
+ "split-1": {content: false, horizontal: true, children: ["split-3", "split-2"]},
54
+ "split-2": {content: false, horizontal: false, children: ["pane-2", "pane-3", "pane-5"]},
55
+ "split-3": {content: false, horizontal: false, children: ["pane-1","pane-4", "pane-6"]},
56
+ "pane-1": {content: true, id: 1},
57
+ "pane-2": {content: true, id: 2},
58
+ "pane-3": {content: true, id: 3},
59
+ "pane-4": {content: true, id: 4},
60
+ "pane-5": {content: true, id: 5},
61
+ "pane-6": {content: true, id: 6},
60
62
  }
61
- case '6panelVertical':
63
+ case "6panelVertical":
62
64
  return {
63
- 'split-1': { content: false, horizontal: false, children: ['split-3', 'split-2'] },
64
- 'split-2': { content: false, horizontal: true, children: ['pane-2', 'pane-3', 'pane-5'] },
65
- 'split-3': { content: false, horizontal: true, children: ['pane-1', 'pane-4', 'pane-6'] },
66
- 'pane-1': { content: true, id: 1 },
67
- 'pane-2': { content: true, id: 2 },
68
- 'pane-3': { content: true, id: 3 },
69
- 'pane-4': { content: true, id: 4 },
70
- 'pane-5': { content: true, id: 5 },
71
- 'pane-6': { content: true, id: 6 },
65
+ "split-1": {content: false, horizontal: false, children: ["split-3", "split-2"]},
66
+ "split-2": {content: false, horizontal: true, children: ["pane-2", "pane-3", "pane-5"]},
67
+ "split-3": {content: false, horizontal: true, children: ["pane-1","pane-4", "pane-6"]},
68
+ "pane-1": {content: true, id: 1},
69
+ "pane-2": {content: true, id: 2},
70
+ "pane-3": {content: true, id: 3},
71
+ "pane-4": {content: true, id: 4},
72
+ "pane-5": {content: true, id: 5},
73
+ "pane-6": {content: true, id: 6},
72
74
  }
73
- case 'singlepanel':
75
+ case "singlepanel":
74
76
  default:
75
77
  return {
76
- 'split-1': { content: false, horizontal: false, children: ['pane-1'] },
77
- 'pane-1': { content: true, id: 1 },
78
- }
78
+ "split-1": {content: false, horizontal: false, children: ["pane-1"]},
79
+ "pane-1": {content: true, id: 1},
80
+ }
79
81
  }
80
82
  }
81
83
 
82
84
  //A method to assign unused entry to pane with duplicated id
83
85
  const autoAssignEntryIdsToPane = (entries, layout) => {
84
- const assignedIds = []
85
- const invalidIdKeys = []
86
+ const assignedIds = [];
87
+ const invalidIdKeys = [];
86
88
  for (const [key, value] of Object.entries(layout)) {
87
89
  if (value.content) {
88
- if (1 > value.id || assignedIds.includes(value.id)) {
90
+ if ((1 > value.id) || assignedIds.includes(value.id)) {
89
91
  //id has got an assigned pane or pane contains an invalid id,
90
92
  //cache it and find one later
91
93
  invalidIdKeys.push(key);
92
94
  } else {
93
- assignedIds.push(value.id)
95
+ assignedIds.push(value.id);
94
96
  }
95
97
  }
96
98
  }
97
99
 
98
100
  invalidIdKeys.forEach((key) => {
99
- let done = false
101
+ let done = false;
100
102
  for (let i = 0; i < entries.length && !done; i++) {
101
- if (!assignedIds.includes(entries[i].id)) {
102
- layout[key].id = entries[i].id
103
- assignedIds.push(entries.id)
104
- done = true
103
+ if (!(assignedIds.includes(entries[i].id))) {
104
+ layout[key].id = entries[i].id;
105
+ assignedIds.push(entries.id);
106
+ done = true;
105
107
  }
106
108
  }
107
- })
109
+ });
110
+
108
111
  }
109
112
 
110
113
  const extractPaneInfo = (layout) => {
111
- const panes = {}
114
+ const panes = {};
112
115
  for (const [key, value] of Object.entries(layout)) {
113
116
  if (value.content) {
114
- panes[key] = value
117
+ panes[key] = value;
115
118
  }
116
119
  }
117
- return panes
120
+ return panes;
118
121
  }
119
122
 
120
123
  const newLayoutWithOrigInfo = (original, activeView) => {
121
- const panes = extractPaneInfo(original)
122
- const customLayout = presetLayouts(activeView)
124
+ const panes = extractPaneInfo(original);
125
+ const customLayout = presetLayouts(activeView);
123
126
  for (const [key, value] of Object.entries(panes)) {
124
- customLayout[key] = value
127
+ customLayout[key] = value;
125
128
  }
126
-
127
- return customLayout
129
+ return customLayout;
128
130
  }
129
131
 
130
132
  const findKeyWithId = (layout, id) => {
131
- return Object.keys(layout).find((key) => layout[key]['id'] === id)
133
+ return Object.keys(layout).find(key => layout[key]["id"] === id);
132
134
  }
133
135
 
134
136
  const getOriginalState = () => {
135
137
  return {
136
- activeView: 'singlepanel',
138
+ activeView: "singlepanel",
137
139
  idNamePair: {},
138
140
  viewIcons: [
139
- { icon: 'singlepanel', name: 'Single view', min: 1 },
140
- { icon: '2horpanel', name: 'Horizontal split', min: 2 },
141
- { icon: '2vertpanel', name: 'Vertical split', min: 2 },
142
- { icon: '3panel', name: 'Three panes', min: 3 },
143
- { icon: '4panel', name: 'Four panes', min: 4 },
144
- { icon: '5panel', name: 'Five panes', min: 5 },
145
- { icon: '6panel', name: 'Six (horizontal)', min: 6 },
146
- { icon: '6panelVertical', name: 'Six (vertical)', min: 6 },
141
+ { icon: "singlepanel", name: "Single view", min: 1 },
142
+ { icon: "2horpanel", name: "Horizontal split", min: 2 },
143
+ { icon: "2vertpanel", name: "Vertical split", min: 2 },
144
+ { icon: "3panel", name: "Three panes", min: 3 },
145
+ { icon: "4panel", name: "Four panes", min: 4 },
146
+ { icon: "5panel", name: "Five panes", min: 5 },
147
+ { icon: "6panel", name: "Six (horizontal)", min: 6 },
148
+ { icon: "6panelVertical", name: "Six (vertical)", min: 6 },
147
149
  //{ icon: "customise", name: "Customise", min: 2 }
148
150
  ],
149
151
  customLayout: {
150
- 'split-1': { content: false, horizontal: false, children: ['pane-1'] },
151
- 'pane-1': { content: true, id: 1 },
152
+ "split-1": {content: false, horizontal: false, children: ["pane-1"]},
153
+ "pane-1": {content: true, id: 1},
152
154
  /*
153
155
  Example layout
154
156
 
@@ -159,83 +161,63 @@ const getOriginalState = () => {
159
161
  "pane-3": {content: true, id: 3},
160
162
  */
161
163
  },
162
- splitters: { first: 50, second: 50, third: 50 },
163
- }
164
+ splitters: { "first": 50, "second": 50, "third": 50 },
165
+ };
164
166
  }
165
167
 
166
168
  export const useSplitFlowStore = defineStore('splitFlow', {
167
169
  state: () => {
168
- return getOriginalState()
170
+ return getOriginalState();
169
171
  },
170
172
  getters: {
171
173
  getActivePaneIds: (state) => () => {
172
- const availablePaneIDs = []
173
- let activePaneIDs = undefined
174
+ const availablePaneIDs = [];
175
+ let activePaneIDs = undefined;
174
176
  for (const key in state.customLayout) {
175
177
  if (state.customLayout[key].id) {
176
- availablePaneIDs.push(state.customLayout[key].id)
178
+ availablePaneIDs.push(state.customLayout[key].id);
177
179
  }
178
180
  }
179
181
  switch (state.activeView) {
180
- case 'singlepanel':
181
- {
182
- activePaneIDs = availablePaneIDs.slice(0, 1)
183
- }
184
- break
182
+ case 'singlepanel': {
183
+ activePaneIDs = availablePaneIDs.slice(0, 1);
184
+ } break;
185
185
  case '2horpanel':
186
- case '2vertpanel':
187
- {
188
- activePaneIDs = availablePaneIDs.slice(0, 2)
189
- }
190
- break
191
- case '3panel':
192
- {
193
- activePaneIDs = availablePaneIDs.slice(0, 3)
194
- }
195
- break
196
- case '4panel':
197
- {
198
- activePaneIDs = availablePaneIDs.slice(0, 4)
199
- }
200
- break
201
- case '5panel':
202
- {
203
- activePaneIDs = availablePaneIDs.slice(0, 5)
204
- }
205
- break
186
+ case '2vertpanel': {
187
+ activePaneIDs = availablePaneIDs.slice(0, 2);
188
+ } break;
189
+ case '3panel': {
190
+ activePaneIDs = availablePaneIDs.slice(0, 3);
191
+ } break;
192
+ case '4panel': {
193
+ activePaneIDs = availablePaneIDs.slice(0, 4);
194
+ } break;
195
+ case '5panel': {
196
+ activePaneIDs = availablePaneIDs.slice(0, 5);
197
+ } break;
206
198
  case '6panelVertical':
207
- case '6panel':
208
- {
209
- activePaneIDs = availablePaneIDs.slice(0, 6)
210
- }
211
- break
199
+ case '6panel': {
200
+ activePaneIDs = availablePaneIDs.slice(0, 6);
201
+ } break;
212
202
  default:
213
- activePaneIDs = []
214
- break
203
+ activePaneIDs = [];
204
+ break;
215
205
  }
216
- return activePaneIDs
206
+ return activePaneIDs;
217
207
  },
218
208
  getPaneNameById: (state) => (id) => {
219
- return findKeyWithId(state.customLayout, id)
209
+ return findKeyWithId(state.customLayout, id);
220
210
  },
221
211
  getState: (state) => () => {
222
212
  return {
223
213
  activeView: state.activeView,
224
214
  splitters: state.splitters,
225
215
  customLayout: state.customLayout,
226
- }
227
- },
228
- isIdVisible: (getters) => (id) => {
229
- const paneName = getters.getPaneNameById(id);
230
- let visible = false;
231
- if (paneName !== undefined) {
232
- visible = getters.isPaneActive(paneName);
233
- }
234
- return visible;
216
+ };
235
217
  },
236
218
  isPaneActive: (state) => (panelName) => {
237
- const layout = presetLayouts(state.activeView)
238
- return Object.keys(layout).includes(panelName)
219
+ const layout = presetLayouts(state.activeView);
220
+ return (Object.keys(layout).includes(panelName));
239
221
  },
240
222
  },
241
223
  actions: {
@@ -243,44 +225,43 @@ export const useSplitFlowStore = defineStore('splitFlow', {
243
225
  let sourceKey = findKeyWithId(this.customLayout, payload.source);
244
226
  let targetKey = findKeyWithId(this.customLayout, payload.target);
245
227
  if (targetKey) {
246
- this.customLayout[targetKey].id = payload.source
228
+ this.customLayout[targetKey].id = payload.source;
247
229
  }
248
230
  if (sourceKey) {
249
- this.customLayout[sourceKey].id = payload.target
231
+ this.customLayout[sourceKey].id = payload.target;
250
232
  }
251
233
  if (emitSpeciesChanged) {
252
234
  this.updateSplitPanels();
253
235
  }
254
236
  },
255
237
  getAvailableTerms(apiLocation) {
256
- let terms = getAvailableTermsForSpecies()
238
+ let terms = getAvailableTermsForSpecies();
257
239
  for (let i = 0; i < terms.length; i++) {
258
- this.idNamePair[terms[i].id] = terms[i].name
240
+ this.idNamePair[terms[i].id] = terms[i].name;
259
241
  }
260
242
  if (apiLocation) {
261
- if (this._controller) this._controller.abort()
262
- this._controller = new AbortController()
263
- let signal = this._controller.signal
243
+ if (this._controller) this._controller.abort();
244
+ this._controller = new AbortController();
245
+ let signal = this._controller.signal;
264
246
  fetch(`${apiLocation}get-organ-curies`, {
265
247
  signal,
266
248
  })
267
- .then((response) => response.json())
268
- .then((data) => {
269
- this._controller = undefined
270
- data.uberon.array.forEach((pair) => {
271
- this.idNamePair[pair.id.toUpperCase()] = pair.name.charAt(0).toUpperCase() + pair.name.slice(1)
272
- })
273
- return
274
- })
249
+ .then(response => response.json())
250
+ .then(data => {
251
+ this._controller = undefined;
252
+ data.uberon.array.forEach(pair => {
253
+ this.idNamePair[pair.id.toUpperCase()] =
254
+ pair.name.charAt(0).toUpperCase() + pair.name.slice(1);
255
+ });
256
+ return;
257
+ });
275
258
  }
276
259
  },
277
- updateActiveView(payload, autoAssign = true, emitSpeciesChanged = true) {
260
+ updateActiveView(payload, emitSpeciesChanged = true) {
278
261
  this.activeView = payload.view;
279
262
  const customLayout = newLayoutWithOrigInfo(
280
263
  this.customLayout, this.activeView);
281
- if (autoAssign) {
282
- autoAssignEntryIdsToPane(payload.entries, customLayout);
283
- }
264
+ autoAssignEntryIdsToPane(payload.entries, customLayout);
284
265
  for (const [key, value] of Object.entries(customLayout)) {
285
266
  this.customLayout[key] = value;
286
267
  }
@@ -289,325 +270,271 @@ export const useSplitFlowStore = defineStore('splitFlow', {
289
270
  }
290
271
  },
291
272
  setSplitter(payload) {
292
- if (this.splitters[payload.name]) this.splitters[payload.name] = payload.value
273
+ if (this.splitters[payload.name])
274
+ this.splitters[payload.name] = payload.value;
293
275
  },
294
276
  setState(newState) {
295
277
  if (newState) {
296
- let customLayout = undefined
278
+ let customLayout = undefined;
297
279
  if (newState.activeView) {
298
- this.activeView = newState.activeView
280
+ this.activeView = newState.activeView;
299
281
  }
300
282
  if (newState.customLayout) {
301
- customLayout = newState.customLayout
283
+ customLayout = newState.customLayout;
302
284
  } else {
303
- customLayout = presetLayouts(this.activeView)
285
+ customLayout = presetLayouts(this.activeView);
304
286
  if (newState.slotInfo) {
305
287
  for (let i = 0; i < newState.slotInfo.length; i++) {
306
288
  switch (newState.slotInfo[i].name) {
307
- case 'first':
308
- {
309
- customLayout['pane-1'].id = newState.slotInfo[i].id
310
- }
311
- break
312
- case 'second':
313
- {
314
- if ('pane-2' in customLayout) customLayout['pane-2'].id = newState.slotInfo[i].id
315
- }
316
- break
317
- case 'thrid':
318
- {
319
- if ('pane-3' in customLayout) customLayout['pane-3'].id = newState.slotInfo[i].id
320
- }
321
- break
322
- case 'fourth':
323
- {
324
- if ('pane-4' in customLayout) customLayout['pane-4'].id = newState.slotInfo[i].id
325
- }
326
- break
327
- case 'fifth':
328
- {
329
- if ('pane-5' in customLayout) customLayout['pane-5'].id = newState.slotInfo[i].id
330
- }
331
- break
332
- case 'sixth':
333
- {
334
- if ('pane-6' in customLayout) customLayout['pane-6'].id = newState.slotInfo[i].id
335
- }
336
- break
289
+ case "first": {
290
+ customLayout["pane-1"].id = newState.slotInfo[i].id;
291
+ } break;
292
+ case "second": {
293
+ if("pane-2" in customLayout)
294
+ customLayout["pane-2"].id = newState.slotInfo[i].id;
295
+ } break;
296
+ case "thrid": {
297
+ if("pane-3" in customLayout)
298
+ customLayout["pane-3"].id = newState.slotInfo[i].id;
299
+ } break;
300
+ case "fourth": {
301
+ if("pane-4" in customLayout)
302
+ customLayout["pane-4"].id = newState.slotInfo[i].id;
303
+ } break;
304
+ case "fifth": {
305
+ if("pane-5" in customLayout)
306
+ customLayout["pane-5"].id = newState.slotInfo[i].id;
307
+ } break;
308
+ case "sixth": {
309
+ if("pane-6" in customLayout)
310
+ customLayout["pane-6"].id = newState.slotInfo[i].id;
311
+ } break;
337
312
  default:
338
- break
313
+ break;
339
314
  }
340
315
  }
341
316
  }
342
317
  }
343
318
  for (const [key, value] of Object.entries(customLayout)) {
344
- this.customLayout[key] = value
319
+ this.customLayout[key] = value;
345
320
  }
346
321
  for (const [key, value] of Object.entries(newState.splitters)) {
347
- this.splitters[key] = value
322
+ this.splitters[key] = value;
348
323
  }
349
324
  }
350
325
  },
351
- setIdToPane(id, pane = 'pane-1') {
352
- const currentKey = findKeyWithId(this.customLayout, id)
353
- const firstPaneId = this.customLayout[pane].id
354
- this.customLayout[pane].id = id
326
+ setIdToPrimaryPane(id) {
327
+ const currentKey = findKeyWithId(this.customLayout, id);
328
+ const firstPaneId = this.customLayout["pane-1"].id;
329
+ this.customLayout["pane-1"].id = id;
355
330
  if (currentKey) {
356
- this.customLayout[currentKey].id = firstPaneId
331
+ this.customLayout[currentKey].id = firstPaneId;
357
332
  }
358
333
  },
359
334
  reset() {
360
- const original = getOriginalState()
361
- this.activeView = original.activeView
362
- this.customLayout = original.customLayout
363
- this.splitters = original.splitters
335
+ const original = getOriginalState();
336
+ this.activeView = original.activeView;
337
+ this.customLayout = original.customLayout;
338
+ this.splitters = original.splitters;
364
339
  },
365
340
  closeSlot(payload) {
366
341
  if (payload) {
367
- let availableId = 0
342
+ let availableId = 0;
368
343
  if (payload.entries) {
369
- for (let i = 0; i < payload.entries.length && availableId == 0; i++) {
344
+ for (let i = 0; i < payload.entries.length &&
345
+ availableId == 0; i++) {
370
346
  //Find the first entry not currently in use
371
- if (
372
- payload.entries[i].id !== payload.id &&
373
- findKeyWithId(this.customLayout, payload.entries[i].id) === undefined
374
- ) {
375
- availableId = payload.entries[i].id
347
+ if ((payload.entries[i].id !== payload.id) &&
348
+ findKeyWithId(this.customLayout, payload.entries[i].id) === undefined) {
349
+ availableId = payload.entries[i].id;
376
350
  }
377
351
  }
378
352
  }
379
353
  //Switch the view
380
- if (this.activeView !== 'customise') {
354
+ if (this.activeView !== "customise") {
381
355
  //closePaneWithStandardLayout
382
- const pView = this.activeView
356
+ const pView = this.activeView;
383
357
  switch (this.activeView) {
384
- case '2horpanel':
385
- case '2vertpanel':
386
- this.activeView = 'singlepanel'
387
- break
388
- case '3panel':
389
- this.activeView = '2vertpanel'
390
- break
391
- case '4panel':
392
- this.activeView = '3panel'
393
- break
394
- case '5panel':
395
- this.activeView = '4panel'
396
- break
397
- case '6panelVertical':
398
- case '6panel':
399
- this.activeView = '5panel'
400
- break
358
+ case "2horpanel":
359
+ case "2vertpanel":
360
+ this.activeView = "singlepanel";
361
+ break;
362
+ case "3panel":
363
+ this.activeView = "2vertpanel";
364
+ break;
365
+ case "4panel":
366
+ this.activeView = "3panel";
367
+ break;
368
+ case "5panel":
369
+ this.activeView = "4panel";
370
+ break;
371
+ case "6panelVertical":
372
+ case "6panel":
373
+ this.activeView = "5panel";
374
+ break;
401
375
  default:
402
- break
376
+ break;
403
377
  }
404
- const customLayout = newLayoutWithOrigInfo(this.customLayout, this.activeView)
405
- const key = findKeyWithId(this.customLayout, payload.id)
378
+ const customLayout = newLayoutWithOrigInfo(
379
+ this.customLayout, this.activeView);
380
+ const key = findKeyWithId(this.customLayout, payload.id);
406
381
  // The following move the entry id to the appropriate slot
407
382
  // and remove the target id
408
383
  switch (key) {
409
- case 'pane-1':
410
- {
411
- switch (pView) {
412
- case '2horpanel':
413
- case '2vertpanel':
414
- {
415
- customLayout['pane-1'].id = customLayout['pane-2'].id
416
- customLayout['pane-2'].id = availableId
417
- }
418
- break
419
- case '3panel':
420
- {
421
- customLayout['pane-1'].id = customLayout['pane-2'].id
422
- customLayout['pane-2'].id = customLayout['pane-3'].id
423
- customLayout['pane-3'].id = availableId
424
- }
425
- break
426
- case '4panel':
427
- {
428
- customLayout['pane-1'].id = customLayout['pane-2'].id
429
- customLayout['pane-2'].id = customLayout['pane-3'].id
430
- customLayout['pane-3'].id = customLayout['pane-4'].id
431
- customLayout['pane-4'].id = availableId
432
- }
433
- break
434
- case '5panel':
435
- {
436
- customLayout['pane-1'].id = customLayout['pane-2'].id
437
- customLayout['pane-2'].id = customLayout['pane-3'].id
438
- customLayout['pane-3'].id = customLayout['pane-4'].id
439
- customLayout['pane-4'].id = customLayout['pane-5'].id
440
- customLayout['pane-5'].id = availableId
441
- }
442
- break
443
- case '6panelVertical':
444
- case '6panel':
445
- {
446
- customLayout['pane-1'].id = customLayout['pane-2'].id
447
- customLayout['pane-2'].id = customLayout['pane-3'].id
448
- customLayout['pane-3'].id = customLayout['pane-4'].id
449
- customLayout['pane-4'].id = customLayout['pane-5'].id
450
- customLayout['pane-5'].id = customLayout['pane-6'].id
451
- customLayout['pane-6'].id = availableId
452
- }
453
- break
454
- default:
455
- break
456
- }
384
+ case "pane-1": {
385
+ switch (pView) {
386
+ case "2horpanel":
387
+ case "2vertpanel": {
388
+ customLayout["pane-1"].id = customLayout["pane-2"].id;
389
+ customLayout["pane-2"].id = availableId;
390
+ } break;
391
+ case "3panel": {
392
+ customLayout["pane-1"].id = customLayout["pane-2"].id;
393
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
394
+ customLayout["pane-3"].id = availableId;
395
+ } break;
396
+ case "4panel": {
397
+ customLayout["pane-1"].id = customLayout["pane-2"].id;
398
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
399
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
400
+ customLayout["pane-4"].id = availableId;
401
+ } break;
402
+ case "5panel": {
403
+ customLayout["pane-1"].id = customLayout["pane-2"].id;
404
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
405
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
406
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
407
+ customLayout["pane-5"].id = availableId;
408
+ } break;
409
+ case "6panelVertical":
410
+ case "6panel":
411
+ {
412
+ customLayout["pane-1"].id = customLayout["pane-2"].id;
413
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
414
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
415
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
416
+ customLayout["pane-5"].id = customLayout["pane-6"].id;
417
+ customLayout["pane-6"].id = availableId;
418
+ } break;
419
+ default:
420
+ break;
457
421
  }
458
- break
459
- case 'pane-2':
460
- {
461
- switch (pView) {
462
- case '2horpanel':
463
- case '2vertpanel':
464
- {
465
- customLayout['pane-2'].id = availableId
466
- }
467
- break
468
- case '3panel':
469
- {
470
- customLayout['pane-2'].id = customLayout['pane-3'].id
471
- customLayout['pane-3'].id = availableId
472
- }
473
- break
474
- case '4panel':
475
- {
476
- customLayout['pane-2'].id = customLayout['pane-3'].id
477
- customLayout['pane-3'].id = customLayout['pane-4'].id
478
- customLayout['pane-4'].id = availableId
479
- }
480
- break
481
- case '5panel':
482
- {
483
- customLayout['pane-2'].id = customLayout['pane-3'].id
484
- customLayout['pane-3'].id = customLayout['pane-4'].id
485
- customLayout['pane-4'].id = customLayout['pane-5'].id
486
- customLayout['pane-5'].id = availableId
487
- }
488
- break
489
- case '6panelVertical':
490
- case '6panel':
491
- {
492
- customLayout['pane-2'].id = customLayout['pane-3'].id
493
- customLayout['pane-3'].id = customLayout['pane-4'].id
494
- customLayout['pane-4'].id = customLayout['pane-5'].id
495
- customLayout['pane-5'].id = customLayout['pane-6'].id
496
- customLayout['pane-6'].id = availableId
497
- }
498
- break
499
- default:
500
- break
501
- }
422
+ } break;
423
+ case "pane-2": {
424
+ switch (pView) {
425
+ case "2horpanel":
426
+ case "2vertpanel": {
427
+ customLayout["pane-2"].id = availableId;
428
+ } break;
429
+ case "3panel": {
430
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
431
+ customLayout["pane-3"].id = availableId;
432
+ } break;
433
+ case "4panel": {
434
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
435
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
436
+ customLayout["pane-4"].id = availableId;
437
+ } break;
438
+ case "5panel": {
439
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
440
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
441
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
442
+ customLayout["pane-5"].id = availableId;
443
+ } break;
444
+ case "6panelVertical":
445
+ case "6panel":
446
+ {
447
+ customLayout["pane-2"].id = customLayout["pane-3"].id;
448
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
449
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
450
+ customLayout["pane-5"].id = customLayout["pane-6"].id;
451
+ customLayout["pane-6"].id = availableId;
452
+ } break;
453
+ default:
454
+ break;
502
455
  }
503
- break
504
- case 'pane-3':
505
- {
506
- switch (pView) {
507
- case '3panel':
508
- {
509
- customLayout['pane-3'].id = availableId
510
- }
511
- break
512
- case '4panel':
513
- {
514
- customLayout['pane-3'].id = customLayout['pane-4'].id
515
- customLayout['pane-4'].id = availableId
516
- }
517
- break
518
- case '5panel':
519
- {
520
- customLayout['pane-3'].id = customLayout['pane-4'].id
521
- customLayout['pane-4'].id = customLayout['pane-5'].id
522
- customLayout['pane-5'].id = availableId
523
- }
524
- break
525
- case '6panelVertical':
526
- case '6panel':
527
- {
528
- customLayout['pane-3'].id = customLayout['pane-4'].id
529
- customLayout['pane-4'].id = customLayout['pane-5'].id
530
- customLayout['pane-5'].id = customLayout['pane-6'].id
531
- customLayout['pane-6'].id = availableId
532
- }
533
- break
534
- default:
535
- break
536
- }
456
+ } break;
457
+ case "pane-3": {
458
+ switch (pView) {
459
+ case "3panel": {
460
+ customLayout["pane-3"].id = availableId;
461
+ } break;
462
+ case "4panel": {
463
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
464
+ customLayout["pane-4"].id = availableId;
465
+ } break;
466
+ case "5panel": {
467
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
468
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
469
+ customLayout["pane-5"].id = availableId;
470
+ } break;
471
+ case "6panelVertical":
472
+ case "6panel":
473
+ {
474
+ customLayout["pane-3"].id = customLayout["pane-4"].id;
475
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
476
+ customLayout["pane-5"].id = customLayout["pane-6"].id;
477
+ customLayout["pane-6"].id = availableId;
478
+ } break;
479
+ default:
480
+ break;
537
481
  }
538
- break
539
- case 'pane-4':
540
- {
541
- switch (pView) {
542
- case '4panel':
543
- {
544
- customLayout['pane-4'].id = availableId
545
- }
546
- break
547
- case '5panel':
548
- {
549
- customLayout['pane-4'].id = customLayout['pane-5'].id
550
- customLayout['pane-5'].id = availableId
551
- }
552
- break
553
- case '6panelVertical':
554
- case '6panel':
555
- {
556
- customLayout['pane-4'].id = customLayout['pane-5'].id
557
- customLayout['pane-5'].id = customLayout['pane-6'].id
558
- customLayout['pane-6'].id = availableId
559
- }
560
- break
561
- default:
562
- break
563
- }
482
+ } break;
483
+ case "pane-4": {
484
+ switch (pView) {
485
+ case "4panel": {
486
+ customLayout["pane-4"].id = availableId;
487
+ } break;
488
+ case "5panel": {
489
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
490
+ customLayout["pane-5"].id = availableId;
491
+ } break;
492
+ case "6panelVertical":
493
+ case "6panel": {
494
+ customLayout["pane-4"].id = customLayout["pane-5"].id;
495
+ customLayout["pane-5"].id = customLayout["pane-6"].id;
496
+ customLayout["pane-6"].id = availableId;
497
+ } break;
498
+ default:
499
+ break;
564
500
  }
565
- break
566
- case 'pane-5':
567
- {
568
- switch (pView) {
569
- case '5panel':
570
- {
571
- customLayout['pane-5'].id = availableId
572
- }
573
- break
574
- case '6panelVertical':
575
- case '6panel':
576
- {
577
- customLayout['pane-5'].id = customLayout['pane-6'].id
578
- customLayout['pane-6'].id = availableId
579
- }
580
- break
581
- default:
582
- break
583
- }
501
+ } break;
502
+ case "pane-5": {
503
+ switch (pView) {
504
+ case "5panel": {
505
+ customLayout["pane-5"].id = availableId;
506
+ } break;
507
+ case "6panelVertical":
508
+ case "6panel": {
509
+ customLayout["pane-5"].id = customLayout["pane-6"].id;
510
+ customLayout["pane-6"].id = availableId;
511
+ } break;
512
+ default:
513
+ break;
584
514
  }
585
- break
586
- case 'pane-6':
587
- {
588
- switch (pView) {
589
- case '6panelVertical':
590
- case '6panel':
591
- {
592
- customLayout['pane-6'].id = availableId
593
- }
594
- break
595
- default:
596
- break
597
- }
515
+ } break;
516
+ case "pane-6" : {
517
+ switch (pView) {
518
+ case "6panelVertical":
519
+ case "6panel":
520
+ {
521
+ customLayout["pane-6"].id = availableId;
522
+ } break;
523
+ default:
524
+ break;
598
525
  }
599
- break
526
+ } break;
600
527
  default:
601
- break
528
+ break;
602
529
  }
603
530
  for (const [key, value] of Object.entries(customLayout)) {
604
- this.customLayout[key] = value
531
+ this.customLayout[key] = value;
605
532
  }
606
533
  }
607
534
  }
608
535
  },
609
536
  updateSplitPanels() {
610
- EventBus.emit('species-layout-connectivity-update')
537
+ EventBus.emit('species-layout-connectivity-update');
611
538
  },
612
- },
613
- })
539
+ }
540
+ });