UNPKG

@europeana/portal

Version:
229 lines (181 loc) 8.38 kB
exports.ids = [49]; exports.modules = { /***/ 319: /***/ (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__(394); 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("fbd2802c", content, true, context) }; /***/ }), /***/ 393: /***/ (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_85501a7a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(319); /* 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_85501a7a_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_85501a7a_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_85501a7a_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_85501a7a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /***/ }), /***/ 394: /***/ (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, ".contentful button[data-v-85501a7a]{margin-right:1rem}", ""]); // Exports module.exports = ___CSS_LOADER_EXPORT___; /***/ }), /***/ 549: /***/ (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/contentful/category-suggest/index.vue?vue&type=template&id=85501a7a&scoped=true& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"contentful"},[_c('b-form-group',_vm._l((_vm.value),function(val){return _c('b-button',{key:val.sys.id,staticClass:"mb-2",on:{"click":function($event){return _vm.removeSelection(val)}}},[_vm._v("\n "+_vm._s(val.fields.name['en-GB'])+"\n ")])}),1),_vm._ssrNode(" "),_c('b-form',[_c('b-form-group',[_c('b-form-input',{attrs:{"type":"search","autocomplete":"off","placeholder":"Search for categories"},on:{"input":_vm.suggestCategories},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:"searchText"}})],1),_vm._v(" "),_c('b-form-group',_vm._l((_vm.suggestions),function(suggestion){return _c('b-button',{key:suggestion.sys.id,staticClass:"mb-2",attrs:{"disabled":_vm.isSelected(suggestion)},on:{"click":function($event){return _vm.selectSuggestion(suggestion)}}},[_vm._v("\n "+_vm._s(suggestion.fields.name['en-GB'])+"\n ")])}),1)],1)],2)} var staticRenderFns = [] // CONCATENATED MODULE: ./src/pages/contentful/category-suggest/index.vue?vue&type=template&id=85501a7a&scoped=true& // CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./src/pages/contentful/category-suggest/index.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // TODO: this largely duplicates entity-suggest; refactor for DRYness /* harmony default export */ var category_suggestvue_type_script_lang_js_ = ({ name: 'ContentfulCategorySuggestPage', layout: 'contentful', data() { return { value: [], searchText: null, suggestions: [], contentfulExtensionSdk: null }; }, head() { return { title: this.$pageHeadTitle('Category suggest - Contentful app') }; }, watch: { value: 'updateContentfulField' }, mounted() { window.contentfulExtension.init(sdk => { this.contentfulExtensionSdk = sdk; if (sdk.location.is(window.contentfulExtension.locations.LOCATION_ENTRY_FIELD)) { sdk.window.startAutoResizer(); this.findCategories(); } }); }, methods: { isSelected(suggestion) { return this.value.map(val => val.sys.id).includes(suggestion.sys.id); }, async suggestCategories(text) { if (text.length < 2) { return; } const response = await this.contentfulExtensionSdk.space.getEntries({ 'content_type': 'category', 'fields.name[match]': text }); this.suggestions = response.items; }, async findCategories() { const ids = (this.contentfulExtensionSdk.field.getValue() || []).map(link => link.sys.id); if (ids.length > 0) { const response = await this.contentfulExtensionSdk.space.getEntries({ 'sys.id[in]': ids.join(',') }); // preserve order of stored category IDs const value = []; for (const id of ids) { const category = response.items.find(item => item.sys.id === id); if (category) { value.push(category); } } this.value = value; } }, removeSelection(remove) { this.value = this.value.filter(val => val.sys.id !== remove.sys.id); }, selectSuggestion(select) { this.value = this.value.concat(select); }, updateContentfulField() { this.contentfulExtensionSdk.field.setValue(this.value.map(val => ({ sys: { type: 'Link', linkType: 'Entry', id: val.sys.id } }))); } } }); // CONCATENATED MODULE: ./src/pages/contentful/category-suggest/index.vue?vue&type=script&lang=js& /* harmony default export */ var contentful_category_suggestvue_type_script_lang_js_ = (category_suggestvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(3); // CONCATENATED MODULE: ./src/pages/contentful/category-suggest/index.vue function injectStyles (context) { var style0 = __webpack_require__(393) if (style0.__inject__) style0.__inject__(context) } /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( contentful_category_suggestvue_type_script_lang_js_, render, staticRenderFns, false, injectStyles, "85501a7a", "3981eff8" ) /* harmony default export */ var category_suggest = __webpack_exports__["default"] = (component.exports); /***/ }) };; //# sourceMappingURL=index.js.map