@abi-software/map-side-bar 2.0.0 → 2.1.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/dist/map-side-bar.js +1981 -1963
- package/dist/map-side-bar.umd.cjs +30 -30
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/App.vue +4 -1
- package/src/components/DatasetCard.vue +4 -0
- package/src/components/ImageGallery.vue +5 -1
- package/src/components/SearchFilters.vue +22 -16
- package/src/components/SideBar.vue +9 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abi-software/map-side-bar",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist/*",
|
|
6
6
|
"src/*",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"./src/*": "./src/*"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@abi-software/gallery": "^1.
|
|
40
|
+
"@abi-software/gallery": "^1.1.0",
|
|
41
41
|
"@abi-software/svg-sprite": "^1.0.0",
|
|
42
42
|
"@element-plus/icons-vue": "^2.3.1",
|
|
43
43
|
"algoliasearch": "^4.10.5",
|
package/src/App.vue
CHANGED
|
@@ -205,7 +205,10 @@ export default {
|
|
|
205
205
|
console.log('mounted app')
|
|
206
206
|
EventBus.on('contextUpdate', (payLoad) => {
|
|
207
207
|
console.log('contextUpdate', payLoad)
|
|
208
|
-
})
|
|
208
|
+
});
|
|
209
|
+
EventBus.on('datalink-clicked', (payLoad) => {
|
|
210
|
+
console.log('datalink-clicked', payLoad)
|
|
211
|
+
});
|
|
209
212
|
},
|
|
210
213
|
}
|
|
211
214
|
</script>
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
:dataset-biolucida="biolucidaData"
|
|
16
16
|
:category="currentCategory"
|
|
17
17
|
@card-clicked="galleryClicked"
|
|
18
|
+
@datalink-clicked="galleryDatalinkClicked"
|
|
18
19
|
/>
|
|
19
20
|
</span>
|
|
20
21
|
<div class="card-right">
|
|
@@ -163,6 +164,9 @@ export default {
|
|
|
163
164
|
galleryClicked: function (payload) {
|
|
164
165
|
this.propogateCardAction(payload)
|
|
165
166
|
},
|
|
167
|
+
galleryDatalinkClicked: function (payload) {
|
|
168
|
+
EventBus.emit('datalink-clicked', payload); // Pass to mapintegratedvuer
|
|
169
|
+
},
|
|
166
170
|
openDataset: function () {
|
|
167
171
|
window.open(this.dataLocation, '_blank')
|
|
168
172
|
},
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
:body-style="bodyStyle"
|
|
14
14
|
:shadow="shadow"
|
|
15
15
|
@card-clicked="cardClicked"
|
|
16
|
+
@datalink-clicked="datalinkClicked"
|
|
16
17
|
ref="gallery"
|
|
17
18
|
/>
|
|
18
19
|
</div>
|
|
@@ -116,6 +117,9 @@ export default {
|
|
|
116
117
|
cardClicked: function (payload) {
|
|
117
118
|
this.$emit('card-clicked', payload)
|
|
118
119
|
},
|
|
120
|
+
datalinkClicked: function (payload) {
|
|
121
|
+
this.$emit('datalink-clicked', payload);
|
|
122
|
+
},
|
|
119
123
|
createSciCurnchItems: function () {
|
|
120
124
|
this.updateS3Bucket(this.entry.s3uri)
|
|
121
125
|
this.createDatasetItem()
|
|
@@ -171,7 +175,7 @@ export default {
|
|
|
171
175
|
let thumbnailURL = undefined
|
|
172
176
|
let mimetype = ''
|
|
173
177
|
if (thumbnail) {
|
|
174
|
-
|
|
178
|
+
|
|
175
179
|
thumbnailURL = this.getImageURL(this.envVars.API_LOCATION, {
|
|
176
180
|
id,
|
|
177
181
|
prefix: this.getS3Prefix(),
|
|
@@ -403,9 +403,11 @@ export default {
|
|
|
403
403
|
return event
|
|
404
404
|
},
|
|
405
405
|
// cascadeEvent: initiate searches based off cascader changes
|
|
406
|
-
cascadeEvent: function (
|
|
406
|
+
cascadeEvent: function (eventIn) {
|
|
407
|
+
let event = [...eventIn]
|
|
407
408
|
if (event) {
|
|
408
409
|
// Check for show all in selected cascade options
|
|
410
|
+
|
|
409
411
|
event = this.showAllEventModifier(event)
|
|
410
412
|
|
|
411
413
|
event = this.showAllEventModifierForAutoCheckAll(event)
|
|
@@ -422,7 +424,6 @@ export default {
|
|
|
422
424
|
const rest = event.filter((e) => e[position] !== this.__expandItem__[position]);
|
|
423
425
|
event = [...current, ...rest]
|
|
424
426
|
}
|
|
425
|
-
|
|
426
427
|
// Create results for the filter update
|
|
427
428
|
let filterKeys = event
|
|
428
429
|
.filter((selection) => selection !== undefined)
|
|
@@ -465,9 +466,8 @@ export default {
|
|
|
465
466
|
facetSubPropPath: facetSubPropPath, // will be used for filters if we are at the third level of the cascader
|
|
466
467
|
}
|
|
467
468
|
})
|
|
468
|
-
|
|
469
|
+
|
|
469
470
|
this.$emit('loading', true) // let sidebarcontent wait for the requests
|
|
470
|
-
|
|
471
471
|
this.$emit('filterResults', filters) // emit filters for apps above sidebar
|
|
472
472
|
this.setCascader(filterKeys) //update our cascader v-model if we modified the event
|
|
473
473
|
this.cssMods() // update css for the cascader
|
|
@@ -478,10 +478,12 @@ export default {
|
|
|
478
478
|
findHierarachyStringAndBooleanString(cascadeEventItem) {
|
|
479
479
|
let hString, bString
|
|
480
480
|
if (cascadeEventItem.length >= 3) {
|
|
481
|
-
if (cascadeEventItem[2] &&
|
|
481
|
+
if (cascadeEventItem[2] &&
|
|
482
|
+
(typeof cascadeEventItem[2] === 'string' ||
|
|
483
|
+
cascadeEventItem[2] instanceof String) &&
|
|
484
|
+
cascadeEventItem[2].split('>').length > 2) {
|
|
482
485
|
hString = cascadeEventItem[2]
|
|
483
|
-
bString =
|
|
484
|
-
cascadeEventItem.length == 4 ? cascadeEventItem[3] : undefined
|
|
486
|
+
bString = cascadeEventItem.length == 4 ? cascadeEventItem[3] : undefined
|
|
485
487
|
} else {
|
|
486
488
|
hString = cascadeEventItem[1]
|
|
487
489
|
bString = cascadeEventItem[2]
|
|
@@ -603,13 +605,14 @@ export default {
|
|
|
603
605
|
setCascader: function (filterFacets) {
|
|
604
606
|
//Do not set the value unless it is ready
|
|
605
607
|
if (this.cascaderIsReady && filterFacets && filterFacets.length != 0) {
|
|
606
|
-
|
|
608
|
+
//An inner function only used by this function
|
|
609
|
+
const createFilter = (e) => {
|
|
607
610
|
let filters = [
|
|
608
611
|
e.facetPropPath,
|
|
609
612
|
this.createCascaderItemValue(capitalise(e.term), e.facet),
|
|
610
613
|
]
|
|
611
614
|
// Add the third level of the cascader if it exists
|
|
612
|
-
if (e.facet2)
|
|
615
|
+
if (e.facet2) {
|
|
613
616
|
filters.push(
|
|
614
617
|
this.createCascaderItemValue(
|
|
615
618
|
capitalise(e.term),
|
|
@@ -617,21 +620,24 @@ export default {
|
|
|
617
620
|
e.facet2
|
|
618
621
|
)
|
|
619
622
|
)
|
|
623
|
+
}
|
|
624
|
+
return filters;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
this.cascadeSelected = filterFacets.map((e) => {
|
|
628
|
+
let filters = createFilter(e)
|
|
620
629
|
return filters
|
|
621
630
|
})
|
|
622
|
-
|
|
631
|
+
|
|
623
632
|
// Unforttunately the cascader is very particular about it's v-model
|
|
624
633
|
// to get around this we create a clone of it and use this clone for adding our boolean information
|
|
625
634
|
this.cascadeSelectedWithBoolean = filterFacets.map((e) => {
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
e.AND,
|
|
630
|
-
]
|
|
635
|
+
let filters = createFilter(e)
|
|
636
|
+
filters.push(e.AND)
|
|
637
|
+
return filters
|
|
631
638
|
})
|
|
632
639
|
this.updatePreviousShowAllChecked(this.cascadeSelected)
|
|
633
640
|
}
|
|
634
|
-
|
|
635
641
|
this.tagsChangedCallback(filterFacets);
|
|
636
642
|
},
|
|
637
643
|
addFilter: function (filterToAdd) {
|
|
@@ -211,6 +211,15 @@ export default {
|
|
|
211
211
|
*/
|
|
212
212
|
this.$emit('contextUpdate', payLoad)
|
|
213
213
|
})
|
|
214
|
+
EventBus.on('datalink-clicked', (payLoad) => {
|
|
215
|
+
/**
|
|
216
|
+
* This event is emitted
|
|
217
|
+
* when the dataset button or dataset image thumbnail
|
|
218
|
+
* from the gallery component is clicked.
|
|
219
|
+
* @arg payload
|
|
220
|
+
*/
|
|
221
|
+
this.$emit('datalink-clicked', payLoad);
|
|
222
|
+
})
|
|
214
223
|
},
|
|
215
224
|
}
|
|
216
225
|
</script>
|