@fluid-topics/ft-reader-metadata 1.3.19 → 1.3.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1582,7 +1582,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:r.extend("--ft-conte
|
|
|
1582
1582
|
<span class="ft-i18n">
|
|
1583
1583
|
${this.i18n({context:this.context,key:this.key,args:Array.isArray(this.args)?this.args:[]})}
|
|
1584
1584
|
</span>
|
|
1585
|
-
`}update(t){var o;super.update(t),["context","key","defaultMessage"].some(n=>t.has(n))&&this.context&&this.key&&this.addI18nContext(this.context,{[this.key]:(o=this.defaultMessage)!==null&&o!==void 0?o:""})}};Qt.elementDefinitions={};Qt.styles=hd;no([(0,hn.redux)()],Qt.prototype,"editorMode",void 0);no([(0,fn.property)()],Qt.prototype,"context",void 0);no([(0,fn.property)()],Qt.prototype,"key",void 0);no([(0,hn.jsonProperty)([])],Qt.prototype,"args",void 0);no([(0,fn.property)()],Qt.prototype,"defaultMessage",void 0);var yn=class e{static build(t){return new e(t)}static buildCustom(t){return new e(t,!0)}static fromGwt(t){return new e(t)}get service(){return this.custom?Ho:Er}constructor(t,o=!1){this.name=t,this.custom=o,this.properties=new Proxy({},{get:(n,i)=>{let a=i;return s=>({context:this.name,key:a,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,i)=>(...a)=>this.service.resolveMessage(this.name,i,...a)}),this.rawMessages=new Proxy({},{get:(n,i)=>this.service.resolveRawMessage(this.name,i)})}};var yd=(e,t)=>(o,n)=>{var i,a;o.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(i=e.key)!==null&&i!==void 0?i:n};o[oo]=(a=o[oo])!==null&&a!==void 0?a:new Map,o[oo].set(n,s)};(0,md.customElement)("ft-i18n")(Qt);var Gi=yn.build("designedReaderMapMetadata");var Sd=b(N());var io=b($()),Me=b(J()),Lt=b(N());var Jt=b(N());var gd=b(N()),eu={setTranslationDestinationLanguage:(e,t)=>{e.translation.destinationLanguage=t.payload},setTranslationSourceLanguage:(e,t)=>{e.translation.sourceLanguage=t.payload},setTranslationProfileId:(e,t)=>{e.translation.profileId=t.payload},setTranslationLoading:(e,t)=>{e.translation.isLoading=t.payload},setTranslationError:(e,t)=>{e.translation.isError=t.payload},setTopicsRating:(e,t)=>{for(let o in t.payload)e.topicsRating[o]=t.payload[o]}},bd=e=>gd.FtReduxStore.get({name:"ft-reader-"+e,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}},reducers:eu});var ji=class{constructor(t,o){this.mapId=t,this.paginatedToc=o,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(t,o,n){return t.flatMap(i=>{var a;return i.pageConfiguration&&this.registerPage(this.buildPage(i,n)),i.tocId==null?this.extractPagesToc(i.children,o,n):[{tocId:i.tocId,title:(a=i.title)!==null&&a!==void 0?a:"",untranslatedTitle:i.untranslatedTitle,depth:o,children:this.extractPagesToc(i.children,o+1,i.tocId)}]})}convertNodes(t,o,n){return t.flatMap(i=>{var a,s,l;if(i.tocId==null)return[...this.convertSectionNodes((a=i.pageToc)!==null&&a!==void 0?a:[],o,i.tocId),...this.convertNodes(i.children,o,i.tocId)];let p=(s=i.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),u={tocId:i.tocId,contentId:i.contentId,title:i.title,untranslatedTitle:i.untranslatedTitle,hasRating:i.hasRating,origin:i.origin,prettyUrl:p,depth:o,parentTocId:n,children:[]};this.register(u);let h=this.convertSectionNodes((l=i.pageToc)!==null&&l!==void 0?l:[],o+1,i.tocId),y=this.convertNodes(i.children,o+1,u.tocId);return u.children=[...h,...y],[u]})}convertSectionNodes(t,o,n){return t.flatMap(i=>{var a;let s=(a=i.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),l={...i,prettyUrl:s,depth:o,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(i.children,o+1,i.tocId),[l]})}buildPage(t,o){var n,i,a,s,l,p;let u={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(i=t.tocId)!==null&&i!==void 0?i:"root",toc:((a=t.pageToc)!==null&&a!==void 0?a:[]).map(g=>this.nodeByTocId[g.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(g,x)=>(x?u.topics:u.hiddenTopics).push(g),y=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return u.breadcrumb.forEach((g,x)=>{h(g,y[x])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),u.topics.push(...this.tocIds((p=t.pageToc)!==null&&p!==void 0?p:[])),u}registerPage(t){for(let o of[...t.topics,...t.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=t);this.pages.push(t)}tocIds(t){return t.flatMap(o=>[o.tocId,...this.tocIds(o.children)])}buildBreadcrumb(t){let o=[t.tocId];for(;t?.parentTocId;)o.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return o}register(t){t.prettyUrl&&(this.nodeByUrl[t.prettyUrl]==null?this.nodeByUrl[t.prettyUrl]=t:this.duplicatedPrettyUrls.add(t.prettyUrl)),this.nodeByUrl[`${this.mapId}/${t.tocId}`]=t,this.nodeByTocId[t.tocId]=t}},mn=class{convertPaginatedToc(t,o){return new ji(t,o).build()}};var gn=class extends Ut{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,n){super(!1,o),this.converter=t,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(t=>this.fetchMap(t))),this.cache.register("enrichedToc",()=>this.withMapId(t=>this.fetchPages(t).then(o=>this.converter.convertPaginatedToc(t,o)))),this.cache.register("ratingSummary",()=>{var t,o;return ye((o=(t=R.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(t=>t!=="configuration")}makeCacheKey(t,o){return t+(o?"-destinationLanguage-"+o?.destinationLanguage:"")}getMap(t){return this.cache.get(this.makeCacheKey("map",t),()=>this.fetchMap(this.mapId,t))}getMapNow(t){return this.cache.getNow(this.makeCacheKey("map",t))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(t){return this.cache.get(this.makeCacheKey("enrichedToc",t),()=>this.fetchPages(this.mapId,t).then(o=>this.converter.convertPaginatedToc(this.mapId,o)))}getEnrichedTocNow(t){return this.cache.getNow(this.makeCacheKey("enrichedToc",t))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(t){return(await this.getEnrichedToc(t)).toc}async getPagesToc(t){return(await this.getEnrichedToc(t)).pagesToc}async getTranslationError(t){return(await this.getEnrichedToc(t)).translationError}async getTocNode(t,o){return(await this.getEnrichedToc(o)).nodeByTocId[t]}getTocNodeNow(t,o){var n;return(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.nodeByTocId[t]}getTocNodeNowByUrl(t,o){var n,i;let a=this.getMapNow(o);return a?.prettyUrl==t||`${a?.id}/root`===t?(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t,o){let n=await this.getEnrichedToc(o);return n.pages[t-1]||n.pages[0]}async getPageByTocId(t,o){let n=await this.getEnrichedToc(o);return n.pageByTocId[t]||n.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,()=>this.fetchTopicMetadata(t))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,()=>this.fetchTopicHTMLContent(t))}getTranslatedTopicContent(t,o){return this.cache.get(this.makeCacheKey("translated-topic-content-"+t.tocId,o),()=>this.fetchTranslatedTopicHTMLContent(t,o))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(t,o){return this.cache.get("document-relatives-"+t+"-"+o.join("-"),()=>this.fetchRelativesForDocument(t,o))}getRelativesForTopicInMap(t,o,n){return this.cache.get("topic-relatives-"+[t,o,...n].join("-"),()=>this.fetchRelativesForTopicInMap(t,o,n))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true&locationValue=reader`)}getLink(t,o,n){let i=this.getNavigationData(t,o,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(t,o,n,i){var a,s;t=t||"root";let l=this.getEnrichedTocNow(i),p=l?.pageByTocId[t],u=l?.nodeByTocId[t],h=u?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(a=u?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:u?.untranslatedTitle,page:o&&p&&p.number!==o?o:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(t,o,n,i){return await this.getEnrichedToc(i),this.getNavigationData(t,o,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(o=>{var n;return o?{type:o.topics.type,rating:(n=o.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===t)}:void 0})}rateMap(t,o){return this.makeRateMapRequest(t,o).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(t,o){return this.makeMapFeedbackRequest(t,o)}rateTopic(t,o,n){return this.makeRateTopicRequest(t,o,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=R.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,n){return this.makeTopicFeedbackRequest(t,o,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t,o){let n=this.getTocNodeNow(t,o),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,o);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,o);return i}isFeatureAccessible(t,{session:o}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case ce.FEEDBACK:return ye(o??[],j.FEEDBACK_USER);case ce.RATING:return ye(o??[],j.RATING_USER);case ce.PRINT:return ye(o??[],j.PRINT_USER);case ce.BOOKMARK:return!!o?.sessionAuthenticated;case ce.COLLECTIONS:return ye(o??[],j.COLLECTION_USER);case ce.PERSONAL_BOOKS:return ye(o??[],j.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var bn=class e extends gn{static async build(t){return new e(new mn,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t,o){let n=await this.api.getMap(t,o);return this.fingerprint=n.fingerprint,n}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t,o){return await this.getMap(o),this.api.getPages(t,this.fingerprint,o)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(t,o){return this.api.getTranslatedTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint,o)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,o){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(t,o,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:o,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[t]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(t,o){return this.api.sendMapFeedback(this.mapId,t,o)}makeRateMapRequest(t,o){return this.api.rateMap(this.mapId,t,o)}makeRateTopicRequest(t,o,n){return this.api.rateTopic(this.mapId,t,o,n)}makeTopicFeedbackRequest(t,o,n){return this.api.sendTopicFeedback(this.mapId,t,o,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var xn=class e{static build(t,o){return new e(bd(t.trim()||"context"),o??bn.build)}loaded(){return(0,Jt.waitUntil)(()=>this._loaded)}constructor(t,o,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Jt.Debouncer(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setRenderedTopics(t){this.store.actions.renderedTopics(t)}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return(0,Jt.waitFor)(()=>this.service)}async navigateToTopic(t,o,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(t,a);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,o){var n,i,a;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:o.rootTocId;return o.topics.includes(s)?s:(a=(i=o.topics[0])!==null&&i!==void 0?i:o.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(t){await this.loaded();let n=await(await this.awaitService()).getPage(t,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var t;!((t=this.service)===null||t===void 0)&&t.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var t;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(t){var o,n,i,a,s;try{t&&this.setTranslationLoading(!0);let l=p=>{throw t&&this.setTranslationError(!0),p};await Promise.all([this.loadConfiguration(),(o=this.service)===null||o===void 0?void 0:o.getMap(t).then(p=>this.store.actions.map(p)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(t).then(p=>this.store.actions.toc(p)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(t).then(p=>this.store.actions.pagesToc(p)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(p=>this.store.actions.paginationConfiguration(p)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(t).then(p=>this.setTranslationError(p))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof Jt.CanceledPromiseError)&&this.errorHandler(l)}}loadConfiguration(){var t;return(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(o=>this.store.actions.configuration(o))}reloadConfiguration(){var t;return(t=this.service)===null||t===void 0||t.clearConfiguration(),this.loadConfiguration()}fetchRelatives(){var t,o;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(i=>{let a=i.results.flatMap(s=>s.entries);this.store.actions.relatives(a),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Fe.clusteringHelperCreated))}createClusteringHelper(){var t,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),a=(o=(t=R.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new Jt.ClusteringHelper(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var o,n,i;await this.loaded();let a=await(0,Jt.waitFor)(()=>{var u;return(u=this.store.getState().configuration)===null||u===void 0?void 0:u.relativeTopicPivotMetadata}),s=this.store.getState().mapId,p=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[t]);if(!((i=(n=(o=p?.results)===null||o===void 0?void 0:o[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let u=p.results[0].entries[0].topic.tocId;return await this.navigateToTopic(u),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}async setTranslationDestinationLanguage(t){this.store.actions.setTranslationDestinationLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(t){this.store.actions.setTranslationSourceLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(t){this.store.actions.setTranslationProfileId(t)}async setTranslationLoading(t){this.store.actions.setTranslationLoading(t)}async setTranslationError(t){this.store.actions.setTranslationError(t)}getTranslationSettings(){var t;let o=this.store.getState();return o.translation.profileId&&o.translation.destinationLanguage?{profileId:o.translation.profileId,destinationLanguage:o.translation.destinationLanguage.code,sourceLanguage:(t=o.map)===null||t===void 0?void 0:t.lang}:void 0}async fetchMapRating(){var t;this.store.actions.mapRating(await((t=this.service)===null||t===void 0?void 0:t.getMapRating()))}async fetchTopicRating(t){var o;let n=await((o=this.service)===null||o===void 0?void 0:o.getTopicRating(t));n&&this.store.actions.setTopicsRating({[t]:n})}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}getAccurateNavigationData(t,o,n){return this.service.getAccurateNavigationData(t,o?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(t){var o;return(o=this.service)===null||o===void 0?void 0:o.buildBreadcrumb(t,this.getTranslationSettings())}fetchTopicContent(t){var o,n;let i=this.getTranslationSettings();return i?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(t,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(t)}getTocNode(t){return this.service.getTocNode(t,this.getTranslationSettings())}getPage(t){return this.service.getPage(t,this.getTranslationSettings())}onMapAttachmentsUpdate(){var t;(t=this.service)===null||t===void 0||t.clearMapAttachments(),this.store.dispatchEvent(new Event(Fe.mapAttachmentsUpdate))}};var xd=b($());var vd=xd.css`
|
|
1585
|
+
`}update(t){var o;super.update(t),["context","key","defaultMessage"].some(n=>t.has(n))&&this.context&&this.key&&this.addI18nContext(this.context,{[this.key]:(o=this.defaultMessage)!==null&&o!==void 0?o:""})}};Qt.elementDefinitions={};Qt.styles=hd;no([(0,hn.redux)()],Qt.prototype,"editorMode",void 0);no([(0,fn.property)()],Qt.prototype,"context",void 0);no([(0,fn.property)()],Qt.prototype,"key",void 0);no([(0,hn.jsonProperty)([])],Qt.prototype,"args",void 0);no([(0,fn.property)()],Qt.prototype,"defaultMessage",void 0);var yn=class e{static build(t){return new e(t)}static buildCustom(t){return new e(t,!0)}static fromGwt(t){return new e(t)}get service(){return this.custom?Ho:Er}constructor(t,o=!1){this.name=t,this.custom=o,this.properties=new Proxy({},{get:(n,i)=>{let a=i;return s=>({context:this.name,key:a,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,i)=>(...a)=>this.service.resolveMessage(this.name,i,...a)}),this.rawMessages=new Proxy({},{get:(n,i)=>this.service.resolveRawMessage(this.name,i)}),this.keys=new Proxy({},{get:(n,i)=>()=>i})}};var yd=(e,t)=>(o,n)=>{var i,a;o.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(i=e.key)!==null&&i!==void 0?i:n};o[oo]=(a=o[oo])!==null&&a!==void 0?a:new Map,o[oo].set(n,s)};(0,md.customElement)("ft-i18n")(Qt);var Gi=yn.build("designedReaderMapMetadata");var Sd=b(N());var io=b($()),Me=b(J()),Lt=b(N());var Jt=b(N());var gd=b(N()),eu={setTranslationDestinationLanguage:(e,t)=>{e.translation.destinationLanguage=t.payload},setTranslationSourceLanguage:(e,t)=>{e.translation.sourceLanguage=t.payload},setTranslationProfileId:(e,t)=>{e.translation.profileId=t.payload},setTranslationLoading:(e,t)=>{e.translation.isLoading=t.payload},setTranslationError:(e,t)=>{e.translation.isError=t.payload},setTopicsRating:(e,t)=>{for(let o in t.payload)e.topicsRating[o]=t.payload[o]}},bd=e=>gd.FtReduxStore.get({name:"ft-reader-"+e,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}},reducers:eu});var ji=class{constructor(t,o){this.mapId=t,this.paginatedToc=o,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(t,o,n){return t.flatMap(i=>{var a;return i.pageConfiguration&&this.registerPage(this.buildPage(i,n)),i.tocId==null?this.extractPagesToc(i.children,o,n):[{tocId:i.tocId,title:(a=i.title)!==null&&a!==void 0?a:"",untranslatedTitle:i.untranslatedTitle,depth:o,children:this.extractPagesToc(i.children,o+1,i.tocId)}]})}convertNodes(t,o,n){return t.flatMap(i=>{var a,s,l;if(i.tocId==null)return[...this.convertSectionNodes((a=i.pageToc)!==null&&a!==void 0?a:[],o,i.tocId),...this.convertNodes(i.children,o,i.tocId)];let p=(s=i.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),u={tocId:i.tocId,contentId:i.contentId,title:i.title,untranslatedTitle:i.untranslatedTitle,hasRating:i.hasRating,origin:i.origin,prettyUrl:p,depth:o,parentTocId:n,children:[]};this.register(u);let h=this.convertSectionNodes((l=i.pageToc)!==null&&l!==void 0?l:[],o+1,i.tocId),y=this.convertNodes(i.children,o+1,u.tocId);return u.children=[...h,...y],[u]})}convertSectionNodes(t,o,n){return t.flatMap(i=>{var a;let s=(a=i.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),l={...i,prettyUrl:s,depth:o,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(i.children,o+1,i.tocId),[l]})}buildPage(t,o){var n,i,a,s,l,p;let u={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(i=t.tocId)!==null&&i!==void 0?i:"root",toc:((a=t.pageToc)!==null&&a!==void 0?a:[]).map(g=>this.nodeByTocId[g.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(g,x)=>(x?u.topics:u.hiddenTopics).push(g),y=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return u.breadcrumb.forEach((g,x)=>{h(g,y[x])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),u.topics.push(...this.tocIds((p=t.pageToc)!==null&&p!==void 0?p:[])),u}registerPage(t){for(let o of[...t.topics,...t.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=t);this.pages.push(t)}tocIds(t){return t.flatMap(o=>[o.tocId,...this.tocIds(o.children)])}buildBreadcrumb(t){let o=[t.tocId];for(;t?.parentTocId;)o.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return o}register(t){t.prettyUrl&&(this.nodeByUrl[t.prettyUrl]==null?this.nodeByUrl[t.prettyUrl]=t:this.duplicatedPrettyUrls.add(t.prettyUrl)),this.nodeByUrl[`${this.mapId}/${t.tocId}`]=t,this.nodeByTocId[t.tocId]=t}},mn=class{convertPaginatedToc(t,o){return new ji(t,o).build()}};var gn=class extends Ut{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,n){super(!1,o),this.converter=t,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(t=>this.fetchMap(t))),this.cache.register("enrichedToc",()=>this.withMapId(t=>this.fetchPages(t).then(o=>this.converter.convertPaginatedToc(t,o)))),this.cache.register("ratingSummary",()=>{var t,o;return ye((o=(t=R.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(t=>t!=="configuration")}makeCacheKey(t,o){return t+(o?"-destinationLanguage-"+o?.destinationLanguage:"")}getMap(t){return this.cache.get(this.makeCacheKey("map",t),()=>this.fetchMap(this.mapId,t))}getMapNow(t){return this.cache.getNow(this.makeCacheKey("map",t))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(t){return this.cache.get(this.makeCacheKey("enrichedToc",t),()=>this.fetchPages(this.mapId,t).then(o=>this.converter.convertPaginatedToc(this.mapId,o)))}getEnrichedTocNow(t){return this.cache.getNow(this.makeCacheKey("enrichedToc",t))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(t){return(await this.getEnrichedToc(t)).toc}async getPagesToc(t){return(await this.getEnrichedToc(t)).pagesToc}async getTranslationError(t){return(await this.getEnrichedToc(t)).translationError}async getTocNode(t,o){return(await this.getEnrichedToc(o)).nodeByTocId[t]}getTocNodeNow(t,o){var n;return(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.nodeByTocId[t]}getTocNodeNowByUrl(t,o){var n,i;let a=this.getMapNow(o);return a?.prettyUrl==t||`${a?.id}/root`===t?(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t,o){let n=await this.getEnrichedToc(o);return n.pages[t-1]||n.pages[0]}async getPageByTocId(t,o){let n=await this.getEnrichedToc(o);return n.pageByTocId[t]||n.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,()=>this.fetchTopicMetadata(t))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,()=>this.fetchTopicHTMLContent(t))}getTranslatedTopicContent(t,o){return this.cache.get(this.makeCacheKey("translated-topic-content-"+t.tocId,o),()=>this.fetchTranslatedTopicHTMLContent(t,o))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(t,o){return this.cache.get("document-relatives-"+t+"-"+o.join("-"),()=>this.fetchRelativesForDocument(t,o))}getRelativesForTopicInMap(t,o,n){return this.cache.get("topic-relatives-"+[t,o,...n].join("-"),()=>this.fetchRelativesForTopicInMap(t,o,n))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true&locationValue=reader`)}getLink(t,o,n){let i=this.getNavigationData(t,o,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(t,o,n,i){var a,s;t=t||"root";let l=this.getEnrichedTocNow(i),p=l?.pageByTocId[t],u=l?.nodeByTocId[t],h=u?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(a=u?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:u?.untranslatedTitle,page:o&&p&&p.number!==o?o:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(t,o,n,i){return await this.getEnrichedToc(i),this.getNavigationData(t,o,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(o=>{var n;return o?{type:o.topics.type,rating:(n=o.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===t)}:void 0})}rateMap(t,o){return this.makeRateMapRequest(t,o).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(t,o){return this.makeMapFeedbackRequest(t,o)}rateTopic(t,o,n){return this.makeRateTopicRequest(t,o,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=R.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,n){return this.makeTopicFeedbackRequest(t,o,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t,o){let n=this.getTocNodeNow(t,o),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,o);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,o);return i}isFeatureAccessible(t,{session:o}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case ce.FEEDBACK:return ye(o??[],j.FEEDBACK_USER);case ce.RATING:return ye(o??[],j.RATING_USER);case ce.PRINT:return ye(o??[],j.PRINT_USER);case ce.BOOKMARK:return!!o?.sessionAuthenticated;case ce.COLLECTIONS:return ye(o??[],j.COLLECTION_USER);case ce.PERSONAL_BOOKS:return ye(o??[],j.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var bn=class e extends gn{static async build(t){return new e(new mn,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t,o){let n=await this.api.getMap(t,o);return this.fingerprint=n.fingerprint,n}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t,o){return await this.getMap(o),this.api.getPages(t,this.fingerprint,o)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(t,o){return this.api.getTranslatedTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint,o)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,o){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(t,o,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:o,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[t]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(t,o){return this.api.sendMapFeedback(this.mapId,t,o)}makeRateMapRequest(t,o){return this.api.rateMap(this.mapId,t,o)}makeRateTopicRequest(t,o,n){return this.api.rateTopic(this.mapId,t,o,n)}makeTopicFeedbackRequest(t,o,n){return this.api.sendTopicFeedback(this.mapId,t,o,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var xn=class e{static build(t,o){return new e(bd(t.trim()||"context"),o??bn.build)}loaded(){return(0,Jt.waitUntil)(()=>this._loaded)}constructor(t,o,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Jt.Debouncer(10),this.initService(o)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setRenderedTopics(t){this.store.actions.renderedTopics(t)}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return(0,Jt.waitFor)(()=>this.service)}async navigateToTopic(t,o,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(t,a);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,o){var n,i,a;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:o.rootTocId;return o.topics.includes(s)?s:(a=(i=o.topics[0])!==null&&i!==void 0?i:o.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(t){await this.loaded();let n=await(await this.awaitService()).getPage(t,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var t;!((t=this.service)===null||t===void 0)&&t.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var t;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(t){var o,n,i,a,s;try{t&&this.setTranslationLoading(!0);let l=p=>{throw t&&this.setTranslationError(!0),p};await Promise.all([this.loadConfiguration(),(o=this.service)===null||o===void 0?void 0:o.getMap(t).then(p=>this.store.actions.map(p)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(t).then(p=>this.store.actions.toc(p)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(t).then(p=>this.store.actions.pagesToc(p)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(p=>this.store.actions.paginationConfiguration(p)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(t).then(p=>this.setTranslationError(p))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof Jt.CanceledPromiseError)&&this.errorHandler(l)}}loadConfiguration(){var t;return(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(o=>this.store.actions.configuration(o))}reloadConfiguration(){var t;return(t=this.service)===null||t===void 0||t.clearConfiguration(),this.loadConfiguration()}fetchRelatives(){var t,o;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(i=>{let a=i.results.flatMap(s=>s.entries);this.store.actions.relatives(a),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Fe.clusteringHelperCreated))}createClusteringHelper(){var t,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),a=(o=(t=R.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new Jt.ClusteringHelper(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var o,n,i;await this.loaded();let a=await(0,Jt.waitFor)(()=>{var u;return(u=this.store.getState().configuration)===null||u===void 0?void 0:u.relativeTopicPivotMetadata}),s=this.store.getState().mapId,p=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[t]);if(!((i=(n=(o=p?.results)===null||o===void 0?void 0:o[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let u=p.results[0].entries[0].topic.tocId;return await this.navigateToTopic(u),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}async setTranslationDestinationLanguage(t){this.store.actions.setTranslationDestinationLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(t){this.store.actions.setTranslationSourceLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(t){this.store.actions.setTranslationProfileId(t)}async setTranslationLoading(t){this.store.actions.setTranslationLoading(t)}async setTranslationError(t){this.store.actions.setTranslationError(t)}getTranslationSettings(){var t;let o=this.store.getState();return o.translation.profileId&&o.translation.destinationLanguage?{profileId:o.translation.profileId,destinationLanguage:o.translation.destinationLanguage.code,sourceLanguage:(t=o.map)===null||t===void 0?void 0:t.lang}:void 0}async fetchMapRating(){var t;this.store.actions.mapRating(await((t=this.service)===null||t===void 0?void 0:t.getMapRating()))}async fetchTopicRating(t){var o;let n=await((o=this.service)===null||o===void 0?void 0:o.getTopicRating(t));n&&this.store.actions.setTopicsRating({[t]:n})}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}getAccurateNavigationData(t,o,n){return this.service.getAccurateNavigationData(t,o?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(t){var o;return(o=this.service)===null||o===void 0?void 0:o.buildBreadcrumb(t,this.getTranslationSettings())}fetchTopicContent(t){var o,n;let i=this.getTranslationSettings();return i?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(t,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(t)}getTocNode(t){return this.service.getTocNode(t,this.getTranslationSettings())}getPage(t){return this.service.getPage(t,this.getTranslationSettings())}onMapAttachmentsUpdate(){var t;(t=this.service)===null||t===void 0||t.clearMapAttachments(),this.store.dispatchEvent(new Event(Fe.mapAttachmentsUpdate))}};var xd=b($());var vd=xd.css`
|
|
1586
1586
|
`;var vn=class extends CustomEvent{constructor(t,o){super("ft-reader-map-loaded",{detail:{map:t,toc:o}})}},Sn=class extends CustomEvent{constructor(t,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},Cn=class extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}},On=class extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}},En=class extends Event{constructor(){super("ft-reader-map-not-found")}},wn=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},An=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Rn=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Tn=class{constructor(t){this.stateManager=t}searchInDocument(t){this.stateManager.setSearchInDocumentQuery(t??"")}};var _t=function(e,t,o,n){var i=arguments.length,a=i<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(e,t,o,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(a=(i<3?s(a):i>3?s(t,o,a):s(t,o))||a);return i>3&&a&&Object.defineProperty(t,o,a),a},ru=e=>t=>+(t??"NaN")>0?+t:e,ut=class extends Lt.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new Lt.Debouncer(5),this.navigationDebouncer=new Lt.Debouncer(10),this.mapLoadedEventDebouncer=new Lt.Debouncer(50),this.addStore(R)}render(){return io.html`
|
|
1587
1587
|
${this.importStyleIfNeeded()}
|
|
1588
1588
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
@@ -1649,7 +1649,7 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:o.extend("--ft-conte
|
|
|
1649
1649
|
<span class="ft-i18n">
|
|
1650
1650
|
${this.i18n({context:this.context,key:this.key,args:Array.isArray(this.args)?this.args:[]})}
|
|
1651
1651
|
</span>
|
|
1652
|
-
`}update(t){var r;super.update(t),["context","key","defaultMessage"].some(n=>t.has(n))&&this.context&&this.key&&this.addI18nContext(this.context,{[this.key]:(r=this.defaultMessage)!==null&&r!==void 0?r:""})}};Xt.elementDefinitions={};Xt.styles=Vd;Co([ht()],Xt.prototype,"editorMode",void 0);Co([x()],Xt.prototype,"context",void 0);Co([x()],Xt.prototype,"key",void 0);Co([zt([])],Xt.prototype,"args",void 0);Co([x()],Xt.prototype,"defaultMessage",void 0);var wn=class e{static build(t){return new e(t)}static buildCustom(t){return new e(t,!0)}static fromGwt(t){return new e(t)}get service(){return this.custom?gn:Ur}constructor(t,r=!1){this.name=t,this.custom=r,this.properties=new Proxy({},{get:(n,i)=>{let a=i;return s=>({context:this.name,key:a,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,i)=>(...a)=>this.service.resolveMessage(this.name,i,...a)}),this.rawMessages=new Proxy({},{get:(n,i)=>this.service.resolveRawMessage(this.name,i)})}};var jd=(e,t)=>(r,n)=>{var i,a;r.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(i=e.key)!==null&&i!==void 0?i:n};r[So]=(a=r[So])!==null&&a!==void 0?a:new Map,r[So].set(n,s)};q("ft-i18n")(Xt);var Ns=wn.build("designedReaderMapMetadata");var zf={setTranslationDestinationLanguage:(e,t)=>{e.translation.destinationLanguage=t.payload},setTranslationSourceLanguage:(e,t)=>{e.translation.sourceLanguage=t.payload},setTranslationProfileId:(e,t)=>{e.translation.profileId=t.payload},setTranslationLoading:(e,t)=>{e.translation.isLoading=t.payload},setTranslationError:(e,t)=>{e.translation.isError=t.payload},setTopicsRating:(e,t)=>{for(let r in t.payload)e.topicsRating[r]=t.payload[r]}},Gd=e=>ve.get({name:"ft-reader-"+e,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}},reducers:zf});var Ls=class{constructor(t,r){this.mapId=t,this.paginatedToc=r,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(t,r,n){return t.flatMap(i=>{var a;return i.pageConfiguration&&this.registerPage(this.buildPage(i,n)),i.tocId==null?this.extractPagesToc(i.children,r,n):[{tocId:i.tocId,title:(a=i.title)!==null&&a!==void 0?a:"",untranslatedTitle:i.untranslatedTitle,depth:r,children:this.extractPagesToc(i.children,r+1,i.tocId)}]})}convertNodes(t,r,n){return t.flatMap(i=>{var a,s,l;if(i.tocId==null)return[...this.convertSectionNodes((a=i.pageToc)!==null&&a!==void 0?a:[],r,i.tocId),...this.convertNodes(i.children,r,i.tocId)];let d=(s=i.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:i.tocId,contentId:i.contentId,title:i.title,untranslatedTitle:i.untranslatedTitle,hasRating:i.hasRating,origin:i.origin,prettyUrl:d,depth:r,parentTocId:n,children:[]};this.register(p);let h=this.convertSectionNodes((l=i.pageToc)!==null&&l!==void 0?l:[],r+1,i.tocId),f=this.convertNodes(i.children,r+1,p.tocId);return p.children=[...h,...f],[p]})}convertSectionNodes(t,r,n){return t.flatMap(i=>{var a;let s=(a=i.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),l={...i,prettyUrl:s,depth:r,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(i.children,r+1,i.tocId),[l]})}buildPage(t,r){var n,i,a,s,l,d;let p={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(i=t.tocId)!==null&&i!==void 0?i:"root",toc:((a=t.pageToc)!==null&&a!==void 0?a:[]).map(m=>this.nodeByTocId[m.tocId]),topics:[],hiddenTopics:[],breadcrumb:r?this.buildBreadcrumb(this.nodeByTocId[r]):[]},h=(m,v)=>(v?p.topics:p.hiddenTopics).push(m),f=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return p.breadcrumb.forEach((m,v)=>{h(m,f[v])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),p.topics.push(...this.tocIds((d=t.pageToc)!==null&&d!==void 0?d:[])),p}registerPage(t){for(let r of[...t.topics,...t.hiddenTopics])this.pageByTocId[r]||(this.pageByTocId[r]=t);this.pages.push(t)}tocIds(t){return t.flatMap(r=>[r.tocId,...this.tocIds(r.children)])}buildBreadcrumb(t){let r=[t.tocId];for(;t?.parentTocId;)r.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return r}register(t){t.prettyUrl&&(this.nodeByUrl[t.prettyUrl]==null?this.nodeByUrl[t.prettyUrl]=t:this.duplicatedPrettyUrls.add(t.prettyUrl)),this.nodeByUrl[`${this.mapId}/${t.tocId}`]=t,this.nodeByTocId[t.tocId]=t}},An=class{convertPaginatedToc(t,r){return new Ls(t,r).build()}};var Rn=class extends Bt{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,r,n){super(!1,r),this.converter=t,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(t=>this.fetchMap(t))),this.cache.register("enrichedToc",()=>this.withMapId(t=>this.fetchPages(t).then(r=>this.converter.convertPaginatedToc(t,r)))),this.cache.register("ratingSummary",()=>{var t,r;return xe((r=(t=P.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(t=>t!=="configuration")}makeCacheKey(t,r){return t+(r?"-destinationLanguage-"+r?.destinationLanguage:"")}getMap(t){return this.cache.get(this.makeCacheKey("map",t),()=>this.fetchMap(this.mapId,t))}getMapNow(t){return this.cache.getNow(this.makeCacheKey("map",t))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(t){return this.cache.get(this.makeCacheKey("enrichedToc",t),()=>this.fetchPages(this.mapId,t).then(r=>this.converter.convertPaginatedToc(this.mapId,r)))}getEnrichedTocNow(t){return this.cache.getNow(this.makeCacheKey("enrichedToc",t))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(t){return(await this.getEnrichedToc(t)).toc}async getPagesToc(t){return(await this.getEnrichedToc(t)).pagesToc}async getTranslationError(t){return(await this.getEnrichedToc(t)).translationError}async getTocNode(t,r){return(await this.getEnrichedToc(r)).nodeByTocId[t]}getTocNodeNow(t,r){var n;return(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.nodeByTocId[t]}getTocNodeNowByUrl(t,r){var n,i;let a=this.getMapNow(r);return a?.prettyUrl==t||`${a?.id}/root`===t?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(r))===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t,r){let n=await this.getEnrichedToc(r);return n.pages[t-1]||n.pages[0]}async getPageByTocId(t,r){let n=await this.getEnrichedToc(r);return n.pageByTocId[t]||n.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,()=>this.fetchTopicMetadata(t))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,()=>this.fetchTopicHTMLContent(t))}getTranslatedTopicContent(t,r){return this.cache.get(this.makeCacheKey("translated-topic-content-"+t.tocId,r),()=>this.fetchTranslatedTopicHTMLContent(t,r))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(t,r){return this.cache.get("document-relatives-"+t+"-"+r.join("-"),()=>this.fetchRelativesForDocument(t,r))}getRelativesForTopicInMap(t,r,n){return this.cache.get("topic-relatives-"+[t,r,...n].join("-"),()=>this.fetchRelativesForTopicInMap(t,r,n))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true&locationValue=reader`)}getLink(t,r,n){let i=this.getNavigationData(t,r,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(t,r,n,i){var a,s;t=t||"root";let l=this.getEnrichedTocNow(i),d=l?.pageByTocId[t],p=l?.nodeByTocId[t],h=p?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(a=p?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:p?.untranslatedTitle,page:r&&d&&d.number!==r?r:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(t,r,n,i){return await this.getEnrichedToc(i),this.getNavigationData(t,r,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===t)}:void 0})}rateMap(t,r){return this.makeRateMapRequest(t,r).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(t,r){return this.makeMapFeedbackRequest(t,r)}rateTopic(t,r,n){return this.makeRateTopicRequest(t,r,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=P.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,r,n){return this.makeTopicFeedbackRequest(t,r,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t,r){let n=this.getTocNodeNow(t,r),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,r);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,r);return i}isFeatureAccessible(t,{session:r}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case Se.FEEDBACK:return xe(r??[],et.FEEDBACK_USER);case Se.RATING:return xe(r??[],et.RATING_USER);case Se.PRINT:return xe(r??[],et.PRINT_USER);case Se.BOOKMARK:return!!r?.sessionAuthenticated;case Se.COLLECTIONS:return xe(r??[],et.COLLECTION_USER);case Se.PERSONAL_BOOKS:return xe(r??[],et.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var Tn=class e extends Rn{static async build(t){return new e(new An,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t,r){let n=await this.api.getMap(t,r);return this.fingerprint=n.fingerprint,n}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t,r){return await this.getMap(r),this.api.getPages(t,this.fingerprint,r)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(t,r){return this.api.getTranslatedTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint,r)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,r){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:r}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(t,r,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:r,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[t]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(t,r){return this.api.sendMapFeedback(this.mapId,t,r)}makeRateMapRequest(t,r){return this.api.rateMap(this.mapId,t,r)}makeRateTopicRequest(t,r,n){return this.api.rateTopic(this.mapId,t,r,n)}makeTopicFeedbackRequest(t,r,n){return this.api.sendTopicFeedback(this.mapId,t,r,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var In=class e{static build(t,r){return new e(Gd(t.trim()||"context"),r??Tn.build)}loaded(){return bi(()=>this._loaded)}constructor(t,r,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ft(10),this.initService(r)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setRenderedTopics(t){this.store.actions.renderedTopics(t)}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return qr(()=>this.service)}async navigateToTopic(t,r,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(t,a);this.store.actions.scrollTarget({tocId:s,section:r}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,r){var n,i,a;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(s)?s:(a=(i=r.topics[0])!==null&&i!==void 0?i:r.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(t){await this.loaded();let n=await(await this.awaitService()).getPage(t,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var t;!((t=this.service)===null||t===void 0)&&t.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var t;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(t){var r,n,i,a,s;try{t&&this.setTranslationLoading(!0);let l=d=>{throw t&&this.setTranslationError(!0),d};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(t).then(d=>this.store.actions.map(d)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(t).then(d=>this.store.actions.toc(d)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(t).then(d=>this.store.actions.pagesToc(d)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(d=>this.store.actions.paginationConfiguration(d)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(t).then(d=>this.setTranslationError(d))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof de)&&this.errorHandler(l)}}loadConfiguration(){var t;return(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(r=>this.store.actions.configuration(r))}reloadConfiguration(){var t;return(t=this.service)===null||t===void 0||t.clearConfiguration(),this.loadConfiguration()}fetchRelatives(){var t,r;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);n!==void 0&&n.length>0?(r=this.service)===null||r===void 0||r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(i=>{let a=i.results.flatMap(s=>s.entries);this.store.actions.relatives(a),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Je.clusteringHelperCreated))}createClusteringHelper(){var t,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),a=(r=(t=P.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&r!==void 0?r:[];return new We(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var r,n,i;await this.loaded();let a=await qr(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),s=this.store.getState().mapId,d=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[t]);if(!((i=(n=(r=d?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let p=d.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}async setTranslationDestinationLanguage(t){this.store.actions.setTranslationDestinationLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(t){this.store.actions.setTranslationSourceLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(t){this.store.actions.setTranslationProfileId(t)}async setTranslationLoading(t){this.store.actions.setTranslationLoading(t)}async setTranslationError(t){this.store.actions.setTranslationError(t)}getTranslationSettings(){var t;let r=this.store.getState();return r.translation.profileId&&r.translation.destinationLanguage?{profileId:r.translation.profileId,destinationLanguage:r.translation.destinationLanguage.code,sourceLanguage:(t=r.map)===null||t===void 0?void 0:t.lang}:void 0}async fetchMapRating(){var t;this.store.actions.mapRating(await((t=this.service)===null||t===void 0?void 0:t.getMapRating()))}async fetchTopicRating(t){var r;let n=await((r=this.service)===null||r===void 0?void 0:r.getTopicRating(t));n&&this.store.actions.setTopicsRating({[t]:n})}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}getAccurateNavigationData(t,r,n){return this.service.getAccurateNavigationData(t,r?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(t){var r;return(r=this.service)===null||r===void 0?void 0:r.buildBreadcrumb(t,this.getTranslationSettings())}fetchTopicContent(t){var r,n;let i=this.getTranslationSettings();return i?(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(t,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(t)}getTocNode(t){return this.service.getTocNode(t,this.getTranslationSettings())}getPage(t){return this.service.getPage(t,this.getTranslationSettings())}onMapAttachmentsUpdate(){var t;(t=this.service)===null||t===void 0||t.clearMapAttachments(),this.store.dispatchEvent(new Event(Je.mapAttachmentsUpdate))}};var Kd=L`
|
|
1652
|
+
`}update(t){var r;super.update(t),["context","key","defaultMessage"].some(n=>t.has(n))&&this.context&&this.key&&this.addI18nContext(this.context,{[this.key]:(r=this.defaultMessage)!==null&&r!==void 0?r:""})}};Xt.elementDefinitions={};Xt.styles=Vd;Co([ht()],Xt.prototype,"editorMode",void 0);Co([x()],Xt.prototype,"context",void 0);Co([x()],Xt.prototype,"key",void 0);Co([zt([])],Xt.prototype,"args",void 0);Co([x()],Xt.prototype,"defaultMessage",void 0);var wn=class e{static build(t){return new e(t)}static buildCustom(t){return new e(t,!0)}static fromGwt(t){return new e(t)}get service(){return this.custom?gn:Ur}constructor(t,r=!1){this.name=t,this.custom=r,this.properties=new Proxy({},{get:(n,i)=>{let a=i;return s=>({context:this.name,key:a,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,i)=>(...a)=>this.service.resolveMessage(this.name,i,...a)}),this.rawMessages=new Proxy({},{get:(n,i)=>this.service.resolveRawMessage(this.name,i)}),this.keys=new Proxy({},{get:(n,i)=>()=>i})}};var jd=(e,t)=>(r,n)=>{var i,a;r.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(i=e.key)!==null&&i!==void 0?i:n};r[So]=(a=r[So])!==null&&a!==void 0?a:new Map,r[So].set(n,s)};q("ft-i18n")(Xt);var Ns=wn.build("designedReaderMapMetadata");var zf={setTranslationDestinationLanguage:(e,t)=>{e.translation.destinationLanguage=t.payload},setTranslationSourceLanguage:(e,t)=>{e.translation.sourceLanguage=t.payload},setTranslationProfileId:(e,t)=>{e.translation.profileId=t.payload},setTranslationLoading:(e,t)=>{e.translation.isLoading=t.payload},setTranslationError:(e,t)=>{e.translation.isError=t.payload},setTopicsRating:(e,t)=>{for(let r in t.payload)e.topicsRating[r]=t.payload[r]}},Gd=e=>ve.get({name:"ft-reader-"+e,initialState:{mapId:void 0,renderedTopics:[],visibleTopics:[],map:void 0,toc:void 0,pagesToc:void 0,paginationConfiguration:void 0,currentPage:void 0,scrollTarget:void 0,configuration:void 0,searchInDocumentQuery:void 0,relatives:void 0,mapRating:void 0,topicsRating:{},translation:{sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}},reducers:zf});var Ls=class{constructor(t,r){this.mapId=t,this.paginatedToc=r,this.nodeByTocId={},this.nodeByUrl={},this.duplicatedPrettyUrls=new Set,this.pages=[],this.pageByTocId={}}build(){return{paginationConfiguration:this.paginatedToc.configuration,toc:this.convertNodes(this.paginatedToc.paginatedToc,1),pagesToc:this.extractPagesToc(this.paginatedToc.paginatedToc,1),nodeByTocId:this.nodeByTocId,nodeByUrl:this.nodeByUrl,duplicatedPrettyUrls:this.duplicatedPrettyUrls,pages:this.pages,pageByTocId:this.pageByTocId,translationError:this.paginatedToc.translationError}}extractPagesToc(t,r,n){return t.flatMap(i=>{var a;return i.pageConfiguration&&this.registerPage(this.buildPage(i,n)),i.tocId==null?this.extractPagesToc(i.children,r,n):[{tocId:i.tocId,title:(a=i.title)!==null&&a!==void 0?a:"",untranslatedTitle:i.untranslatedTitle,depth:r,children:this.extractPagesToc(i.children,r+1,i.tocId)}]})}convertNodes(t,r,n){return t.flatMap(i=>{var a,s,l;if(i.tocId==null)return[...this.convertSectionNodes((a=i.pageToc)!==null&&a!==void 0?a:[],r,i.tocId),...this.convertNodes(i.children,r,i.tocId)];let d=(s=i.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:i.tocId,contentId:i.contentId,title:i.title,untranslatedTitle:i.untranslatedTitle,hasRating:i.hasRating,origin:i.origin,prettyUrl:d,depth:r,parentTocId:n,children:[]};this.register(p);let h=this.convertSectionNodes((l=i.pageToc)!==null&&l!==void 0?l:[],r+1,i.tocId),f=this.convertNodes(i.children,r+1,p.tocId);return p.children=[...h,...f],[p]})}convertSectionNodes(t,r,n){return t.flatMap(i=>{var a;let s=(a=i.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),l={...i,prettyUrl:s,depth:r,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(i.children,r+1,i.tocId),[l]})}buildPage(t,r){var n,i,a,s,l,d;let p={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(i=t.tocId)!==null&&i!==void 0?i:"root",toc:((a=t.pageToc)!==null&&a!==void 0?a:[]).map(m=>this.nodeByTocId[m.tocId]),topics:[],hiddenTopics:[],breadcrumb:r?this.buildBreadcrumb(this.nodeByTocId[r]):[]},h=(m,v)=>(v?p.topics:p.hiddenTopics).push(m),f=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return p.breadcrumb.forEach((m,v)=>{h(m,f[v])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),p.topics.push(...this.tocIds((d=t.pageToc)!==null&&d!==void 0?d:[])),p}registerPage(t){for(let r of[...t.topics,...t.hiddenTopics])this.pageByTocId[r]||(this.pageByTocId[r]=t);this.pages.push(t)}tocIds(t){return t.flatMap(r=>[r.tocId,...this.tocIds(r.children)])}buildBreadcrumb(t){let r=[t.tocId];for(;t?.parentTocId;)r.unshift(t.parentTocId),t=this.nodeByTocId[t.parentTocId];return r}register(t){t.prettyUrl&&(this.nodeByUrl[t.prettyUrl]==null?this.nodeByUrl[t.prettyUrl]=t:this.duplicatedPrettyUrls.add(t.prettyUrl)),this.nodeByUrl[`${this.mapId}/${t.tocId}`]=t,this.nodeByTocId[t.tocId]=t}},An=class{convertPaginatedToc(t,r){return new Ls(t,r).build()}};var Rn=class extends Bt{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,r,n){super(!1,r),this.converter=t,this._mapId=n,this.initCache()}async withMapId(t){return this._mapId?t(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(t=>this.fetchMap(t))),this.cache.register("enrichedToc",()=>this.withMapId(t=>this.fetchPages(t).then(r=>this.converter.convertPaginatedToc(t,r)))),this.cache.register("ratingSummary",()=>{var t,r;return xe((r=(t=P.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&r!==void 0?r:[],"RATING_USER")?this.withMapId(i=>this.fetchMapRating(i)):Promise.resolve()})}clear(){this.cache.clearMatching(t=>t!=="configuration")}makeCacheKey(t,r){return t+(r?"-destinationLanguage-"+r?.destinationLanguage:"")}getMap(t){return this.cache.get(this.makeCacheKey("map",t),()=>this.fetchMap(this.mapId,t))}getMapNow(t){return this.cache.getNow(this.makeCacheKey("map",t))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(t){return this.cache.get(this.makeCacheKey("enrichedToc",t),()=>this.fetchPages(this.mapId,t).then(r=>this.converter.convertPaginatedToc(this.mapId,r)))}getEnrichedTocNow(t){return this.cache.getNow(this.makeCacheKey("enrichedToc",t))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(t){return(await this.getEnrichedToc(t)).toc}async getPagesToc(t){return(await this.getEnrichedToc(t)).pagesToc}async getTranslationError(t){return(await this.getEnrichedToc(t)).translationError}async getTocNode(t,r){return(await this.getEnrichedToc(r)).nodeByTocId[t]}getTocNodeNow(t,r){var n;return(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.nodeByTocId[t]}getTocNodeNowByUrl(t,r){var n,i;let a=this.getMapNow(r);return a?.prettyUrl==t||`${a?.id}/root`===t?(n=this.getEnrichedTocNow(r))===null||n===void 0?void 0:n.toc[0]:(i=this.getEnrichedTocNow(r))===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t,r){let n=await this.getEnrichedToc(r);return n.pages[t-1]||n.pages[0]}async getPageByTocId(t,r){let n=await this.getEnrichedToc(r);return n.pageByTocId[t]||n.pages[0]}getTopicInfo(t){return this.cache.get("topic-"+t.tocId,()=>this.fetchTopicMetadata(t))}getTopicContent(t){return this.cache.get("topic-content-"+t.tocId,()=>this.fetchTopicHTMLContent(t))}getTranslatedTopicContent(t,r){return this.cache.get(this.makeCacheKey("translated-topic-content-"+t.tocId,r),()=>this.fetchTranslatedTopicHTMLContent(t,r))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(t,r){return this.cache.get("document-relatives-"+t+"-"+r.join("-"),()=>this.fetchRelativesForDocument(t,r))}getRelativesForTopicInMap(t,r,n){return this.cache.get("topic-relatives-"+[t,r,...n].join("-"),()=>this.fetchRelativesForTopicInMap(t,r,n))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true&locationValue=reader`)}getLink(t,r,n){let i=this.getNavigationData(t,r,n),a=this.getReaderLinkPrefix()+(i.prettyUrl?i.prettyUrl:`${i.mapId}/${i.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return i.page!=null&&s.searchParams.set("page",`${i.page}`),i.prettyUrlDuplicated&&s.searchParams.set("tocId",i.tocId),i.section!=null&&s.searchParams.set("section",i.section),s.href}getNavigationData(t,r,n,i){var a,s;t=t||"root";let l=this.getEnrichedTocNow(i),d=l?.pageByTocId[t],p=l?.nodeByTocId[t],h=p?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(a=p?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:p?.untranslatedTitle,page:r&&d&&d.number!==r?r:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=l?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:n}}async getAccurateNavigationData(t,r,n,i){return await this.getEnrichedToc(i),this.getNavigationData(t,r,n,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(r=>{var n;return r?{type:r.topics.type,rating:(n=r.topics)===null||n===void 0?void 0:n.ratings.find(i=>i.tocId===t)}:void 0})}rateMap(t,r){return this.makeRateMapRequest(t,r).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(t,r){return this.makeMapFeedbackRequest(t,r)}rateTopic(t,r,n){return this.makeRateTopicRequest(t,r,n).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=P.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,r,n){return this.makeTopicFeedbackRequest(t,r,n)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t,r){let n=this.getTocNodeNow(t,r),i=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],a=this.getTocNodeNow(n.parentTocId,r);for(;a;)i.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,r);return i}isFeatureAccessible(t,{session:r}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case Se.FEEDBACK:return xe(r??[],et.FEEDBACK_USER);case Se.RATING:return xe(r??[],et.RATING_USER);case Se.PRINT:return xe(r??[],et.PRINT_USER);case Se.BOOKMARK:return!!r?.sessionAuthenticated;case Se.COLLECTIONS:return xe(r??[],et.COLLECTION_USER);case Se.PERSONAL_BOOKS:return xe(r??[],et.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var Tn=class e extends Rn{static async build(t){return new e(new An,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t,r){let n=await this.api.getMap(t,r);return this.fingerprint=n.fingerprint,n}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t,r){return await this.getMap(r),this.api.getPages(t,this.fingerprint,r)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(t,r){return this.api.getTranslatedTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint,r)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,r){let n={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:r}}],sort:[],facets:[]};return this.api.search(n)}fetchRelativesForTopicInMap(t,r,n){let i={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:r,valueFilter:{negative:!1,values:n}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[t]}}],sort:[],facets:[]};return this.api.search(i)}makeMapFeedbackRequest(t,r){return this.api.sendMapFeedback(this.mapId,t,r)}makeRateMapRequest(t,r){return this.api.rateMap(this.mapId,t,r)}makeRateTopicRequest(t,r,n){return this.api.rateTopic(this.mapId,t,r,n)}makeTopicFeedbackRequest(t,r,n){return this.api.sendTopicFeedback(this.mapId,t,r,n)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var In=class e{static build(t,r){return new e(Gd(t.trim()||"context"),r??Tn.build)}loaded(){return bi(()=>this._loaded)}constructor(t,r,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ft(10),this.initService(r)}async initService(t){return this.service=await t(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(t){t!==this.store.getState().mapId&&(this.store.actions.mapId(t),this.service&&(this.service.mapId=t),await this.reload())}setRenderedTopics(t){this.store.actions.renderedTopics(t)}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return qr(()=>this.service)}async navigateToTopic(t,r,n){await this.loaded();let i=await this.awaitService(),a=await(n!=null?i.getPage(n,this.getTranslationSettings()):i.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(t,a);this.store.actions.scrollTarget({tocId:s,section:r}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,r){var n,i,a;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:r.rootTocId;return r.topics.includes(s)?s:(a=(i=r.topics[0])!==null&&i!==void 0?i:r.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(t){await this.loaded();let n=await(await this.awaitService()).getPage(t,this.getTranslationSettings());this.store.actions.currentPage(n)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var t;!((t=this.service)===null||t===void 0)&&t.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var t;this._loaded=!1,this.store.actions.configuration(void 0),this.store.actions.map(void 0),this.store.actions.toc(void 0),this.store.actions.pagesToc(void 0),this.store.actions.currentPage(void 0),this.store.actions.searchInDocumentQuery(""),this.store.actions.relatives(void 0),this.store.actions.renderedTopics([]),this.store.actions.visibleTopics([]),this.store.actions.translation({sourceLanguage:void 0,destinationLanguage:void 0,profileId:void 0,isLoading:!1,isError:!1}),this.store.actions.mapRating(void 0),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(t){var r,n,i,a,s;try{t&&this.setTranslationLoading(!0);let l=d=>{throw t&&this.setTranslationError(!0),d};await Promise.all([this.loadConfiguration(),(r=this.service)===null||r===void 0?void 0:r.getMap(t).then(d=>this.store.actions.map(d)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(t).then(d=>this.store.actions.toc(d)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(t).then(d=>this.store.actions.pagesToc(d)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(d=>this.store.actions.paginationConfiguration(d)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(t).then(d=>this.setTranslationError(d))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof de)&&this.errorHandler(l)}}loadConfiguration(){var t;return(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(r=>this.store.actions.configuration(r))}reloadConfiguration(){var t;return(t=this.service)===null||t===void 0||t.clearConfiguration(),this.loadConfiguration()}fetchRelatives(){var t,r;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(i=>{var a;return i.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(i=>i.values);n!==void 0&&n.length>0?(r=this.service)===null||r===void 0||r.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(i=>{let a=i.results.flatMap(s=>s.entries);this.store.actions.relatives(a),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event(Je.clusteringHelperCreated))}createClusteringHelper(){var t,r;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let i=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),a=(r=(t=P.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&r!==void 0?r:[];return new We(n,i,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var r,n,i;await this.loaded();let a=await qr(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),s=this.store.getState().mapId,d=await(await this.awaitService()).getRelativesForTopicInMap(s,a,[t]);if(!((i=(n=(r=d?.results)===null||r===void 0?void 0:r[0])===null||n===void 0?void 0:n.entries)===null||i===void 0)&&i[0]){let p=d.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(t){this.store.actions.searchInDocumentQuery(t)}async setTranslationDestinationLanguage(t){this.store.actions.setTranslationDestinationLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(t){this.store.actions.setTranslationSourceLanguage(t),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(t){this.store.actions.setTranslationProfileId(t)}async setTranslationLoading(t){this.store.actions.setTranslationLoading(t)}async setTranslationError(t){this.store.actions.setTranslationError(t)}getTranslationSettings(){var t;let r=this.store.getState();return r.translation.profileId&&r.translation.destinationLanguage?{profileId:r.translation.profileId,destinationLanguage:r.translation.destinationLanguage.code,sourceLanguage:(t=r.map)===null||t===void 0?void 0:t.lang}:void 0}async fetchMapRating(){var t;this.store.actions.mapRating(await((t=this.service)===null||t===void 0?void 0:t.getMapRating()))}async fetchTopicRating(t){var r;let n=await((r=this.service)===null||r===void 0?void 0:r.getTopicRating(t));n&&this.store.actions.setTopicsRating({[t]:n})}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}getAccurateNavigationData(t,r,n){return this.service.getAccurateNavigationData(t,r?.number,n?.section,this.getTranslationSettings())}buildBreadcrumb(t){var r;return(r=this.service)===null||r===void 0?void 0:r.buildBreadcrumb(t,this.getTranslationSettings())}fetchTopicContent(t){var r,n;let i=this.getTranslationSettings();return i?(r=this.service)===null||r===void 0?void 0:r.getTranslatedTopicContent(t,i).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(n=this.service)===null||n===void 0?void 0:n.getTopicContent(t)}getTocNode(t){return this.service.getTocNode(t,this.getTranslationSettings())}getPage(t){return this.service.getPage(t,this.getTranslationSettings())}onMapAttachmentsUpdate(){var t;(t=this.service)===null||t===void 0||t.clearMapAttachments(),this.store.dispatchEvent(new Event(Je.mapAttachmentsUpdate))}};var Kd=L`
|
|
1653
1653
|
`;var _n=class extends CustomEvent{constructor(t,r){super("ft-reader-map-loaded",{detail:{map:t,toc:r}})}},Nn=class extends CustomEvent{constructor(t,r){super("ft-reader-visible-topics-change",{detail:{visibleTopics:r}})}},Ln=class extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}},Pn=class extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}},kn=class extends Event{constructor(){super("ft-reader-map-not-found")}},Mn=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Dn=class extends Event{constructor(){super("ft-reader-map-forbidden")}},$n=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Bn=class{constructor(t){this.stateManager=t}searchInDocument(t){this.stateManager.setSearchInDocumentQuery(t??"")}};var Lt=function(e,t,r,n){var i=arguments.length,a=i<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(e,t,r,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(a=(i<3?s(a):i>3?s(t,r,a):s(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},Hf=e=>t=>+(t??"NaN")>0?+t:e,bt=class extends ge{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new ft(5),this.navigationDebouncer=new ft(10),this.mapLoadedEventDebouncer=new ft(50),this.addStore(P)}render(){return $`
|
|
1654
1654
|
${this.importStyleIfNeeded()}
|
|
1655
1655
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluid-topics/ft-reader-metadata",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.20",
|
|
4
4
|
"description": "Metadata for integrated reader",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Lit"
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
"url": "ssh://git@scm.mrs.antidot.net:2222/fluidtopics/ft-web-components.git"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@fluid-topics/ft-chip": "1.3.
|
|
23
|
-
"@fluid-topics/ft-floating-menu": "1.3.
|
|
24
|
-
"@fluid-topics/ft-reader-context": "1.3.
|
|
25
|
-
"@fluid-topics/ft-ripple": "1.3.
|
|
26
|
-
"@fluid-topics/ft-tooltip": "1.3.
|
|
27
|
-
"@fluid-topics/ft-wc-utils": "1.3.
|
|
22
|
+
"@fluid-topics/ft-chip": "1.3.20",
|
|
23
|
+
"@fluid-topics/ft-floating-menu": "1.3.20",
|
|
24
|
+
"@fluid-topics/ft-reader-context": "1.3.20",
|
|
25
|
+
"@fluid-topics/ft-ripple": "1.3.20",
|
|
26
|
+
"@fluid-topics/ft-tooltip": "1.3.20",
|
|
27
|
+
"@fluid-topics/ft-wc-utils": "1.3.20",
|
|
28
28
|
"lit": "3.1.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@fluid-topics/ft-wc-test-utils": "1.3.
|
|
31
|
+
"@fluid-topics/ft-wc-test-utils": "1.3.20"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "1bb0c50fc5a4fdb4f14d22b728ab719faddfc15e"
|
|
34
34
|
}
|