@fluid-topics/ft-reader-metadata 1.3.13 → 1.3.14
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.
|
@@ -1581,10 +1581,10 @@ Also for action icons.`,c.colorGray200),contentGlobalSubtle:r.extend("--ft-conte
|
|
|
1581
1581
|
<span class="ft-i18n">
|
|
1582
1582
|
${this.i18n({context:this.context,key:this.key,args:Array.isArray(this.args)?this.args:[]})}
|
|
1583
1583
|
</span>
|
|
1584
|
-
`}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:""})}};Xt.elementDefinitions={};Xt.styles=ud;eo([(0,fn.redux)()],Xt.prototype,"editorMode",void 0);eo([(0,pn.property)()],Xt.prototype,"context",void 0);eo([(0,pn.property)()],Xt.prototype,"key",void 0);eo([(0,fn.jsonProperty)([])],Xt.prototype,"args",void 0);eo([(0,pn.property)()],Xt.prototype,"defaultMessage",void 0);var hn=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:Sr}constructor(t,o=!1){this.name=t,this.custom=o,this.properties=new Proxy({},{get:(n,a)=>{let i=a;return s=>({context:this.name,key:i,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,a)=>(...i)=>this.service.resolveMessage(this.name,a,...i)}),this.rawMessages=new Proxy({},{get:(n,a)=>this.service.resolveRawMessage(this.name,a)})}};var pd=(e,t)=>(o,n)=>{var a,i;o.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(a=e.key)!==null&&a!==void 0?a:n};o[to]=(i=o[to])!==null&&i!==void 0?i:new Map,o[to].set(n,s)};(0,fd.customElement)("ft-i18n")(Xt);var Wa=hn.build("designedReaderMapMetadata");var bd=b(N());var ro=b($()),Be=b(J()),Nt=b(N());var Qt=b(N());var hd=b(N()),Ju={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]}},yd=e=>hd.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:Ju});var za=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(a=>{var i;return a.pageConfiguration&&this.registerPage(this.buildPage(a,n)),a.tocId==null?this.extractPagesToc(a.children,o,n):[{tocId:a.tocId,title:(i=a.title)!==null&&i!==void 0?i:"",untranslatedTitle:a.untranslatedTitle,depth:o,children:this.extractPagesToc(a.children,o+1,a.tocId)}]})}convertNodes(t,o,n){return t.flatMap(a=>{var i,s,l;if(a.tocId==null)return[...this.convertSectionNodes((i=a.pageToc)!==null&&i!==void 0?i:[],o,a.tocId),...this.convertNodes(a.children,o,a.tocId)];let u=(s=a.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:a.tocId,contentId:a.contentId,title:a.title,untranslatedTitle:a.untranslatedTitle,hasRating:a.hasRating,origin:a.origin,prettyUrl:u,depth:o,parentTocId:n,children:[]};this.register(p);let h=this.convertSectionNodes((l=a.pageToc)!==null&&l!==void 0?l:[],o+1,a.tocId),y=this.convertNodes(a.children,o+1,p.tocId);return p.children=[...h,...y],[p]})}convertSectionNodes(t,o,n){return t.flatMap(a=>{var i;let s=(i=a.prettyUrl)===null||i===void 0?void 0:i.replace(/^\//,""),l={...a,prettyUrl:s,depth:o,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(a.children,o+1,a.tocId),[l]})}buildPage(t,o){var n,a,i,s,l,u;let p={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(a=t.tocId)!==null&&a!==void 0?a:"root",toc:((i=t.pageToc)!==null&&i!==void 0?i:[]).map(g=>this.nodeByTocId[g.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(g,x)=>(x?p.topics:p.hiddenTopics).push(g),y=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return p.breadcrumb.forEach((g,x)=>{h(g,y[x])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),p.topics.push(...this.tocIds((u=t.pageToc)!==null&&u!==void 0?u:[])),p}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}},yn=class{convertPaginatedToc(t,o){return new za(t,o).build()}};var mn=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.registerFinal("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(a=>this.fetchMapRating(a)):Promise.resolve()})}clear(){this.cache.clearAll()}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")}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,a;let i=this.getMapNow(o);return i?.prettyUrl==t||`${i?.id}/root`===t?(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(o))===null||a===void 0?void 0:a.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 a=this.getNavigationData(t,o,n),i=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),s=new URL(i,this.api.tenantBaseUrl);return a.page!=null&&s.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&s.searchParams.set("tocId",a.tocId),a.section!=null&&s.searchParams.set("section",a.section),s.href}getNavigationData(t,o,n,a){var i,s;t=t||"root";let l=this.getEnrichedTocNow(a),u=l?.pageByTocId[t],p=l?.nodeByTocId[t],h=p?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(i=p?.title)!==null&&i!==void 0?i:"",untranslatedTopicTitle:p?.untranslatedTitle,page:o&&u&&u.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,a){return await this.getEnrichedToc(a),this.getNavigationData(t,o,n,a)}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(a=>a.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),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],i=this.getTocNodeNow(n.parentTocId,o);for(;i;)a.unshift({tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}),i=this.getTocNodeNow(i.parentTocId,o);return a}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)}reloadConfiguration(){this.cache.registerFinal("configuration",()=>this.api.getReaderConfiguration())}};var gn=class e extends mn{static async build(t){return new e(new yn,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 a={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(a)}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 bn=class e{static build(t,o){return new e(yd(t.trim()||"context"),o??gn.build)}loaded(){return(0,Qt.waitUntil)(()=>this._loaded)}constructor(t,o,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Qt.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,Qt.waitFor)(()=>this.service)}async navigateToTopic(t,o,n){await this.loaded();let a=await this.awaitService(),i=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(i);let s=this.resolveValidNonRootTocId(t,i);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,o){var n,a,i;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:o.rootTocId;return o.topics.includes(s)?s:(i=(a=o.topics[0])!==null&&a!==void 0?a:o.hiddenTopics[0])!==null&&i!==void 0?i:"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,a,i,s,l;try{t&&this.setTranslationLoading(!0);let u=p=>{throw t&&this.setTranslationError(!0),p};await Promise.all([(o=this.service)===null||o===void 0?void 0:o.getConfiguration().then(p=>this.store.actions.configuration(p)),(n=this.service)===null||n===void 0?void 0:n.getMap(t).then(p=>this.store.actions.map(p)).catch(u),(a=this.service)===null||a===void 0?void 0:a.getToc(t).then(p=>this.store.actions.toc(p)).catch(u),(i=this.service)===null||i===void 0?void 0:i.getPagesToc(t).then(p=>this.store.actions.pagesToc(p)).catch(u),(s=this.service)===null||s===void 0?void 0:s.getPaginationConfiguration().then(p=>this.store.actions.paginationConfiguration(p)).catch(u),(l=this.service)===null||l===void 0?void 0:l.getTranslationError(t).then(p=>this.setTranslationError(p))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(u){this.errorHandler&&!(u instanceof Qt.CanceledPromiseError)&&this.errorHandler(u)}}fetchRelatives(){var t,o;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(a=>{var i;return a.key==((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata)}).flatMap(a=>a.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(a=>{let i=a.results.flatMap(s=>s.entries);this.store.actions.relatives(i),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event($e.clusteringHelperCreated))}createClusteringHelper(){var t,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),i=(o=(t=R.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new Qt.ClusteringHelper(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(t){var o,n,a;await this.loaded();let i=await(0,Qt.waitFor)(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),s=this.store.getState().mapId,u=await(await this.awaitService()).getRelativesForTopicInMap(s,i,[t]);if(!((a=(n=(o=u?.results)===null||o===void 0?void 0:o[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let p=u.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 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 a=this.getTranslationSettings();return a?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(t,a).then(i=>(i.isTranslationError&&this.setTranslationError(!0),i.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($e.mapAttachmentsUpdate))}};var md=b($());var gd=md.css`
|
|
1585
|
-
`;var xn=class extends CustomEvent{constructor(t,o){super("ft-reader-map-loaded",{detail:{map:t,toc:o}})}},vn=class extends CustomEvent{constructor(t,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},Sn=class extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}},Cn=class extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}},On=class extends Event{constructor(){super("ft-reader-map-not-found")}},En=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},wn=class extends Event{constructor(){super("ft-reader-map-forbidden")}},An=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Rn=class{constructor(t){this.stateManager=t}searchInDocument(t){this.stateManager.setSearchInDocumentQuery(t??"")}};var Lt=function(e,t,o,n){var a=arguments.length,i=a<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(i=(a<3?s(i):a>3?s(t,o,i):s(t,o))||i);return a>3&&i&&Object.defineProperty(t,o,i),i},tp=e=>t=>+(t??"NaN")>0?+t:e,pt=class extends Nt.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.
|
|
1584
|
+
`}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:""})}};Xt.elementDefinitions={};Xt.styles=ud;eo([(0,fn.redux)()],Xt.prototype,"editorMode",void 0);eo([(0,pn.property)()],Xt.prototype,"context",void 0);eo([(0,pn.property)()],Xt.prototype,"key",void 0);eo([(0,fn.jsonProperty)([])],Xt.prototype,"args",void 0);eo([(0,pn.property)()],Xt.prototype,"defaultMessage",void 0);var hn=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:Sr}constructor(t,o=!1){this.name=t,this.custom=o,this.properties=new Proxy({},{get:(n,a)=>{let i=a;return s=>({context:this.name,key:i,custom:this.custom,args:typeof s=="function"?void 0:s,argsProvider:typeof s=="function"?s:void 0})}}),this.messages=new Proxy({},{get:(n,a)=>(...i)=>this.service.resolveMessage(this.name,a,...i)}),this.rawMessages=new Proxy({},{get:(n,a)=>this.service.resolveRawMessage(this.name,a)})}};var pd=(e,t)=>(o,n)=>{var a,i;o.constructor.createProperty(n,t??{attribute:!1,type:String});let s={...e,key:(a=e.key)!==null&&a!==void 0?a:n};o[to]=(i=o[to])!==null&&i!==void 0?i:new Map,o[to].set(n,s)};(0,fd.customElement)("ft-i18n")(Xt);var Wa=hn.build("designedReaderMapMetadata");var bd=b(N());var ro=b($()),Be=b(J()),Nt=b(N());var Qt=b(N());var hd=b(N()),Ju={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]}},yd=e=>hd.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:Ju});var za=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(a=>{var i;return a.pageConfiguration&&this.registerPage(this.buildPage(a,n)),a.tocId==null?this.extractPagesToc(a.children,o,n):[{tocId:a.tocId,title:(i=a.title)!==null&&i!==void 0?i:"",untranslatedTitle:a.untranslatedTitle,depth:o,children:this.extractPagesToc(a.children,o+1,a.tocId)}]})}convertNodes(t,o,n){return t.flatMap(a=>{var i,s,l;if(a.tocId==null)return[...this.convertSectionNodes((i=a.pageToc)!==null&&i!==void 0?i:[],o,a.tocId),...this.convertNodes(a.children,o,a.tocId)];let u=(s=a.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:a.tocId,contentId:a.contentId,title:a.title,untranslatedTitle:a.untranslatedTitle,hasRating:a.hasRating,origin:a.origin,prettyUrl:u,depth:o,parentTocId:n,children:[]};this.register(p);let h=this.convertSectionNodes((l=a.pageToc)!==null&&l!==void 0?l:[],o+1,a.tocId),y=this.convertNodes(a.children,o+1,p.tocId);return p.children=[...h,...y],[p]})}convertSectionNodes(t,o,n){return t.flatMap(a=>{var i;let s=(i=a.prettyUrl)===null||i===void 0?void 0:i.replace(/^\//,""),l={...a,prettyUrl:s,depth:o,parentTocId:n,children:[]};return this.register(l),l.children=this.convertSectionNodes(a.children,o+1,a.tocId),[l]})}buildPage(t,o){var n,a,i,s,l,u;let p={number:this.pages.length+1,title:(n=t.title)!==null&&n!==void 0?n:"",untranslatedTitle:t.untranslatedTitle,rootTocId:(a=t.tocId)!==null&&a!==void 0?a:"root",toc:((i=t.pageToc)!==null&&i!==void 0?i:[]).map(g=>this.nodeByTocId[g.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(g,x)=>(x?p.topics:p.hiddenTopics).push(g),y=(l=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&l!==void 0?l:[];return p.breadcrumb.forEach((g,x)=>{h(g,y[x])}),t.tocId&&h(t.tocId,t.pageConfiguration.isVisible),p.topics.push(...this.tocIds((u=t.pageToc)!==null&&u!==void 0?u:[])),p}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}},yn=class{convertPaginatedToc(t,o){return new za(t,o).build()}};var mn=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(a=>this.fetchMapRating(a)):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,a;let i=this.getMapNow(o);return i?.prettyUrl==t||`${i?.id}/root`===t?(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.toc[0]:(a=this.getEnrichedTocNow(o))===null||a===void 0?void 0:a.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 a=this.getNavigationData(t,o,n),i=this.getReaderLinkPrefix()+(a.prettyUrl?a.prettyUrl:`${a.mapId}/${a.tocId}`),s=new URL(i,this.api.tenantBaseUrl);return a.page!=null&&s.searchParams.set("page",`${a.page}`),a.prettyUrlDuplicated&&s.searchParams.set("tocId",a.tocId),a.section!=null&&s.searchParams.set("section",a.section),s.href}getNavigationData(t,o,n,a){var i,s;t=t||"root";let l=this.getEnrichedTocNow(a),u=l?.pageByTocId[t],p=l?.nodeByTocId[t],h=p?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(i=p?.title)!==null&&i!==void 0?i:"",untranslatedTopicTitle:p?.untranslatedTitle,page:o&&u&&u.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,a){return await this.getEnrichedToc(a),this.getNavigationData(t,o,n,a)}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(a=>a.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),a=[{tocId:n.tocId,title:n.title,untranslatedTitle:n.untranslatedTitle}],i=this.getTocNodeNow(n.parentTocId,o);for(;i;)a.unshift({tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}),i=this.getTocNodeNow(i.parentTocId,o);return a}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 gn=class e extends mn{static async build(t){return new e(new yn,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 a={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(a)}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 bn=class e{static build(t,o){return new e(yd(t.trim()||"context"),o??gn.build)}loaded(){return(0,Qt.waitUntil)(()=>this._loaded)}constructor(t,o,n){this.store=t,this.clusteringHelperProvider=n,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Qt.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,Qt.waitFor)(()=>this.service)}async navigateToTopic(t,o,n){await this.loaded();let a=await this.awaitService(),i=await(n!=null?a.getPage(n,this.getTranslationSettings()):a.getPageByTocId(t??"root",this.getTranslationSettings()));this.store.actions.currentPage(i);let s=this.resolveValidNonRootTocId(t,i);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(t,o){var n,a,i;let s=(n=t==="root"?void 0:t)!==null&&n!==void 0?n:o.rootTocId;return o.topics.includes(s)?s:(i=(a=o.topics[0])!==null&&a!==void 0?a:o.hiddenTopics[0])!==null&&i!==void 0?i:"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,a,i,s;try{t&&this.setTranslationLoading(!0);let l=u=>{throw t&&this.setTranslationError(!0),u};await Promise.all([this.loadConfiguration(),(o=this.service)===null||o===void 0?void 0:o.getMap(t).then(u=>this.store.actions.map(u)).catch(l),(n=this.service)===null||n===void 0?void 0:n.getToc(t).then(u=>this.store.actions.toc(u)).catch(l),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(t).then(u=>this.store.actions.pagesToc(u)).catch(l),(i=this.service)===null||i===void 0?void 0:i.getPaginationConfiguration().then(u=>this.store.actions.paginationConfiguration(u)).catch(l),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(t).then(u=>this.setTranslationError(u))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,t&&this.setTranslationLoading(!1)}catch(l){this.errorHandler&&!(l instanceof Qt.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(a=>{var i;return a.key==((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata)}).flatMap(a=>a.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,n).then(a=>{let i=a.results.flatMap(s=>s.entries);this.store.actions.relatives(i),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new Event($e.clusteringHelperCreated))}createClusteringHelper(){var t,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let n=this.store.getState().relatives;if(n){let a=n.find(s=>{var l;return((l=s.map)===null||l===void 0?void 0:l.mapId)==this.store.getState().mapId}),i=(o=(t=R.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new Qt.ClusteringHelper(n,a,this.metadataForSwitchToRelatives,i)}}async navigateToRelativeTopicIfFound(t){var o,n,a;await this.loaded();let i=await(0,Qt.waitFor)(()=>{var p;return(p=this.store.getState().configuration)===null||p===void 0?void 0:p.relativeTopicPivotMetadata}),s=this.store.getState().mapId,u=await(await this.awaitService()).getRelativesForTopicInMap(s,i,[t]);if(!((a=(n=(o=u?.results)===null||o===void 0?void 0:o[0])===null||n===void 0?void 0:n.entries)===null||a===void 0)&&a[0]){let p=u.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 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 a=this.getTranslationSettings();return a?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(t,a).then(i=>(i.isTranslationError&&this.setTranslationError(!0),i.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($e.mapAttachmentsUpdate))}};var md=b($());var gd=md.css`
|
|
1585
|
+
`;var xn=class extends CustomEvent{constructor(t,o){super("ft-reader-map-loaded",{detail:{map:t,toc:o}})}},vn=class extends CustomEvent{constructor(t,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},Sn=class extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}},Cn=class extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}},On=class extends Event{constructor(){super("ft-reader-map-not-found")}},En=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},wn=class extends Event{constructor(){super("ft-reader-map-forbidden")}},An=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Rn=class{constructor(t){this.stateManager=t}searchInDocument(t){this.stateManager.setSearchInDocumentQuery(t??"")}};var Lt=function(e,t,o,n){var a=arguments.length,i=a<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,o):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,n);else for(var l=e.length-1;l>=0;l--)(s=e[l])&&(i=(a<3?s(i):a>3?s(t,o,i):s(t,o))||i);return a>3&&i&&Object.defineProperty(t,o,i),i},tp=e=>t=>+(t??"NaN")>0?+t:e,pt=class extends Nt.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new Nt.Debouncer(5),this.navigationDebouncer=new Nt.Debouncer(10),this.mapLoadedEventDebouncer=new Nt.Debouncer(50),this.addStore(R)}render(){return ro.html`
|
|
1586
1586
|
${this.importStyleIfNeeded()}
|
|
1587
|
-
<slot @register-ft-reader-component
|
|
1587
|
+
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
1588
1588
|
`}importStyleIfNeeded(){var t,o;let n=(t=this.stateManager.service)===null||t===void 0?void 0:t.themeStylesheet();return!n||window.location.href.startsWith((o=this.baseUrl)!==null&&o!==void 0?o:"")?ro.nothing:ro.html`
|
|
1589
1589
|
<style>
|
|
1590
1590
|
@import "${n}"
|