@europeana/portal
Version:
Europeana Portal
2,021 lines • 66.7 kB
JavaScript
exports.ids = [67];
exports.modules = {
/***/ 203:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/generic/ContentCard.vue?vue&type=template&id=28c51dc4&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:"text-left content-card",class:_vm.cardClass,attrs:{"data-qa":"content card","no-body":""}},[_c('div',{staticClass:"card-wrapper"},[_c('SmartLink',{attrs:{"destination":_vm.url,"link-class":"card-link","aria-label":_vm.displayTitle ? _vm.displayTitle.value : null,"title":(_vm.variant === 'mosaic' && _vm.displayTitle) ? _vm.displayTitle.value : null}}),_vm._v(" "),(_vm.variant !== 'mini')?_c('MediaDefaultThumbnail',{directives:[{name:"show",rawName:"v-show",value:(!_vm.cardImageUrl),expression:"!cardImageUrl"}],attrs:{"media-type":_vm.mediaType,"offset":_vm.offset}}):_vm._e(),_vm._v(" "),(_vm.cardImageUrl)?_c('div',{staticClass:"card-img",class:{ logo: _vm.logo }},[(_vm.lazy)?_c('b-img-lazy',{attrs:{"src":_vm.optimisedImageUrl,"blank-width":_vm.blankImageWidth,"blank-height":_vm.blankImageHeight,"width":_vm.imageWidth,"height":_vm.imageHeight,"alt":_vm.imageAlt},nativeOn:{"error":function($event){return _vm.imageNotFound.apply(null, arguments)},"load":function($event){return _vm.imageLoaded.apply(null, arguments)}}}):_c('b-img',{attrs:{"src":_vm.optimisedImageUrl,"width":_vm.imageWidth,"height":_vm.imageHeight,"alt":_vm.imageAlt},on:{"error":_vm.imageNotFound,"load":_vm.imageLoaded}})],1):_vm._e(),_vm._v(" "),(_vm.variant !== 'mosaic')?_c('b-card-body',{attrs:{"data-qa":"card body"}},[((_vm.displaySubTitle && _vm.variant !== 'mini') && _vm.showSubtitle)?_c('b-card-sub-title',{staticClass:"mt-0",attrs:{"sub-title-tag":"div","sub-title-text-variant":"default"}},[_vm._v("\n "+_vm._s(_vm.displaySubTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"title-texts-wrapper"},[(_vm.displayTitle)?_c('b-card-title',{attrs:{"title-tag":"div","data-qa":"card title","lang":_vm.displayTitle.code}},[_c('span',[_vm._v("\n "+_vm._s(_vm._f("truncate")(_vm.displayTitle.value,90, _vm.$t('formatting.ellipsis')))+"\n ")])]):_vm._e(),_vm._v(" "),(_vm.hitsText)?_c('b-card-text',{attrs:{"text-tag":"div","data-qa":"highlighted search term"}},[_c('p',[_vm._v("\n "+_vm._s(_vm.hitsText.prefix)),_c('strong',{staticClass:"has-text-highlight"},[_vm._v(_vm._s(_vm.hitsText.exact))]),_vm._v(_vm._s(_vm.hitsText.suffix)+"\n ")])]):_vm._e(),_vm._v(" "),(_vm.displayTexts.length > 0)?_vm._l((_vm.displayTexts),function(text,index){return _c('b-card-text',{key:index,attrs:{"lang":text.code,"text-tag":"div"}},[_c('p',{domProps:{"innerHTML":_vm._s(_vm.cardText(text.values))}})])}):_vm._e()],2),_vm._v(" "),_c('client-only',[_vm._t("footer")],2)],1):_vm._e()],1),_vm._v(" "),_c('client-only',[_vm._t("image-overlay")],2)],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/generic/ContentCard.vue?vue&type=template&id=28c51dc4&
// EXTERNAL MODULE: external "vue-client-only"
var external_vue_client_only_ = __webpack_require__(20);
var external_vue_client_only_default = /*#__PURE__*/__webpack_require__.n(external_vue_client_only_);
// EXTERNAL MODULE: ./src/components/generic/SmartLink.vue + 3 modules
var SmartLink = __webpack_require__(26);
// EXTERNAL MODULE: ./src/mixins/stripMarkdown.js
var stripMarkdown = __webpack_require__(204);
// EXTERNAL MODULE: ./src/plugins/europeana/utils.js
var utils = __webpack_require__(2);
// EXTERNAL MODULE: ./src/plugins/europeana/themes.js
var themes = __webpack_require__(27);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/generic/ContentCard.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var ContentCardvue_type_script_lang_js_ = ({
name: 'ContentCard',
components: {
ClientOnly: external_vue_client_only_default.a,
SmartLink: SmartLink["a" /* default */],
MediaDefaultThumbnail: () => __webpack_require__.e(/* import() */ 15).then(__webpack_require__.bind(null, 578))
},
mixins: [stripMarkdown["a" /* default */]],
props: {
/**
* Card title
*
* If an object is supplied, it is expected to be a LangMap.
*/
title: {
type: [String, Object],
default: ''
},
/**
* Card subtitle
*/
subTitle: {
type: String,
default: null
},
/**
* Card texts
*
* Each element may be a string, an array of strings, or a LangMap
*/
texts: {
type: Array,
default: () => []
},
/**
* Hits from a search to highlight in the card texts
*/
hitsText: {
type: Object,
default: null
},
/**
* URL for the card to link to
*
* An object should be a Vue route
*/
url: {
type: [String, Object],
default: ''
},
/**
* URL of an image to display
*/
imageUrl: {
type: String,
default: ''
},
/**
* Content type of the image
*/
imageContentType: {
type: String,
default: null
},
/**
* Width of the image
*/
imageWidth: {
type: Number,
default: null
},
/**
* Height of the image
*/
imageHeight: {
type: Number,
default: null
},
/**
* Image alt text
*/
imageAlt: {
type: String,
default: ''
},
/**
* Image optimisation options
*
* Passed to `optimisedImageUrl` filter
*/
imageOptimisationOptions: {
type: Object,
default: () => ({})
},
/**
* If `true`, image will be lazy-loaded
*/
lazy: {
type: Boolean,
default: true
},
/**
* If `true`, subtitle will be shown
*/
showSubtitle: {
type: Boolean,
default: true
},
/**
* Style variant to use
* @values default, entity, mini, list, mosaic
*/
variant: {
type: String,
default: 'default'
},
/**
* If `true`, will omit all URIs from texts
*/
omitAllUris: {
type: Boolean,
default: false
},
/**
* If `true`, will omit URIs from texts only if other values are present
*/
omitUrisIfOtherValues: {
type: Boolean,
default: false
},
/**
* For each element of `texts`, limit the number of values shown
*
* Default is no limit
*/
limitValuesWithinEachText: {
type: Number,
default: -1
},
/**
* Height of image placeholder when lazy-loading image
*/
blankImageHeight: {
type: Number,
default: null
},
/**
* Width of image placeholder when lazy-loading image
*/
blankImageWidth: {
type: Number,
default: null
},
/**
* If `true`, the image is a logo and will be styled differently
*/
logo: {
type: Boolean,
default: false
},
/**
* Type of media
*/
mediaType: {
type: String,
default: null
},
/**
* Offset, used for random color picking
*/
offset: {
type: Number,
default: null
}
},
data() {
return {
cardImageUrl: this.imageUrl,
displayLabelTypes: 'exhibitions|galleries|blog|collections',
themes: themes["a" /* default */].map(theme => theme.id)
};
},
computed: {
cardClass() {
return `${this.variant}-card`;
},
displayTitle() {
if (!this.title) {
return null;
} else if (typeof this.title === 'string') {
return {
value: this.title,
code: null
};
} else {
const langMapValue = Object(utils["h" /* langMapValueForLocale */])(this.title, this.$i18n.locale);
return {
value: langMapValue.values[0],
code: langMapValue.code
};
}
},
displaySubTitle() {
return this.subTitle || this.displayLabel;
},
displayLabel() {
if (!this.displayLabelType) {
return false;
}
if (this.displayLabelType === 'collections') {
const entityId = typeof this.url === 'string' ? this.url.split('/').pop().split('-').shift() : this.url.params.pathMatch; // TODO: remove when thematic collections topics get their own 'theme' type
return this.themes.includes(entityId) ? this.$t('cardLabels.theme') : this.$t(`cardLabels.${this.displayLabelTypeCollections}`);
}
if (this.displayLabelType === 'blog') {
return this.$tc('blog.posts', 1);
}
return this.$tc(`${this.displayLabelType}.${this.displayLabelType}`, 1);
},
displayLabelTypeCollections() {
return typeof this.url === 'object' ? this.url.params.type : this.url.split('/').slice(-2, -1);
},
displayLabelType() {
return this.displayLabelMatch ? this.displayLabelMatch[1] : false;
},
displayLabelMatch() {
return typeof this.url === 'object' ? this.displayLabelMatchObject : this.displayLabelMatchString;
},
displayLabelMatchObject() {
return this.url.name.match(new RegExp(`(${this.displayLabelTypes})`));
},
displayLabelMatchString() {
return this.url.match(new RegExp(`/(${this.displayLabelTypes})[/.]`));
},
displayTexts() {
return this.texts.filter(Boolean).map(value => {
if (typeof value === 'string') {
return {
values: [value],
code: null
};
} else if (Array.isArray(value)) {
return {
values: value,
code: null
};
} else {
return Object(utils["h" /* langMapValueForLocale */])(value, this.$i18n.locale, {
omitUrisIfOtherValues: this.omitUrisIfOtherValues,
omitAllUris: this.omitAllUris
});
}
});
},
optimisedImageUrl() {
return this.$options.filters.optimisedImageUrl(this.imageUrl, this.imageContentType, this.imageOptimisationOptions);
}
},
watch: {
imageUrl() {
this.cardImageUrl = this.imageUrl;
}
},
methods: {
cardText(values) {
const limited = this.limitValuesWithinEachText > -1 ? values.slice(0, this.limitValuesWithinEachText) : [].concat(values);
if (values.length > limited.length) {
limited.push(this.$t('formatting.ellipsis'));
}
const joined = limited.join(this.$t('formatting.listSeperator') + ' ');
const stripped = this.stripMarkdown(joined);
return this.$options.filters.truncate(stripped, 255, this.$t('formatting.ellipsis'));
},
redrawMasonry() {
if (this.$redrawVueMasonry) {
this.$nextTick(() => {
this.$redrawVueMasonry();
});
}
},
imageNotFound() {
this.cardImageUrl = '';
this.redrawMasonry();
},
imageLoaded(event) {
// ignore b-img-lazy's blank placeholder images
if (!event.target.src.startsWith('data:')) {
this.redrawMasonry();
}
}
}
});
// CONCATENATED MODULE: ./src/components/generic/ContentCard.vue?vue&type=script&lang=js&
/* harmony default export */ var generic_ContentCardvue_type_script_lang_js_ = (ContentCardvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(3);
// EXTERNAL MODULE: ./src/components/generic/ContentCard.vue?vue&type=custom&index=0&blockType=docs&lang=md
var ContentCardvue_type_custom_index_0_blockType_docs_lang_md = __webpack_require__(205);
var ContentCardvue_type_custom_index_0_blockType_docs_lang_md_default = /*#__PURE__*/__webpack_require__.n(ContentCardvue_type_custom_index_0_blockType_docs_lang_md);
// CONCATENATED MODULE: ./src/components/generic/ContentCard.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
generic_ContentCardvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
"473081f0"
)
/* custom blocks */
if (typeof ContentCardvue_type_custom_index_0_blockType_docs_lang_md_default.a === 'function') ContentCardvue_type_custom_index_0_blockType_docs_lang_md_default()(component)
/* harmony default export */ var ContentCard = __webpack_exports__["default"] = (component.exports);
/***/ }),
/***/ 204:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(184);
/* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(marked__WEBPACK_IMPORTED_MODULE_0__);
const htmlRemovalPatternsFromTags = tags => {
return [/\n$/].concat(tags.map(tag => new RegExp(`</?${tag}.*?>`, 'gi')));
};
/* harmony default export */ __webpack_exports__["a"] = ({
methods: {
/**
* Strip markdown from text.
* This method FIRST converts markdown to HTML, then removes HTML tags.
* WARNING: This also means any HTML tags already present before will be stripped.
*
* As an optional parameter specific HTML tag names can be supplied. In which case,
* only these will be removed.
* @param {string} text String containing mark1down
* @param {string[]} tags the HTML tags to be removed.
* @return {String} text value with HTML breaks
*/
stripMarkdown(text, tags = ['']) {
text = marked__WEBPACK_IMPORTED_MODULE_0__["marked"].parse(text); // Marked adds newlines to the end of the string, and wraps it in a <p> tag.
for (const pattern of htmlRemovalPatternsFromTags(tags)) {
text = text.replace(pattern, '');
}
return text;
}
}
});
/***/ }),
/***/ 205:
/***/ (function(module, exports) {
/***/ }),
/***/ 220:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/item/ItemPreviewCardGroup.vue?vue&type=template&id=0aef77f9&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.masonryActive)?_c('div',{directives:[{name:"masonry",rawName:"v-masonry"}],key:("searchResultsGrid" + _vm.view),staticClass:"masonry-container",attrs:{"transition-duration":"0.1","item-selector":".card","horizontal-order":"true","column-width":".masonry-container .card:not(.header-card)","data-qa":("item previews " + _vm.view)}},[_vm._t("default"),_vm._ssrNode(" "),_c(_vm.draggableItems ? 'draggable' : 'div',{tag:"component",attrs:{"draggable":_vm.draggableItems && '.item',"handle":".move-button"},on:{"end":_vm.endItemDrag},model:{value:(_vm.cards),callback:function ($$v) {_vm.cards=$$v},expression:"cards"}},[_vm._l((_vm.cards),function(card,index){return [(card === 'related')?[_c('b-card',{directives:[{name:"show",rawName:"v-show",value:(_vm.showRelated),expression:"showRelated"}],key:index,staticClass:"text-left related-collections-card mb-4"},[_vm._t("related")],2)]:_c('ItemPreviewCard',{key:index,staticClass:"item",attrs:{"item":card,"hit-selector":_vm.itemHitSelector(card),"variant":_vm.cardVariant,"lazy":true,"enable-accept-recommendation":_vm.enableAcceptRecommendations,"enable-reject-recommendation":_vm.enableRejectRecommendations,"show-pins":_vm.showPins,"show-move":_vm.draggableItems,"offset":_vm.items.findIndex(function (item) { return item.id === card.id; }),"data-qa":"item preview"},on:{"like":function($event){return _vm.$emit('like', card.id)},"unlike":function($event){return _vm.$emit('unlike', card.id)}}})]})],2)],2):_c(_vm.draggableItems ? 'draggable' : 'b-card-group',{tag:"component",class:_vm.cardGroupClass,attrs:{"draggable":_vm.draggableItems && '.item',"data-qa":("item previews " + _vm.view),"deck":""},on:{"end":_vm.endItemDrag},model:{value:(_vm.cards),callback:function ($$v) {_vm.cards=$$v},expression:"cards"}},[_vm._t("default"),_vm._v(" "),_vm._l((_vm.cards),function(card,index){return [(card === 'related')?[_c('b-card',{directives:[{name:"show",rawName:"v-show",value:(_vm.showRelated),expression:"showRelated"}],key:index,staticClass:"text-left related-collections-card mb-4"},[_vm._t("related")],2)]:_c('ItemPreviewCard',{key:card.id,staticClass:"item",attrs:{"item":card,"hit-selector":_vm.itemHitSelector(card),"variant":_vm.cardVariant,"show-pins":_vm.showPins,"show-move":_vm.draggableItems,"offset":_vm.items.findIndex(function (item) { return item.id === card.id; }),"data-qa":"item preview"},on:{"like":function($event){return _vm.$emit('like', card.id)},"unlike":function($event){return _vm.$emit('unlike', card.id)}}})]})],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCardGroup.vue?vue&type=template&id=0aef77f9&
// EXTERNAL MODULE: external "vuedraggable"
var external_vuedraggable_ = __webpack_require__(185);
var external_vuedraggable_default = /*#__PURE__*/__webpack_require__.n(external_vuedraggable_);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/item/ItemPreviewCard.vue?vue&type=template&id=590e4d1e&
var ItemPreviewCardvue_type_template_id_590e4d1e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContentCard',{class:_vm.cardClass,attrs:{"title":_vm.dcTitle || _vm.item.dcDescriptionLangAware,"url":_vm.url,"image-url":_vm.imageUrl,"texts":_vm.texts,"hits-text":_vm.hitsText,"limit-values-within-each-text":3,"omit-all-uris":true,"blank-image-height":280,"variant":_vm.variant,"lazy":_vm.lazy,"sub-title":_vm.subTitle,"media-type":_vm.type,"offset":_vm.offset},scopedSlots:_vm._u([(_vm.variant === 'list')?{key:"footer",fn:function(){return [_c('div',{staticClass:"data-and-buttons-wrapper d-flex"},[(_vm.rights)?_c('RightsStatement',{attrs:{"rights-statement-url":_vm.rights,"variant":"simple"}}):_vm._e(),_vm._v(" "),(_vm.type)?_c('span',{staticClass:"d-inline-flex align-items-center text-uppercase"},[_c('span',{staticClass:"icon-file"}),_vm._v(_vm._s(_vm.type)+"\n ")]):_vm._e(),_vm._v(" "),_c('UserButtons',{attrs:{"identifier":_vm.identifier,"show-pins":_vm.showPins,"show-move":_vm.showMove,"button-text":true,"button-variant":"light-flat"},on:{"like":function($event){return _vm.$emit('like', _vm.identifier)},"unlike":function($event){return _vm.$emit('unlike', _vm.identifier)}}})],1)]},proxy:true}:{key:"image-overlay",fn:function(){return [(_vm.enableAcceptRecommendation || _vm.enableRejectRecommendation)?_c('RecommendationButtons',{attrs:{"identifier":_vm.identifier,"enable-accept-button":_vm.enableAcceptRecommendation,"enable-reject-button":_vm.enableRejectRecommendation}}):_c('UserButtons',{attrs:{"identifier":_vm.identifier,"show-pins":_vm.showPins,"show-move":_vm.showMove},on:{"like":function($event){return _vm.$emit('like', _vm.identifier)},"unlike":function($event){return _vm.$emit('unlike', _vm.identifier)}}})]},proxy:true}],null,true)})}
var ItemPreviewCardvue_type_template_id_590e4d1e_staticRenderFns = []
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCard.vue?vue&type=template&id=590e4d1e&
// EXTERNAL MODULE: ./src/plugins/europeana/utils.js
var utils = __webpack_require__(2);
// EXTERNAL MODULE: ./src/components/generic/ContentCard.vue + 4 modules
var ContentCard = __webpack_require__(203);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/item/ItemPreviewCard.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var ItemPreviewCardvue_type_script_lang_js_ = ({
name: 'ItemPreviewCard',
components: {
ContentCard: ContentCard["default"],
RecommendationButtons: () => __webpack_require__.e(/* import() */ 111).then(__webpack_require__.bind(null, 592)),
UserButtons: () => __webpack_require__.e(/* import() */ 13).then(__webpack_require__.bind(null, 583)),
RightsStatement: () => __webpack_require__.e(/* import() */ 102).then(__webpack_require__.bind(null, 225))
},
props: {
/**
* Item the card links to
* expects an object containing minimal-profile item metadata
*/
item: {
type: Object,
required: true
},
/**
* Hits from a search to highlight in the item description
* Only used on list variant
*/
hitSelector: {
type: Object,
default: null
},
/**
* Style variant to use
* @values default, entity, mini, mosaic, list, explore
*/
variant: {
type: String,
default: 'default'
},
/**
* If `true`, image will be lazy-loaded
*/
lazy: {
type: Boolean,
default: true
},
/**
* If `true`, pin button will be rendered
*/
showPins: {
type: Boolean,
default: false
},
/**
* If `true`, move button will be rendered
*/
showMove: {
type: Boolean,
default: false
},
/**
* If `true`, accept recommendation (thumb up) button will be rendered
*/
enableAcceptRecommendation: {
type: Boolean,
default: false
},
/**
* If `true`, reject recommendation (thumb down) button will be rendered
*/
enableRejectRecommendation: {
type: Boolean,
default: false
},
/**
* Offset, used for random color picking
*/
offset: {
type: Number,
default: null
}
},
computed: {
dcTitle() {
return this.unpublishedItem ? {
[this.$i18n.locale]: [this.$t('record.status.unpublished')]
} : this.item.dcTitleLangAware;
},
unpublishedItem() {
const itemProperties = Object.keys(this.item);
return itemProperties.length === 1 && itemProperties[0] === 'id';
},
texts() {
const textlessVariants = ['explore', 'mosaic'];
if (textlessVariants.includes(this.variant)) {
return [];
}
const texts = [];
if (this.variant === 'list') {
if (!this.hitSelector && this.item.dcDescriptionLangAware) {
texts.unshift(this.item.dcDescriptionLangAware);
}
} else {
if (this.item.dcCreatorLangAware) {
texts.unshift(this.item.dcCreatorLangAware);
}
texts.push(this.item.dataProvider);
}
return texts;
},
hitsText() {
return this.variant === 'list' ? this.hitSelector : null;
},
cardClass() {
return this.variant === 'list' ? 'mx-0' : null;
},
identifier() {
return this.item.id.replace('http://data.europeana.eu/item/', '');
},
url() {
return {
name: 'item-all',
params: {
pathMatch: this.identifier.slice(1)
}
};
},
imageUrl() {
var _this$item$edmPreview;
return this.$apis.thumbnail.edmPreview((_this$item$edmPreview = this.item.edmPreview) === null || _this$item$edmPreview === void 0 ? void 0 : _this$item$edmPreview[0], {
size: 400,
type: this.item.type
}) || this.$apis.thumbnail.generic(this.item.id, {
size: 400,
type: this.item.type
});
},
subTitle() {
return this.variant === 'list' ? Object(utils["h" /* langMapValueForLocale */])(this.item.dataProvider, this.$i18n.locale).values[0] : null;
},
rights() {
var _this$item$rights;
return this.variant === 'list' ? (_this$item$rights = this.item.rights) === null || _this$item$rights === void 0 ? void 0 : _this$item$rights[0] : null;
},
type() {
return this.item.type;
}
}
});
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCard.vue?vue&type=script&lang=js&
/* harmony default export */ var item_ItemPreviewCardvue_type_script_lang_js_ = (ItemPreviewCardvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(3);
// EXTERNAL MODULE: ./src/components/item/ItemPreviewCard.vue?vue&type=custom&index=0&blockType=docs&lang=md
var ItemPreviewCardvue_type_custom_index_0_blockType_docs_lang_md = __webpack_require__(222);
var ItemPreviewCardvue_type_custom_index_0_blockType_docs_lang_md_default = /*#__PURE__*/__webpack_require__.n(ItemPreviewCardvue_type_custom_index_0_blockType_docs_lang_md);
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCard.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
item_ItemPreviewCardvue_type_script_lang_js_,
ItemPreviewCardvue_type_template_id_590e4d1e_render,
ItemPreviewCardvue_type_template_id_590e4d1e_staticRenderFns,
false,
null,
null,
"2ce10abc"
)
/* custom blocks */
if (typeof ItemPreviewCardvue_type_custom_index_0_blockType_docs_lang_md_default.a === 'function') ItemPreviewCardvue_type_custom_index_0_blockType_docs_lang_md_default()(component)
/* harmony default export */ var ItemPreviewCard = (component.exports);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/item/ItemPreviewCardGroup.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var ItemPreviewCardGroupvue_type_script_lang_js_ = ({
name: 'ItemPreviewCardGroup',
components: {
draggable: external_vuedraggable_default.a,
ItemPreviewCard: ItemPreviewCard
},
props: {
items: {
type: Array,
default: () => []
},
hits: {
type: Array,
default: null
},
/**
* Layout view to use
* @values grid, mosaic, list, explore
*/
view: {
type: String,
default: 'grid'
},
showPins: {
type: Boolean,
default: false
},
showRelated: {
type: Boolean,
default: false
},
draggableItems: {
type: Boolean,
default: false
},
enableAcceptRecommendations: {
type: Boolean,
default: false
},
enableRejectRecommendations: {
type: Boolean,
default: false
}
},
data() {
return {
cards: []
};
},
fetch() {
this.cards = this.items.slice(0, 4).concat('related').concat(this.items.slice(4));
},
computed: {
cardGroupClass() {
let cardGroupClass;
switch (this.view) {
case 'list':
cardGroupClass = 'card-group-list mx-0';
break;
case 'explore':
cardGroupClass = 'card-deck-4-cols narrow-gutter explore-more';
break;
}
return cardGroupClass;
},
cardVariant() {
return this.view === 'grid' ? 'default' : this.view;
},
masonryActive() {
return this.view === 'grid' || this.view === 'mosaic';
}
},
watch: {
'cards.length': 'redrawMasonry',
items() {
this.$fetch();
}
},
mounted() {
this.redrawMasonry();
},
methods: {
endItemDrag() {
this.$emit('endItemDrag', this.cards.filter(card => card !== 'related'));
},
itemHitSelector(item) {
if (!this.hits) {
return null;
}
const hit = this.hits.find(hit => item.id === hit.scope);
return hit ? hit.selectors[0] : null;
},
redrawMasonry() {
if (typeof this.$redrawVueMasonry === 'function' && this.masonryActive) {
this.$nextTick(() => {
this.$redrawVueMasonry();
});
}
}
}
});
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCardGroup.vue?vue&type=script&lang=js&
/* harmony default export */ var item_ItemPreviewCardGroupvue_type_script_lang_js_ = (ItemPreviewCardGroupvue_type_script_lang_js_);
// CONCATENATED MODULE: ./src/components/item/ItemPreviewCardGroup.vue
/* normalize component */
var ItemPreviewCardGroup_component = Object(componentNormalizer["a" /* default */])(
item_ItemPreviewCardGroupvue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
"8a5dc0a6"
)
/* harmony default export */ var ItemPreviewCardGroup = __webpack_exports__["a"] = (ItemPreviewCardGroup_component.exports);
/***/ }),
/***/ 222:
/***/ (function(module, exports) {
/***/ }),
/***/ 230:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(240);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(13).default
module.exports.__inject__ = function (context) {
add("a36ffa5c", content, true, context)
};
/***/ }),
/***/ 239:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoMessage_vue_vue_type_style_index_0_id_4141925e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(230);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoMessage_vue_vue_type_style_index_0_id_4141925e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoMessage_vue_vue_type_style_index_0_id_4141925e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoMessage_vue_vue_type_style_index_0_id_4141925e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_InfoMessage_vue_vue_type_style_index_0_id_4141925e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 240:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(12);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".alert.alert-light[data-v-4141925e]{font-style:italic}.alert.alert-light.with-icon[data-v-4141925e]{font-style:normal}.alert.alert-light.with-icon .icon-info[data-v-4141925e]{padding-right:.75rem;font-size:24px;color:#0a72cc}.alert-light[data-v-4141925e]{color:#1a1a1a}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 241:
/***/ (function(module, exports) {
/***/ }),
/***/ 242:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(290);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(13).default
module.exports.__inject__ = function (context) {
add("6a20f008", content, true, context)
};
/***/ }),
/***/ 243:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(292);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(13).default
module.exports.__inject__ = function (context) {
add("45fba106", content, true, context)
};
/***/ }),
/***/ 250:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/generic/InfoMessage.vue?vue&type=template&id=4141925e&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-alert',{class:_vm.variant === 'icon' ? 'with-icon d-flex' : '',attrs:{"show":"","variant":"light","data-qa":"info notice"}},[(_vm.variant === 'icon')?_c('span',{staticClass:"icon-info d-inline-flex"}):_vm._e(),_vm._v(" "),_vm._t("default")],2)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/generic/InfoMessage.vue?vue&type=template&id=4141925e&scoped=true&
// EXTERNAL MODULE: external "bootstrap-vue"
var external_bootstrap_vue_ = __webpack_require__(4);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/generic/InfoMessage.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/**
* Information/notification alert message.
*/
/* harmony default export */ var InfoMessagevue_type_script_lang_js_ = ({
name: 'InfoMessage',
components: {
BAlert: external_bootstrap_vue_["BAlert"]
},
props: {
/**
* Style variant to use
* @values icon, default
*/
variant: {
type: String,
default: 'default'
}
}
});
// CONCATENATED MODULE: ./src/components/generic/InfoMessage.vue?vue&type=script&lang=js&
/* harmony default export */ var generic_InfoMessagevue_type_script_lang_js_ = (InfoMessagevue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(3);
// EXTERNAL MODULE: ./src/components/generic/InfoMessage.vue?vue&type=custom&index=0&blockType=docs&lang=md
var InfoMessagevue_type_custom_index_0_blockType_docs_lang_md = __webpack_require__(241);
var InfoMessagevue_type_custom_index_0_blockType_docs_lang_md_default = /*#__PURE__*/__webpack_require__.n(InfoMessagevue_type_custom_index_0_blockType_docs_lang_md);
// CONCATENATED MODULE: ./src/components/generic/InfoMessage.vue
function injectStyles (context) {
var style0 = __webpack_require__(239)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
generic_InfoMessagevue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"4141925e",
"7b55e950"
)
/* custom blocks */
if (typeof InfoMessagevue_type_custom_index_0_blockType_docs_lang_md_default.a === 'function') InfoMessagevue_type_custom_index_0_blockType_docs_lang_md_default()(component)
/* harmony default export */ var InfoMessage = __webpack_exports__["a"] = (component.exports);
/***/ }),
/***/ 289:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ViewToggles_vue_vue_type_style_index_0_id_df02f044_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(242);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ViewToggles_vue_vue_type_style_index_0_id_df02f044_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ViewToggles_vue_vue_type_style_index_0_id_df02f044_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ViewToggles_vue_vue_type_style_index_0_id_df02f044_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ViewToggles_vue_vue_type_style_index_0_id_df02f044_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 290:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(12);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".nav-link .icon-view-toggle[data-v-df02f044]::before,[class^=icon-][data-v-df02f044],[class*=\" icon-\"][data-v-df02f044]{font-family:\"icomoon\";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;vertical-align:middle;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-accept[data-v-df02f044]::before{content:\"\"}.icon-ic-add[data-v-df02f044]::before{content:\"\"}.icon-arrow-down[data-v-df02f044]::before{content:\"\"}.icon-back[data-v-df02f044]::before{content:\"\"}.icon-cancel-circle[data-v-df02f044]::before{content:\"\"}.icon-caret-down[data-v-df02f044]::before{content:\"\"}.icon-check-circle[data-v-df02f044]::before{content:\"\"}.icon-clear[data-v-df02f044]::before{content:\"\"}.icon-close[data-v-df02f044]::before{content:\"\"}.icon-ic-download[data-v-df02f044]::before{content:\"\"}.icon-edit[data-v-df02f044]::before{content:\"\"}.icon-external-link[data-v-df02f044]::before{content:\"\"}.icon-facebook[data-v-df02f044]::before{content:\"\"}.icon-ic-feedback[data-v-df02f044]::before{content:\"\"}.icon-file[data-v-df02f044]::before{content:\"\"}.icon-filter[data-v-df02f044]::before{content:\"\"}.icon-globe[data-v-df02f044]::before{content:\"\"}.icon-heart[data-v-df02f044]::before{content:\"\"}.icon-info[data-v-df02f044]::before{content:\"\"}.icon-info-outline[data-v-df02f044]::before{content:\"\"}.icon-instagram[data-v-df02f044]::before{content:\"\"}.icon-language[data-v-df02f044]::before{content:\"\"}.icon-license[data-v-df02f044]::before{content:\"\"}.icon-link[data-v-df02f044]::before{content:\"\"}.icon-linkedin[data-v-df02f044]::before{content:\"\"}.icon-pinterest[data-v-df02f044]::before{content:\"\"}.icon-push-pin[data-v-df02f044]::before{content:\"\"}.icon-reject[data-v-df02f044]::before{content:\"\"}.icon-search[data-v-df02f044]::before{content:\"\"}.icon-share[data-v-df02f044]::before{content:\"\"}.icon-ic-tag[data-v-df02f044]::before{content:\"\"}.icon-temporary-tag[data-v-df02f044]::before{content:\"\"}.icon-translate[data-v-df02f044]::before{content:\"\"}.icon-twitter[data-v-df02f044]::before{content:\"\"}.icon-3d[data-v-df02f044]::before{content:\"\"}.icon-sound[data-v-df02f044]::before{content:\"\"}.icon-text[data-v-df02f044]::before{content:\"\"}.icon-image[data-v-df02f044]::before{content:\"\"}.icon-video[data-v-df02f044]::before{content:\"\"}.icon-unavailable[data-v-df02f044]::before{content:\"\"}.icon-ic-move-vert[data-v-df02f044]::before{content:\"\"}.icon-ic-move-xy[data-v-df02f044]::before{content:\"\"}.icon-menu[data-v-df02f044]::before{content:\"\"}.nav-link[data-v-df02f044]{padding:0;position:relative;text-decoration:none}.nav-link .icon-view-toggle[data-v-df02f044]{color:#777;font-size:1.5rem;z-index:1}.nav-link .icon-view-toggle[data-v-df02f044]::before{content:\"\"}.nav-link .icon-view-toggle.grid[data-v-df02f044]::before{content:\"\"}.nav-link .icon-view-toggle.mosaic[data-v-df02f044]::before{content:\"\"}.nav-link[data-v-df02f044]::before{background:#fff;border-radius:50%;box-sizing:border-box;content:\"\";display:block;opacity:0;position:absolute;transform:scale(0);transition-duration:.15s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:transform,opacity;bottom:-10px;left:-10px;right:-10px;top:-10px;z-index:-1}.nav-link[data-v-df02f044]:hover::before{opacity:1;transform:scale(1)}.nav-link:hover .icon-view-toggle[data-v-df02f044],.nav-link.active .icon-view-toggle[data-v-df02f044]{color:#1a1a1a}.nav-link.active[data-v-df02f044]{cursor:default}.nav-link.active[data-v-df02f044]::before{opacity:0;transform:scale(0)}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 291:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchInterface_vue_vue_type_style_index_0_id_50cd5c52_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(243);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchInterface_vue_vue_type_style_index_0_id_50cd5c52_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchInterface_vue_vue_type_style_index_0_id_50cd5c52_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchInterface_vue_vue_type_style_index_0_id_50cd5c52_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchInterface_vue_vue_type_style_index_0_id_50cd5c52_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 292:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(12);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".col-results[data-v-50cd5c52]{min-width:0}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 307:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/search/SearchInterface.vue?vue&type=template&id=50cd5c52&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:"page-container side-filters-enabled",attrs:{"data-qa":"search interface"}},[_c('b-row',{staticClass:"flex-row flex-nowrap"},[_c('b-col',{staticClass:"col-results"},[_c('b-container',{staticClass:"px-0 pb-3"},[_c('client-only',[(_vm.showSearchBoostingForm)?_c('SearchBoostingForm',{staticClass:"mb-3"}):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"mb-3 d-flex align-items-start justify-content-between"},[_c('SearchResultsContext',{attrs:{"editorial-overrides":_vm.editorialOverrides}}),_vm._v(" "),_c('ViewToggles',{staticClass:"flex-nowrap mt-md-2",attrs:{"link-gen-route":_vm.route},model:{value:(_vm.view),callback:function ($$v) {_vm.view=$$v},expression:"view"}})],1),_vm._v(" "),_c('b-row',{staticClass:"mb-3"},[_c('b-col',{attrs:{"cols":"12"}},[(_vm.$fetchState.pending)?_c('b-row',{staticClass:"flex-md-row py-4 text-center"},[_c('b-col',{attrs:{"cols":"12"}},[_c('LoadingSpinner',{attrs:{"status-message":_vm.$t('loadingResults')}})],1)],1):[_c('b-row',{staticClass:"mb-3"},[_c('b-col',[_c('AlertMessage',{directives:[{name:"show",rawName:"v-show",value:(_vm.$fetchState.error),expression:"$fetchState.error"}],attrs:{"error":_vm.errorMessage}}),_vm._v(" "),(!_vm.$fetchState.error)?[_c('p',{directives:[{name:"show",rawName:"v-show",value:(_vm.noMoreResults),expression:"noMoreResults"}],attrs:{"data-qa":"warning notice"}},[_vm._v("\n "+_vm._s(_vm.$t('noMoreResults'))+"\n ")]),_vm._v(" "),_c('ItemPreviewCardGroup',{attrs:{"items":_vm.results,"hits":_vm.hits,"view":_vm.view,"show-pins":_vm.showPins,"show-related":_vm.showRelated},scopedSlots:_vm._u([{key:"related",fn:function(){return [_vm._t("related")]},proxy:true}],null,true)},[_vm._t("default")],2),_vm._v(" "),_c('InfoMessage',{directives:[{name:"show",rawName:"v-show",value:(_vm.lastAvailablePage),expression:"lastAvailablePage"}]},[_vm._v("\n "+_vm._s(_vm.$t('resultsLimitWarning'))+"\n ")])]:_vm._e()],2)],1),_vm._v(" "),_c('b-row',{directives:[{name:"show",rawName:"v-show",value:(!_vm.$fetchState.error),expression:"!$fetchState.error"}]},[_c('b-col',[_c('PaginationNavInput',{attrs:{"total-results":_vm.totalResults,"per-page":_vm.perPage,"max-results":1000}})],1)],1)]],2)],1)],1),_vm._v(" "),_vm._t("after-results")],2),_vm._v(" "),_c('SideFilters',{attrs:{"route":_vm.route}})],1)],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/search/SearchInterface.vue?vue&type=template&id=50cd5c52&scoped=true&
// EXTERNAL MODULE: ./src/components/item/ItemPreviewCardGroup.vue + 9 modules
var ItemPreviewCardGroup = __webpack_require__(220);
// EXTERNAL MODULE: ./src/components/generic/InfoMessage.vue + 4 modules
var InfoMessage = __webpack_require__(250);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/search/ViewToggles.vue?vue&type=template&id=df02f044&scoped=true&
var ViewTogglesvue_type_template_id_df02f044_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-nav',{attrs:{"align":"right"}},_vm._l((_vm.views),function(view){return _c('b-nav-item',{key:view,staticClass:"pl-3",attrs:{"to":_vm.linkGen(view),"active":_vm.activeView === view,"data-qa":("search " + view + " view toggle")}},[_c('span',{staticClass:"icon-view-toggle",class:view,attrs:{"title":_vm.$t(("searchViews." + view))}})])}),1)}
var ViewTogglesvue_type_template_id_df02f044_scoped_true_staticRenderFns = []
// CONCATENATED MODULE: ./src/components/search/ViewToggles.vue?vue&type=template&id=df02f044&scoped=true&
// EXTERNAL MODULE: external "bootstrap-vue"
var external_bootstrap_vue_ = __webpack_require__(4);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/search/ViewToggles.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var ViewTogglesvue_type_script_lang_js_ = ({
name: 'ViewToggles',
components: {
BNav: external_bootstrap_vue_["BNav"]
},
props: {
/**
* Selected search results view
*
* @values grid, list, mosaic
*/
value: {
type: String,
default: 'grid'
},
/**
* Vue route to generate a link for switching the view
*/
linkGenRoute: {
type: Object,
default: () => {
return {
name: 'search'
};
}
}
},
data() {
return {
views: ['list', 'grid', 'mosaic'],
activeView: this.value
};
},
watch: {
value() {
this.activeView = this.value;
this.$cookies && this.$cookies.set('searchResultsView', this.value);
this.$matomo && this.$matomo.trackEvent('View search results', 'Select view', this.value);
}
},
methods: {
linkGen(view) {
return this.$path({ ...this.linkGenRoute,
...{
query: { ...this.$route.query,
...{
view
}
}
}
});
}
}
});
// CONCATENATED MODULE: ./src/components/search/ViewToggles.vue?vue&type=script&lang=js&
/* harmony default export */ var search_ViewTogglesvue_type_script_lang_js_ = (ViewTogglesvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(3);
// CONCATENATED MODULE: ./src/components/search/ViewToggles.vue
function injectStyles (context) {
var style0 = __webpack_require__(289)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
search_ViewTogglesvue_type_script_lang_js_,
ViewTogglesvue_type_template_id_df02f044_scoped_true_render,
ViewTogglesvue_type_template_id_df02f044_scoped_true_staticRenderFns,
false,
injectStyles,
"df02f044",
"79c42368"
)
/* harmony default export */ var ViewToggles = (component.exports);
// EXTERNAL MODULE: ./src/mixins/makeToast.js
var makeToast = __webpack_require__(53);
// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(8);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/search/SearchInterface.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
// Sorted before InfoMessage to prevent Conflicting CSS sorting warning
/* harmony default export */ var SearchInterfacevue_type_script_lang_js_ = ({
name: 'SearchInterface',
components: {
AlertMessage: () => __webpack_require__.e(/* import() */ 0).then(__webpack_require__.bind(null, 223)),
SearchBoostingForm: () => __webpack_require__.e(/* import() */ 99).then(__webpack_require__.bind(null, 585)),
SearchResultsContext: () => __webpack_require__.e(/* import() */ 77).then(__webpack_require__.bind(null, 535)),
InfoMessage: InfoMessage["a" /* default */],
ItemPreviewCardGroup: ItemPreviewCardGroup["a" /* default */],
LoadingSpinner: () => __webpack_require__.e(/* import() */ 2).then(__webpack_require__.bind(null, 221)),
PaginationNavInput: () => __webpack_require__.e(/* import() */ 14).then(__webpack_require__.bind(null, 231)),
SideFilters: () => __webpack_require__.e(/* import() */ 85).then(__webpack_require__.bind(null, 531)),
ViewToggles: ViewToggles
},
mixins: [makeToast["a" /* default */]],
props: {
perPage: {
type: Number,
default: 24
},
route: {
type: Object,
default: () => {
return {
name: 'search'
};
}
},
showPins: {
type: Boolean,
default: false
},
showRelated: {
type: Boolean,
default: true
},
editorialOverrides: {
type: Object,
default: null
}
},
async fetch() {
// NOTE: this helps prevent lazy-loading issues when paginating in Chrome 103
await this.$nextTick();
this.$scrollTo && (await this.$scrollTo('#header', {
cancelable: false
}));
this.viewFromRouteQuery();
this.$store.dispatch('search/activate');
this.$store.commit('search/set', ['userParams', this.$route.query]);
await this.$store.dispatch('search/run');
if (this.$store.state.search.error) {
if (true) {
this.$nuxt.context.res.statusCode = this.$store.state.search.errorStatusCode;
}
throw this.$store.state.search.error;
} else if (this.noResults) {
throw new Error(this.$t('noResults'));
}
},
computed: { ...Object(external_vuex_["mapState"])({
userParams: state => state.search.userParams,
hits: state => state.search.hits,
lastAvailablePage: state => state.search.lastAvailablePage,
results: state => state.search.results,
totalResults: state => state.search.totalResults
}),
qf() {
return this.userParams.qf;
},
query() {
return this.userParams.query;
},
reusability() {
return this.userParams.reusability;
},
api() {
return this.userParams.api;
},
page() {
// This causes double jumps on pagination when using the > arrow, for some reason
// return this.userParams.page;
// This is a workaround
return Number(this.$route.query.page || 1);
},
errorMessage() {
var _this$$fetchState$err;
if (!((_this$$fetchState$err = this.$fetchState.error) !== null && _this$$fetchState$err !== void 0 && _this$$fetchState$err.message)) {
return null;
}
const paginationError = this.$fetchState.error.message.match(/It is not possible to paginate beyond the first (\d+)/);
if (paginationError !== null) {
const localisedPaginationLimit = this.$options.filters.localise(Number(paginationError[1]));
return this.$t('messages.paginationLimitExceeded', {
limit: localisedPaginationLimit
});
}
return this.$fetchState.error.message;
},
hasAnyResults() {
return this.totalResults > 0;
},
noMoreResults() {
return this.hasAnyResults && this.results.length === 0;
},
noResults() {
return this.totalResults === 0;
},
debugSettings() {
return this.$store.getters['debug/settings'];
},
showSearchBoostingForm() {
var _this$debugSettings;
return (_this$debugSettings = this.debugSettings) === null || _this$debugSettings === void 0 ? void 0 : _this$debugSettings.boosting;
},
routeQueryView() {
return this.$route.query.view;
},
view: {
get() {
return this.$store.getters['search/activeView'];
},
set(value) {
this.$store.commit('search/setView', value);
}
}
},
watch: {
routeQueryView: 'viewFromRouteQuery',
'$route.query.api': '$fetch',
'$route.query.boost': '$fetch',
'$route.query.reusability': '$fetch',
'$route.query.query': '$fetch',
'$route.query.qf': '$fetch',
'$route.query.page': '$fetch'
},
destroyed() {
this.$store.dispatch('search/deactivate');
},
methods: {
viewFromRouteQuery() {
if (this.routeQueryView) {
this.view = this.routeQueryView;
this.$cookies && this.$cookies.set('searchResultsView', this.routeQueryView);
this.$store.commit('search/set', ['userParams', this.$route.query]);
}
}
}
});
// CONCATENATED MODULE: ./src/components/search/SearchInterface.vue?vue&type=script&lang=js&
/* harmony default export */ var search_SearchInterfacevue_type_script_lang_js_ = (SearchInterfacevue_type_script_lang_js_);
// CONCATENATED MODULE: ./src/components/search/SearchInterface.vue
function SearchInterface_injectStyles (context) {
var style0 = __webpack_require__(291)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var SearchInterface_component = Object(componentNormalizer["a" /* default */])(
search_SearchInterfacevue_type_script_lang_js_,
render,
staticRenderFns,
false,
SearchInterface_injectStyles,
"50cd5c52",
"d66d0dfa"
)
/* harmony default export */ var SearchInterface = __webpack_exports__["a"] = (SearchInterface_component.exports);
/***/ }),
/***/ 317:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(390);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(13).default
module.exports.__inject__ = function (context) {
add("aa5dfbde", content, true, context)
};
/***/ }),
/***/ 389:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_04744e61_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(317);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_04744e61_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_04744e61_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_04744e61_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_04744e61_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/***/ }),
/***/ 390:
/***/ (function(module, exports, __webpack_require__) {
// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(12);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, "h1[data-v-04744e61]{font-size:1.875rem;font-weight:300;line-height:1.375;margin-bottom:1rem}h1 span[data-v-04744e61]{font-weight:600}.page-container[data-v-04744e61]{max-width:none}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;
/***/ }),
/***/ 545:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/search/index.vue?vue&type=template&id=04744e61&scoped=true&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"data-qa":"search page"}},[_c('SearchInterface',{attrs:{"id":"search-interface","show-related":_vm.showRelated},scopedSlots:_vm._u([(_vm.searchQuery)?{key:"related",fn:function(){return [_c('client-only',[_c('RelatedSection',{attrs:{"query":_vm.searchQuery},on:{"show":_vm.showRelatedSection,"hide":_vm.hideRelatedSection}})],1)]},proxy:true}:null,(_vm.searchQuery)?{key:"after-results",fn:function(){return [_c('client-only',[_c('b-container',{staticClass:"px-0"},[_c('RelatedEditorial',{attrs:{"query":_vm.searchQuery}})],1)],1)]},proxy:true}:null],null,true)})],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/pages/search/index.vue?vue&type=template&id=04744e61&scoped=true&
// EXTERNAL MODULE: external "vue-client-only"
var external_vue_client_only_ = __webpack_require__(20);
var external_vue_client_only_default = /*#__PURE__*/__webpack_require__.n(external_vue_client_only_);
// EXTERNAL MODULE: ./src/components/search/SearchInterface.vue + 9 modules
var SearchInterface = __webpack_require__(307);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/search/index.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var searchvue_type_script_lang_js_ = ({
name: 'SearchPage',
components: {
ClientOnly: external_vue_client_only_default.a,
SearchInterface: SearchInterface["a" /* default */],
RelatedEditorial: () => __webpack_require__.e(/* import() */ 12).then(__webpack_require__.bind(null, 568)),
RelatedSection: () => __webpack_require__.e(/* import() */ 84).then(__webpack_require__.bind(null, 569))
},
async beforeRouteLeave(to, from, next) {
// Leaving the search page closes the search bar. Reevaluate when autosuggestions go straight to entity pages.
this.$store.commit('search/setShowSearchBar', false);
next();
},
middleware: 'sanitisePageQuery',
data() {
return {
showRelated: false
};
},
fetch() {
this.$store.commit('search/set', ['overrideParams', {}]);
},
head() {
return {
title: this.$pageHeadTitle(this.searchQuery ? this.$t('searchResultsFor', [this.searchQuery]) : this.$t('search.title'))
};
},
computed: {
searchQuery() {
return this.$route.query.query;
}
},
mounted() {
this.$store.commit('search/enableCollectionFacet');
},
methods: {
showRelatedSection() {
this.showRelated = true;
},
hideRelatedSection() {
this.showRelated = false;
}
}
});
// CONCATENATED MODULE: ./src/pages/search/index.vue?vue&type=script&lang=js&
/* harmony default export */ var pages_searchvue_type_script_lang_js_ = (searchvue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(3);
// CONCATENATED MODULE: ./src/pages/search/index.vue
function injectStyles (context) {
var style0 = __webpack_require__(389)
if (style0.__inject__) style0.__inject__(context)
}
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
pages_searchvue_type_script_lang_js_,
render,
staticRenderFns,
false,
injectStyles,
"04744e61",
"9a706074"
)
/* harmony default export */ var search = __webpack_exports__["default"] = (component.exports);
/***/ })
};;
//# sourceMappingURL=index.js.map