@abi-software/map-side-bar 1.2.0 → 1.2.3-hardcoded-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/map-side-bar",
3
- "version": "1.1.14",
3
+ "version": "1.2.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abi-software/map-side-bar",
3
- "version": "1.2.0",
3
+ "version": "1.2.3-hardcoded-1",
4
4
  "main": "./dist/map-side-bar.common.js",
5
5
  "files": [
6
6
  "dist/*",
@@ -11,6 +11,7 @@
11
11
  "id": "Sample 1",
12
12
  "path": "",
13
13
  "view": "View 1",
14
+ "color": "#FFFF00",
14
15
  "thumbnail": "https://raw.githubusercontent.com/ABI-Software/map-sidebar/main/assets/temp-pics/orange.png"
15
16
  },
16
17
  {
@@ -21,8 +22,9 @@
21
22
  "id": "Sample 2",
22
23
  "path": "",
23
24
  "view": "View 2",
25
+ "color": "#FFA500",
24
26
  "thumbnail": "https://raw.githubusercontent.com/ABI-Software/map-sidebar/main/assets/temp-pics/teal.png"
25
27
  }
26
28
  ],
27
- "version": "0.1.0",
29
+ "version": "0.1.0"
28
30
  }
@@ -75,6 +75,7 @@ export class AlgoliaClient {
75
75
  _processResultsForCards(results) {
76
76
  let newResults = []
77
77
  let newResult = {}
78
+ let id = 0
78
79
  for (let res of results) {
79
80
  newResult = {...res}
80
81
  newResult = {
@@ -83,7 +84,9 @@ export class AlgoliaClient {
83
84
  description: res.item.description,
84
85
  updated: res.pennsieve.updatedAt,
85
86
  publishDate: res.pennsieve.publishDate,
86
- }
87
+ id: id
88
+ }
89
+ id++
87
90
  newResults.push(newResult)
88
91
  }
89
92
  return newResults
@@ -11,7 +11,7 @@
11
11
  <div class="title">{{contextData.heading}}</div>
12
12
  <div>{{contextData.description}}</div>
13
13
  <br/>
14
- <div v-if="contextData.views" class="subtitle">Scaffold Views</div>
14
+ <div v-if="contextData.views && contextData.views.length > 0" class="subtitle">Scaffold Views</div>
15
15
  <template v-for="(view, i) in contextData.views">
16
16
  <span v-bind:key="i+'_1'" @click="openViewFile(view)" class="context-card-item">
17
17
  <img class="key-image" :src="getFileFromPath(view.thumbnail)">
@@ -84,7 +84,7 @@ export default {
84
84
  handler(val){
85
85
  if (val) {
86
86
  // used for hardcoding data
87
- if (val === true){
87
+ if ( Number.isFinite(val) ){
88
88
  this.contextData = hardcoded_info[this.entry.discoverId]
89
89
  } else {
90
90
  this.getContextFile(val)
@@ -110,7 +110,6 @@ export default {
110
110
  })
111
111
  .then((data) => {
112
112
  this.contextData = data
113
- console.log(data)
114
113
  this.loading = false
115
114
  })
116
115
  .catch(() => {
@@ -136,7 +135,7 @@ export default {
136
135
  },
137
136
  getFileFromPath: function(path){
138
137
  // for hardcoded data
139
- if(this.entry.contextCardUrl === true){
138
+ if(this.entry.contextCardUrl && 1 > this.entry.contextCardUrl > 0){
140
139
  return path
141
140
  }
142
141
  path = this.removeDoubleFilesPath(path)
@@ -186,10 +185,13 @@ export default {
186
185
  padding: 0px;
187
186
  display: flex;
188
187
  width: 516px;
188
+ max-height: 480px;
189
+ overflow-y: scroll !important;
190
+ scrollbar-width: thin;
189
191
  }
190
192
 
191
193
  .context-image{
192
- width: 250px;
194
+ width: 230px;
193
195
  height: auto;
194
196
  }
195
197
 
@@ -207,7 +209,6 @@ export default {
207
209
  border: solid 1px #e4e7ed;
208
210
  display: flex;
209
211
  width: 500px;
210
- max-height: 480px;
211
212
  }
212
213
 
213
214
  .card-left{
@@ -237,4 +238,22 @@ export default {
237
238
  .subtitle{
238
239
  font-weight: bold;
239
240
  }
241
+
242
+ /* Custom scroll bar */
243
+ .context-card >>> .el-card__body::-webkit-scrollbar-track {
244
+ border-radius: 10px;
245
+ background-color: #f5f5f5;
246
+ }
247
+
248
+ .context-card >>> .el-card__body::-webkit-scrollbar {
249
+ width: 12px;
250
+ right: -12px;
251
+ background-color: #f5f5f5;
252
+ }
253
+
254
+ .context-card >>> .el-card__body::-webkit-scrollbar-thumb {
255
+ border-radius: 4px;
256
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.06);
257
+ background-color: #979797;
258
+ }
240
259
  </style>
@@ -152,7 +152,7 @@ export default {
152
152
  banner: this.thumbnail
153
153
  }
154
154
  if (hardcoded_info[this.discoverId]){
155
- action.contextCardUrl = true
155
+ action.contextCardUrl = Math.random()
156
156
  }
157
157
  this.propogateCardAction(action)
158
158
  },
@@ -290,6 +290,7 @@ export default {
290
290
  this.cardOverflow = false
291
291
  this.expanded = false
292
292
  this.cardOverflow = this.isOverflown(this.$refs.card)
293
+ this.getBanner()
293
294
  }
294
295
  },
295
296
  };
@@ -22,12 +22,12 @@
22
22
  @loading="filtersLoading"
23
23
  ></SearchFilters>
24
24
  <div class="content scrollbar" v-loading="loadingCards" ref="content">
25
- <div v-if="loadingScicrunch" class="loading-icon" v-loading="loadingScicrunch"></div>
26
25
  <div
27
26
  class="error-feedback"
28
27
  v-if="results.length === 0 && !loadingCards && !sciCrunchError"
29
28
  >No results found - Please change your search / filter criteria.</div>
30
29
  <div class="error-feedback" v-if="sciCrunchError">{{sciCrunchError}}</div>
30
+ <div v-if="loadingScicrunch" class="loading-icon" v-loading="loadingScicrunch"></div>
31
31
  <div v-for="result in results" :key="result.id" class="step-item">
32
32
  <DatasetCard :entry="result" :envVars="envVars" @contextUpdate="contextCardUpdate"></DatasetCard>
33
33
  </div>
@@ -156,13 +156,15 @@ export default {
156
156
  contextCardUpdate: function(val){
157
157
  this.contextCardEntry = val
158
158
  },
159
- openSearch: function(filter, search='') {
159
+ openSearch: function(filters, search='') {
160
160
  this.searchInput = search;
161
161
  this.resetPageNavigation();
162
- this.searchAlgolia(filter, search);
163
- if (filter) {
164
- this.filter = [...filter];
165
- this.$refs.filtersRef.setCascader(this.filter);
162
+ this.searchAlgolia(filters, search);
163
+ if(filters) {
164
+ filters.forEach(filter=>{
165
+ this.filter = [...filter];
166
+ this.$refs.filtersRef.setCascader(this.filter);
167
+ })
166
168
  }
167
169
  },
168
170
  addFilter: function(filter) {
@@ -249,7 +251,6 @@ export default {
249
251
  resultsProcessing: function(data) {
250
252
  this.lastSearch = this.searchInput;
251
253
 
252
- let id = 0;
253
254
  if (data.results.length === 0) {
254
255
  return;
255
256
  }
@@ -276,19 +277,15 @@ export default {
276
277
  organs: (element.organs && element.organs.length > 0)
277
278
  ? [...new Set(element.organs.map(v => v.name))]
278
279
  : undefined,
279
- species: element.organisms
280
+ species: element.organisms
280
281
  ? element.organisms[0].species
281
282
  ? [...new Set(element.organisms.map((v) =>v.species ? v.species.name : null))]
282
283
  : undefined
283
284
  : undefined, // This processing only includes each gender once into 'sexes'
284
- id: id,
285
285
  scaffolds: element['abi-scaffold-metadata-file'] ? element['abi-scaffold-metadata-file'] : undefined,
286
286
  contextualInformation: element['abi-contextual-information'].length > 0 ? element['abi-contextual-information'] : undefined,
287
- simulation: element.additionalLinks
288
- ? element.additionalLinks[0].description == 'Repository'
289
- : false,
287
+ simulation: element['abi-simulation-file'],
290
288
  });
291
- id++;
292
289
 
293
290
  Vue.set(this.results, i, this.results[i])
294
291
  });
@@ -384,15 +381,19 @@ export default {
384
381
  }
385
382
 
386
383
  .loading-icon {
387
- position: relative;
384
+ position: absolute;
388
385
  display: flex;
389
386
  float: right;
390
- top: 0;
387
+ right: 40px;
391
388
  z-index: 20;
392
389
  width: 40px;
393
390
  height: 40px;
394
391
  }
395
392
 
393
+ .loading-icon >>> .el-loading-mask {
394
+ background-color: rgba(117, 190, 218, 0.0) !important;
395
+ }
396
+
396
397
  .pagination >>> button {
397
398
  background-color: white !important;
398
399
  }
@@ -1,4 +1,213 @@
1
1
  export default {
2
+ 221: {
3
+ "description": "3D digital tracings of the enteric plexus obtained from seven subjects (M11, M16, M134, M162, M163, M164, M168) are mapped randomly on mouse proximal colon. The data depicts individual neural wiring patterns in enteric microcircuits, and revealed both neuron and fiber units wired in a complex organization.",
4
+ "heading": "Digital tracings of enteric plexus",
5
+ "id": "sparc.science.context_data",
6
+ "samples": [
7
+ {
8
+ "annotation": "",
9
+ "description": "Neuronal soma and fibers in a myenteric ganglion in this subject are annotated into the following groups to highlight their interactions:\n\nNeuron1,2,3 Connex: Connections between 3 neurons and cross-ganglionic fibers\n\nNeuron4_Connex: A small neuron contacts fibers passing the ganglion\n\nNeuron5: Multiple projections of a neuron in an myenteric ganglion\n\nNeuron5,3,7 Connex: Connections between 3 neurons, nerve fibers, IGNEx (complex type of intraganglionic nerve endings) and fibers in the circular muscles.\n\nNeuron8,9,10 Connex: Connections of 3 neurons with each other and with long passing fibers. \n\nIntraganglionic Nerve Ending (IGNE): Digital traces of neurites consist of complex intraganglionic nerve endings. The blue fiber has branched terminals, more likely the afferent nerve endings; the violet and cyan terminals also interweave into the fiber nest; the orange, pink and peach fibers and one process of the neuron cross the IGNE to make 1-2 conjunctions.",
10
+ "doi": "",
11
+ "heading": "Digital tracing for subject M11 ",
12
+ "id": "Sample 1",
13
+ "path": "derivative/sub-M11/sam-pCm11/digital-traces/pC PHPS XFP M11 20XZ 180425_180713_2_NL_20.xml",
14
+ "view": "View 1"
15
+ },
16
+ {
17
+ "annotation": "",
18
+ "description": "Digital traces demonstrate some types of wiring. A long process of the green neuron terminates in the intraganglionic nerve endings (IGNE) while in contact with a nerve fiber (cyan), soma of a neuron (peach) and processes of 3 neurons (magenta, yellow and red). Two neurons and one fiber are traced to an IGNE.",
19
+ "doi": "",
20
+ "heading": "Digital tracing for subject M16",
21
+ "id": "Sample 2",
22
+ "path": "derivative/sub-M16/sam-pCm16/digital-traces/pC PHPS XFP M16 20XZ 180425_180524.xml",
23
+ "view": "View 2"
24
+ },
25
+ {
26
+ "annotation": "",
27
+ "description": "Digital traces demonstrate how the nerve fibers (dark green and orange) contact several neurons and/or run together with other fibers.",
28
+ "doi": "",
29
+ "heading": "Digital tracing for subject M134",
30
+ "id": "Sample 3",
31
+ "path": "derivative/sub-M134/sam-pCm134/digital-traces/pC XFP M134 20XZ 190806_191012_200130D_lx.xml",
32
+ "view": "View 3"
33
+ },
34
+ {
35
+ "annotation": "",
36
+ "description": "Various types of labeled neurons located in one large ganglion. Long nerve fibers from different directions cross the ganglion, and two fibers (magenta and green) run closely apposed in segments with axons of neurons (white and red). Two axons (aqua and peach on the top) are adjacent to each other, as well as two somas (red and yellow). One neuron (cyan) displays complex wiring with neurons nearby via the axon-soma, axon-dendritic and axon-axon contacts. Vertically projecting fibers in the left side are the fibers innervating the circular muscle. ",
37
+ "doi": "",
38
+ "heading": "Digital tracing for subject M162",
39
+ "id": "Sample 4",
40
+ "path": "derivative/sub-M162/sam-pCm162/digital-traces/pCm162_AAV_Z_20x_20200204_S1D_lx_li_z-flip.xml",
41
+ "view": "View 4"
42
+ },
43
+ {
44
+ "annotation": "",
45
+ "description": "Digital tracings from subject M163 are annotated into the following groups to highlight their interactions:\n\nF peach connex: A nerve fiber (peach) displays close appositions with a few neuronal processes. \n\nInterganglionic strand joined by Ns Fs:Axons (with contacts) and a long crossing fiber (dark green) join an interganglionic strand.\n\nN12 Connex: One neuron (green) is in contact with four others via axon-soma, axon-dendrites and axon-axon connections, as well as one passing fiber.\n",
46
+ "doi": "",
47
+ "heading": "Digital tracing for subject M163",
48
+ "id": "Sample 5",
49
+ "path": "derivative/sub-M163/sam-pCm163/digital-traces/pCm163_AAV_Z_20x_20200206_S3-ab.xml",
50
+ "view": "View 5"
51
+ },
52
+ {
53
+ "annotation": "",
54
+ "description": "Digital tracings for subject M164 demonstrates wiring of neuronal clusters.",
55
+ "doi": "",
56
+ "heading": "Digital tracing for subject M164",
57
+ "id": "Sample 6",
58
+ "path": "derivative/sub-M164/sam-pCm164/digital-traces/pCm164_AAV_Z_20x_20200211_S2A.xml",
59
+ "view": "View 6"
60
+ },
61
+ {
62
+ "annotation": "",
63
+ "description": "Digital tracings from subject M168 are annotated into the following groups to highlight their interactions:\n\nF Beige connex: Connections of one ganglion-crossing fiber (beige) with neurons and ganglion-crossing nerve fibers. \n\nF Green connex : Interganglionic connections.\n\nInterganglionic connex: Connections of one ganglion-crossing fiber (green) with neurons in two ganglia and ganglion-crossing nerve fibers. A nerve fiber (red) runs a long distance together with another fiber (green). \n\nIntraganglionic strand: Ganglia crossing fibers and axons of neurons join an interganglionic strand.",
64
+ "doi": "",
65
+ "heading": "Digital tracing for subject M168",
66
+ "id": "Sample 7",
67
+ "path": "derivative/sub-M168/digital-traces/pCm168_AAV_Z_20x_191211_S3B_lx.xml",
68
+ "view": "View 7"
69
+ }
70
+ ],
71
+ "version": "0.1.0",
72
+ "views": [
73
+ {
74
+ "annotation": "",
75
+ "description": "Digital tracing of neurons for subject M16.",
76
+ "id": "View 2",
77
+ "path": "derivative/Scaffolds/AAV_M16_view.json",
78
+ "sample": "Sample 7",
79
+ "thumbnail": "derivative/Scaffolds/AAV_M16_thumbnail.jpeg"
80
+ },
81
+ {
82
+ "annotation": "",
83
+ "description": "Digital tracing of neurons for subject M134.",
84
+ "id": "View 3",
85
+ "path": "derivative/Scaffolds/AAV_M134_view.json",
86
+ "sample": "Sample 7",
87
+ "thumbnail": "derivative/Scaffolds/AAV_M134_thumbnail.jpeg"
88
+ },
89
+ {
90
+ "annotation": "",
91
+ "description": "Digital tracing of neurons for subject M162.",
92
+ "id": "View 4",
93
+ "path": "derivative/Scaffolds/AAV_M162_view.json",
94
+ "sample": "Sample 7",
95
+ "thumbnail": "derivative/Scaffolds/AAV_M162_thumbnail.jpeg"
96
+ },
97
+ {
98
+ "annotation": "",
99
+ "description": "Digital tracing of neurons for subject M163.",
100
+ "id": "View 5",
101
+ "path": "derivative/Scaffolds/AAV_M163_view.json",
102
+ "sample": "Sample 7",
103
+ "thumbnail": "derivative/Scaffolds/AAV_M163_thumbnail.jpeg"
104
+ },
105
+ {
106
+ "annotation": "",
107
+ "description": "Digital tracing of neurons for subject M164.",
108
+ "id": "View 6",
109
+ "path": "derivative/Scaffolds/AAV_M164_view.json",
110
+ "sample": "Sample 7",
111
+ "thumbnail": "derivative/Scaffolds/AAV_M164_thumbnail.jpeg"
112
+ },
113
+ {
114
+ "annotation": "",
115
+ "description": "Digital tracing of neurons for subject M168.",
116
+ "id": "View 7",
117
+ "path": "derivative/Scaffolds/AAV_M168_view.json",
118
+ "sample": "Sample 7",
119
+ "thumbnail": "derivative/Scaffolds/AAV_M168_thumbnail.jpeg"
120
+ },
121
+ {
122
+ "annotation": "",
123
+ "description": "Digital tracing of neurons for subject M11.",
124
+ "id": "View 1",
125
+ "path": "derivative/Scaffolds/AAV_M11_view.json",
126
+ "sample": "Sample 1",
127
+ "thumbnail": "derivative/Scaffolds/AAV_M11_thumbnail.jpeg"
128
+ }
129
+ ]
130
+ },
131
+ 125: {
132
+ "description": "Cumulative distributions of retrogradely labeled motor neurons from 8 inter-tenial longitudinal muscle preparations and 7 preparations from the tenial region are mapped onto the human colon scaffold. \n\nNote that the distributions are mapped to the descending colon but consistent pattern were observed along the entire length of the colon.",
133
+ "heading": "Mapped LMMN projections",
134
+ "id": "sparc.science.context_data",
135
+ "samples": [
136
+ {
137
+ "annotation": "",
138
+ "description": "Excitatory motor neurons (ChAT+) are predominantly located aboral to the DiI application site, whereas inhibitory motor neurons (NOS+) are scattered across the distribution.",
139
+ "doi": "",
140
+ "heading": "Distribution of LMMN in inter-tenial region",
141
+ "id": "Sample 2",
142
+ "path": "",
143
+ "view": "View 2"
144
+ },
145
+ {
146
+ "annotation": "",
147
+ "description": "Excitatory motor neuron cell bodies (ChAT+) are clustered anal to the DiI application site and thus mostly had ascending projections while inhibitory motor neurons (NOS+) are located on both sides of the application site.",
148
+ "doi": "",
149
+ "heading": "Distribution of LMMN in tenial region",
150
+ "id": "Sample 1",
151
+ "path": "",
152
+ "view": "View 1"
153
+ }
154
+ ],
155
+ "version": "0.1.0",
156
+ "views": [
157
+ {
158
+ "annotation": "",
159
+ "description": "Distribution of LMMN in tenial region",
160
+ "id": "View 1",
161
+ "path": "derivative/Scaffolds/scaffoldMap_tenial_view.json",
162
+ "sample": "Sample 1",
163
+ "thumbnail": "derivative/Scaffolds/scaffoldMap_tenial_thumbnail.jpeg"
164
+ },
165
+ {
166
+ "annotation": "",
167
+ "description": "Distribution of LMMN in inter-tenial region",
168
+ "id": "View 2",
169
+ "path": "derivative/Scaffolds/scaffoldMap_intertenial_view.json",
170
+ "sample": "Sample 2",
171
+ "thumbnail": "derivative/Scaffolds/scaffoldMap_intertenial_thumbnail.jpeg"
172
+ }
173
+ ]
174
+ },
175
+ 34: {
176
+ "description": "Relative contraction and mean luminal pressure (represented by a color field with red as high pressure and blue as low pressure) are mapped on the proximal, transverse and distal sections of the pig colon scaffold. Only sections monitored with manometry probes are displayed here and these sections are not contiguous. \n\nBaseline data was collected for 30min, followed by 15min of stimulation and 30min of post-stimulation.\n\nDuring stimulation, the distal colon was also observed to display longitudinal contraction which is not captured on the scaffold due to the lack of measurements. \n\n",
177
+ "heading": "Direct distal colon stimulation",
178
+ "id": "sparc.science.context_data",
179
+ "samples": [
180
+ {
181
+ "annotation": "",
182
+ "description": "",
183
+ "doi": "",
184
+ "heading": "Direct distal colon stimulation",
185
+ "id": "Sample 1",
186
+ "path": "derivative/sub-all_direct-stim_manometry_distal-colon.xlsx",
187
+ "view": ""
188
+ }
189
+ ],
190
+ "version": "0.1.0",
191
+ "views": []
192
+ },
193
+ 150: {
194
+ "description": "Relative contraction and mean luminal pressure (represented by a color field with red as high pressure and blue as low pressure) are mapped on the proximal, transverse and distal sections of the pig colon scaffold. Only sections monitored with manometry probes are displayed here and these sections are not contiguous. \n\nBaseline data was collected for 15min, followed by 10min of stimulation and 30min of post-stimulation.",
195
+ "heading": "Acute CBVN 300us pulse-train without block",
196
+ "id": "sparc.science.context_data",
197
+ "samples": [
198
+ {
199
+ "annotation": "",
200
+ "description": "",
201
+ "doi": "",
202
+ "heading": "Acute CBVN 300us pulse-train without block",
203
+ "id": "Sample 1",
204
+ "path": "derivative/perf-CBVN-stim_300us_5mA_PT/sub-all_CBVN-stim_300us_5_mA_PT_woB_manometry.xlsx",
205
+ "view": ""
206
+ }
207
+ ],
208
+ "version": "0.1.0",
209
+ "views": []
210
+ }
2
211
 
3
212
  }
4
213
  // //Uncomment the code below to add in hardcoded data
@@ -60,7 +269,7 @@ export default {
60
269
  // "version": "0.1.0",
61
270
  // "views": [
62
271
  // {
63
- // "annotation": "--",
272
+ // "annotation": "",
64
273
  // "description": "Digital tracing of neurons for subject M11.",
65
274
  // "id": "View 1",
66
275
  // "path": "files/derivative/Scaffolds/M11_view.json",
@@ -68,7 +277,7 @@ export default {
68
277
  // "thumbnail": "https://api.sparc.science/s3-resource/221/2/files/derivative/Scaffolds/M11_thumbnail.jpeg"
69
278
  // },
70
279
  // {
71
- // "annotation": "--",
280
+ // "annotation": "",
72
281
  // "description": "Digital tracing of neurons for subject M16.",
73
282
  // "id": "View 2",
74
283
  // "path": "files/derivative/Scaffolds/M16_view.json",