@europeana/portal
Version:
Europeana Portal
2 lines • 4.98 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{1144:function(e,t,n){"use strict";n.r(t);var r=n(23),o=(n(75),n(30),n(21),n(37),n(107),n(60),n(67),n(10),n(46),n(34),n(15),n(64),n(314)),c=n(800),l=n(31),data=n(109),f={name:"ContentfulEntityHarvesterPage",mixins:[c.a],layout:"contentful",data:function(){return{contentfulExtensionSdk:null,entry:null,message:null}},head:function(){return{title:this.$pageHeadTitle("Entity harvester - Contentful app"),bodyAttrs:{class:"",style:"background: transparent;"}}},methods:{harvestEntity:function(){var e=this;return Object(r.a)(regeneratorRuntime.mark((function t(){var n,r,o,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getUrlFromUser();case 2:if(n=t.sent){t.next=5;break}return t.abrupt("return");case 5:t.prev=5,c=e.entityParamsFromUrl(n),r=c.type,o=c.id,t.next=15;break;case 11:return t.prev=11,t.t0=t.catch(5),e.showError("Unable to parse URL: ".concat(n," Please make sure the URL conforms to the accepted formats.")),t.abrupt("return");case 15:return t.prev=15,t.next=18,e.$apis.entity.get(r,o);case 18:l=t.sent,t.next=25;break;case 21:return t.prev=21,t.t1=t.catch(15),e.showError("Unable to harvest: ".concat(n," Please make sure the entity can be accessed on the entity API. ").concat(t.t1.message)),t.abrupt("return");case 25:try{e.populateFields(l.entity,o),e.message="Success"}catch(t){e.showError("There was a problem updating the entry. ".concat(t.message))}case 26:case"end":return t.stop()}}),t,null,[[5,11],[15,21]])})))()},getUrlFromUser:function(){var e=this;return Object(r.a)(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.contentfulExtensionSdk.dialogs.openPrompt({title:"Harvest",message:"Enter a Europeana.eu entity/collection page URL, or an entity URI",intent:"positive"}));case 1:case"end":return t.stop()}}),t)})))()},entityParamsFromUrl:function(e){if(e=e.replace(new RegExp("^https?://api.europeana.eu/entity"),data.a),Object(o.h)(e))return Object(o.b)(e);var t=e.match(new RegExp("^https?://[^/]+(/[a-z]{2})?/collections/(person|topic|time)/([0-9]+)+"));if(t)return{type:t[2],id:t[3]};throw new Error},populateFields:function(e,t){var n,r,c,f,h=Object(l.h)(e.prefLabel,"en",{omitAllUris:!0}).values[0];this.entry.fields.identifier.setValue(e.id),null===(n=this.entry.fields.slug)||void 0===n||n.setValue(Object(l.f)(t,h)),null===(r=this.entry.fields.type)||void 0===r||r.setValue(Object(o.e)(e.type)),null===(c=this.entry.fields.name)||void 0===c||c.setValue(h),null===(f=this.entry.fields.description)||void 0===f||f.setValue(this.entityDescriptionFromResponse(e)),this.entry.fields.image&&(this.entry.fields.image.removeValue(),e.isShownBy&&this.entry.fields.image.setValue(e.isShownBy.thumbnail))},entityDescriptionFromResponse:function(e){var t="";switch(e.type){case"Agent":t=Object(l.h)(e.biographicalInformation,"en").values[0];break;case"Concept":case"Place":t=Object(l.h)(e.note,"en").values[0];break;case"Organization":t=Object(l.h)(e.description,"en").values[0]}return t}}},h=(n(944),n(59)),component=Object(h.a)(f,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"contentful"},[n("b-form-group",[n("b-button",{staticClass:"mb-2",on:{click:e.harvestEntity}},[e._v("\n Harvest\n ")])],1),e._v(" "),n("p",[e._v(e._s(e.message))]),e._v(" "),e._m(0)],1)}),[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cf-form-hint"},[e._v("\n Examples:\n "),n("ul",{staticStyle:{"margin-top":"0","padding-left":"1.25rem"}},[n("li",[e._v("http://data.europeana.eu/agent/59832")]),e._v(" "),n("li",[e._v("https://api.europeana.eu/entity/timespan/20")]),e._v(" "),n("li",[e._v("https://www.europeana.eu/en/collections/person/60404-johannes-vermeer")]),e._v(" "),n("li",[e._v("https://portaljs-test.eanadev.org/collections/topic/190")])])])}],!1,null,"34e7e990",null);t.default=component.exports},800:function(e,t,n){"use strict";t.a={data:function(){return{contentfulExtensionSdk:null,entry:null,message:null}},mounted:function(){var e=this;window.contentfulExtension.init((function(t){e.contentfulExtensionSdk=t,t.location.is(window.contentfulExtension.locations.LOCATION_ENTRY_SIDEBAR)&&(t.window.startAutoResizer(),e.entry=t.entry)}))},methods:{showError:function(e){this.contentfulExtensionSdk.dialogs.openAlert({title:"Error",message:e}),this.message="Failed"}}}},849:function(e,t,n){var content=n(945);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(138).default)("6461e975",content,!0,{sourceMap:!1})},944:function(e,t,n){"use strict";n(849)},945:function(e,t,n){var r=n(137)(!1);r.push([e.i,".contentful[data-v-34e7e990]{font-size:11px}.contentful button[data-v-34e7e990]{margin-right:1rem}",""]),e.exports=r}}]);
//# sourceMappingURL=8c81de4.js.map