UNPKG

@europeana/portal

Version:
2 lines 6.34 kB
(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{1065:function(e,r,t){"use strict";t.r(r);var o=t(16),n=(t(14),t(21),t(22),t(43),t(55),t(38),t(42),t(48),t(265)),c=t.n(n),d={name:"IIIFPage",layout:"minimal",asyncData(e){var{query:r}=e;return{uri:r.uri,searchQuery:r.query}},data:()=>({manifest:null,MIRADOR_BUILD_PATH:"https://cdn.jsdelivr.net/npm/mirador@3.0.0/dist",page:null,imageToCanvasMap:{},mirador:null,showAnnotations:!1,miradorStoreManifestJsonUnsubscriber:()=>{}}),head(){return{title:this.$pageHeadTitle("IIIF"),script:[{src:"".concat(this.MIRADOR_BUILD_PATH,"/mirador.min.js")}]}},computed:{miradorViewerOptions(){return{id:"viewer",windows:[{manifestId:this.uri,thumbnailNavigationPosition:"far-bottom"}],window:{allowClose:!1,allowFullscreen:!0,allowMaximize:!1,allowTopMenuButton:!1,allowWindowSideBar:!1,sideBarOpen:!1,panels:{info:!1,attribution:!1,canvas:!1,annotations:!0,search:!0},defaultSideBarPanel:this.searchQuery?"search":"annotations"},workspace:{showZoomControls:!0,type:"mosaic"},workspaceControlPanel:{enabled:!1},requests:{postprocessors:[this.postprocessMiradorRequest]}}}},mounted(){this.$nextTick((()=>{this.mirador=window.Mirador.viewer(this.miradorViewerOptions),this.miradorStoreManifestJsonUnsubscriber=this.mirador.store.subscribe(this.miradorStoreManifestJsonListener)}))},methods:{miradorStoreManifestJsonListener(){var e=Object.values(this.mirador.store.getState().windows)[0];if(e){var r=this.mirador.store.getState().manifests[e.manifestId];r&&(this.manifest=r.json,e.canvasId&&e.canvasId!==this.page&&(this.memoiseImageToCanvasMap(),this.page=e.canvasId,this.fetchImageData(this.uri,this.page)))}},postprocessMiradorRequest(e,r){switch(r.type){case"mirador/RECEIVE_MANIFEST":this.postprocessMiradorManifest(e,r);break;case"mirador/RECEIVE_ANNOTATION":if(r.annotationJson.resources.length>0){var t=Object.keys(this.mirador.store.getState().windows)[0];if(!this.showAnnotations){if(this.searchQuery){var o=Object.keys(this.mirador.store.getState().companionWindows)[0],n="".concat(this.manifest.service["@id"],"?q=").concat(this.searchQuery),c=window.Mirador.actions.fetchSearch(t,o,n,this.searchQuery);this.mirador.store.dispatch(c)}var d=window.Mirador.actions.toggleWindowSideBar(t);this.mirador.store.dispatch(d),this.showAnnotations=!0,this.miradorViewerOptions.window.allowWindowSideBar=!0;var h=window.Mirador.actions.updateConfig(this.miradorViewerOptions);this.mirador.store.dispatch(h)}}this.postprocessMiradorAnnotation(e,r);break;case"mirador/RECEIVE_SEARCH":this.postprocessMiradorSearch(e,r)}},postprocessMiradorManifest(e,r){this.addTextGranularityFilterToManifest(r.manifestJson)},postprocessMiradorAnnotation(e,r){this.coerceResourcesOnToCanvases(r.annotationJson),this.dereferenceAnnotationResources(r.annotationJson)},postprocessMiradorSearch(e,r){this.filterSearchHitsByTextGranularity(r.searchJson),this.coerceResourcesOnToCanvases(r.searchJson),this.coerceSearchHitsToBeforeMatchAfter(r.searchJson)},addTextGranularityFilterToManifest(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Line";if(/^https?:\/\/iiif\.europeana\.eu\/presentation\/[^/]+\/[^/]+\/manifest$/.test(e["@id"]))for(var t of e.sequences)for(var canvas of t.canvases||[])for(var o=canvas.otherContent||[],i=0;i<o.length;i+=1){var n=o[i],c=n.includes("?")?"&":"?";o[i]="".concat(n).concat(c,"textGranularity=").concat(r)}},filterSearchHitsByTextGranularity(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Line";e.resources=e.resources.filter((e=>!e.dcType||e.dcType===r));var t=e.resources.map((e=>e["@id"]));e.hits=e.hits.filter((e=>e.annotations.some((e=>t.includes(e)))))},coerceResourcesOnToCanvases(e){e.resources=e.resources.map(this.coerceResourceOnImagesToCanvases)},memoiseImageToCanvasMap(){this.imageToCanvasMap=this.manifest.sequences.reduce(((e,r)=>{for(var canvas of r.canvases)for(var image of canvas.images)e[image.resource["@id"]]=canvas["@id"];return e}),{})},canvasForImage(e){var r=e.split("#");return this.imageToCanvasMap[r[0]]?[this.imageToCanvasMap[r[0]],r[1]].join("#"):null},coerceResourceOnImagesToCanvases(e){if(Array.isArray(e.on))for(var i=0;i<e.on.length;i+=1){var canvas=this.canvasForImage(e.on[i]);canvas&&(e.on[i]=canvas)}else{var r=this.canvasForImage(e.on);r&&(e.on=r)}return e},coerceSearchHitsToBeforeMatchAfter(e){var r=[];for(var t of e.hits||[])if(t.selectors)for(var o of t.selectors)r.push({"@type":t["@type"],annotations:t.annotations,before:o.prefix,after:o.suffix,match:o.exact});else r.push(t);e.hits=r},fetchAnnotationResourcesFulltext(e){var r=e.resources.filter((e=>!e.resource.chars&&e.resource["@id"])).map((e=>e.resource["@id"].split("#")[0])),t={},o=c()(r).map((e=>this.$axios.get(e).then((e=>e.data)).then((data=>{"FullTextResource"===data.type&&(t[e]=data.value)}))));return Promise.all(o).then((()=>t))},dereferenceAnnotationResources(e){var r=this;return Object(o.a)((function*(){var t=yield r.fetchAnnotationResourcesFulltext(e);for(var o of e.resources)if(!o.resource.chars&&o.resource["@id"]){var n=o.resource["@id"].split("#")[0];if(t[n]){var c=o.resource["@id"].split("#")[1];if(o.resource.chars=t[n],c){var d=c.match(/char=(\d+),(\d+)$/);d&&(o.resource.chars=o.resource.chars.slice(Number(d[1]),Number(d[2])+1))}}}}))()},fetchImageData(e,r){if(this.manifest){var t=this.manifest.sequences[0].canvases.filter((canvas=>canvas["@id"]===r));t&&t[0]&&window.parent.postMessage({event:"updateDownloadLink",id:t[0].images[0].resource["@id"]},window.location.origin)}}}},h=d,l=(t(850),t(40)),component=Object(l.a)(h,(function(){var e=this,r=e.$createElement;e._self._c;return e._m(0)}),[function(){var e=this.$createElement,r=this._self._c||e;return r("div",[r("div",{attrs:{id:"viewer"}})])}],!1,null,"2ad20123",null);r.default=component.exports},767:function(e,r,t){var content=t(851);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,t(106).default)("39464350",content,!0,{sourceMap:!1})},850:function(e,r,t){"use strict";t(767)},851:function(e,r,t){var o=t(105)(!1);o.push([e.i,"[data-v-2ad20123] .mirador-thumbnail-nav-canvas:focus{outline:2px solid #0a72cc !important}[data-v-2ad20123] .mirador-thumb-navigation{height:100px !important}",""]),e.exports=o}}]); //# sourceMappingURL=450b438.modern.js.map