@europeana/portal
Version:
Europeana Portal
2 lines • 4.07 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{1076:function(e,t,n){"use strict";n.r(t);var r=n(16),o=(n(14),n(58),n(21),n(22),n(24)),l=n(256),c={name:"ContentfulRecordHarvesterPage",layout:"contentful",data:()=>({contentfulExtensionSdk:null,encoding:null,identifier:"",message:""}),head(){return{title:this.$pageHeadTitle("Record harvester - Contentful app"),bodyAttrs:{class:"",style:"background: transparent;"}}},computed:{thumbnailUrl(){var e,t;if(null!==(e=this.encoding)&&void 0!==e&&e.edmPreview)return(null===(t=this.encoding)||void 0===t?void 0:t.edmPreview[0])+"size=w200"}},mounted(){window.contentfulExtension.init((e=>{var t;(this.contentfulExtensionSdk=e,e.location.is(window.contentfulExtension.locations.LOCATION_ENTRY_FIELD))&&(e.window.startAutoResizer(),this.identifier=e.field.getValue(),this.encoding=null===(t=e.entry.fields.encoding)||void 0===t?void 0:t.getValue())}))},methods:{harvestRecord(){var e=this;return Object(r.a)((function*(){var t=Object(l.c)(e.identifier);if(t){var n,r={profile:"minimal",query:'europeana_id:"'.concat(t,'"'),qf:["contentTier:*"],rows:1};try{if(!(n=yield e.$apis.record.search(r)).items[0])throw new Error("Not found")}catch(n){return void(e.message='Unable to harvest "'.concat(t,'". Please make sure the item can be accessed on the Record API. Error: "').concat(n.message,'"'))}e.identifier=n.items[0].id,e.encoding=n.items[0];try{yield e.populateFields(),e.message="Success"}catch(t){e.message="There was a problem updating the entry. ".concat(t.message)}}else e.message="Unable to parse URL: ".concat(e.identifier," Please make sure the URL conforms to the accepted formats.")}))()},generateName(){var e;return(Object(o.h)(null===(e=this.encoding)||void 0===e?void 0:e.dcTitleLangAware,"en").values[0]||"Record ".concat(this.identifier)).substring(0,255)},populateFields(){var e=this;return Object(r.a)((function*(){var t,n,r=e.generateName();e.contentfulExtensionSdk.field.setValue(e.encoding.id),null===(t=e.contentfulExtensionSdk.entry.fields.name)||void 0===t||t.setValue(r,"en-GB"),null===(n=e.contentfulExtensionSdk.entry.fields.encoding)||void 0===n||n.setValue(e.encoding)}))()},resetRecord(){try{Object.values(this.contentfulExtensionSdk.entry.fields).forEach((e=>{e.removeValue()}))}catch(e){return void(this.message="There was a problem clearing the entry. ".concat(e.message))}this.identifier=null,this.encoding=null,this.message="Successfully cleared all data"}}},d=(n(877),n(40)),component=Object(d.a)(c,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"contentful"},[n("b-form-group",[n("div",{staticClass:"thumbnail-preview"},[e.thumbnailUrl?n("img",{attrs:{src:e.thumbnailUrl,alt:""}}):e._e()]),e._v(" "),n("b-form-input",{attrs:{type:"text"},model:{value:e.identifier,callback:function(t){e.identifier=t},expression:"identifier"}}),e._v(" "),n("p",[n("b-button",{staticClass:"mb-2",attrs:{disabled:!e.identifier},on:{click:e.harvestRecord}},[e._v("\n Go!\n ")]),e._v(" "),n("b-button",{staticClass:"mb-2",on:{click:e.resetRecord}},[e._v("\n Clear all data\n ")])],1)],1),e._v(" "),n("p",[e._v(e._s(e.message))])],1)}),[],!1,null,"3de7061e",null);t.default=component.exports},778:function(e,t,n){var content=n(878);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(106).default)("231774c4",content,!0,{sourceMap:!1})},877:function(e,t,n){"use strict";n(778)},878:function(e,t,n){var r=n(105)(!1);r.push([e.i,".contentful[data-v-3de7061e]{font-size:11px}.contentful button[data-v-3de7061e]{margin-right:.5rem}.contentful .thumbnail-preview[data-v-3de7061e]{float:right;max-height:200px;max-width:35%;height:200px;width:100%;background:#ddd;text-align:center}.contentful .thumbnail-preview img[data-v-3de7061e]{margin:auto;width:auto;height:100%;max-height:200px}.contentful input[data-v-3de7061e]{width:60%}.contentful p[data-v-3de7061e]{margin-top:.5rem}",""]),e.exports=r}}]);
//# sourceMappingURL=935336a.modern.js.map