@fluid-topics/ft-reader-feedback 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.
|
@@ -1947,10 +1947,10 @@ Also for action icons.`,l.colorGray200),contentGlobalSubtle:r.extend("--ft-conte
|
|
|
1947
1947
|
.variant=${this.iconVariant}
|
|
1948
1948
|
.value=${this.icon}
|
|
1949
1949
|
@click=${()=>{var e;return(e=this.input)===null||e===void 0?void 0:e.focus()}}></ft-icon>
|
|
1950
|
-
`:Re.nothing}update(e){super.update(e),(e.has("value")||e.has("filterSuggestions")||e.has("suggestionsProvider"))&&this.updateSuggestions(),e.has("value")&&e.get("value")!=null&&(this.hideSuggestions=!1),e.has("dispatchedValue")&&e.get("dispatchedValue")!=null&&(this.hideSuggestions=!0)}async updateSuggestions(){this.suggestionsProvider?this.providedSuggestions=await this.suggestionsProvider(this.value):this.filterSuggestionsIfNeeded()}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.slottedSuggestions.forEach(e=>e.hidden=!e.getValue().toLowerCase().includes(this.value.toLowerCase())),this.visibleSuggestions=this.slottedSuggestions.filter(e=>!e.hidden)):this.visibleSuggestions=this.slottedSuggestions,this.newValueSuggestion&&(this.visibleSuggestions=[...this.visibleSuggestions,this.newValueSuggestion]),this.hideSuggestions=this.visibleSuggestions.length<=0}contentAvailableCallback(e){super.contentAvailableCallback(e),e.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0&&this.setSuggestionPosition(),e.has("value")&&this.suggestionsProvider&&(this.visibleSuggestions=[...this.providedSuggestionsInDom]),e.has("autocomplete")&&this.setupWatchAutofill(),this.suggestionsShouldBeDisplayed()&&this.setSuggestionPosition()}setupWatchAutofill(){var e;this.clearWatchAutofill(),((e=this.autocomplete)!==null&&e!==void 0?e:"off")!=="off"&&(this.watchAutofillInterval=setInterval(()=>{var o,i,n;!((o=this.input)===null||o===void 0)&&o.matches(":autofill")&&this.dispatchedValue!==((i=this.input)===null||i===void 0?void 0:i.value)&&this.setValue((n=this.input)===null||n===void 0?void 0:n.value,!0)},200))}clearWatchAutofill(){this.watchAutofillInterval&&clearInterval(this.watchAutofillInterval)}connectedCallback(){super.connectedCallback(),this.setupWatchAutofill()}disconnectedCallback(){super.disconnectedCallback(),this.clearWatchAutofill()}setValue(e,o=!1){this.value!==e&&(this.setInternalValue(e),this.dispatchEvent(new CustomEvent("live-change",{detail:e}))),o&&this.dispatchedValue!==e&&(this.dispatchedValue=e,this.dispatchEvent(new CustomEvent("change",{detail:e})))}handleInput(e){var o;let i=((o=this.input)===null||o===void 0?void 0:o.value)||"";this.setValue(i,e.key=="Escape"||e.key=="Enter")}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(e){var o;if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault(),e.stopPropagation(),this.hideSuggestions=!1;let i=this.visibleSuggestions.findIndex(a=>a.matches(":focus-within")),n;e.key==="ArrowDown"?n=i<this.visibleSuggestions.length-1?i+1:0:n=i>0?i-1:this.visibleSuggestions.length-1,(o=this.visibleSuggestions[n])===null||o===void 0||o.focus()}(e.key=="Escape"||e.key=="Enter")&&(this.hideSuggestions=!0)}onSuggestionSelected(e){var o;this.setValue(e.detail,!0),(o=this.input)===null||o===void 0||o.focus(),setTimeout(()=>this.hideSuggestions=!0,0)}onFocus(){this.focused=!0,this.hideSuggestions=!1}onMainPanelBlur(){var e,o;!((e=this.mainPanel)===null||e===void 0)&&e.matches(":focus-within")||(this.focused=!1,this.setValue(((o=this.input)===null||o===void 0?void 0:o.value)||"",!0))}togglePasswordVisibility(){this.hidePassword=!this.hidePassword}isPasswordField(){return this.password||this.type==="password"}setSuggestionPosition(){this.suggestionsContainer.style.width=this.mainPanel.getBoundingClientRect().width+"px";let e=["bottom","top"];(0,fr.computeOffsetAutoPosition)(this.mainPanel,this.suggestionsContainer,"bottom",e,"fixed","--ft-text-field-internal-suggest-size",0).then(({x:o,y:i})=>{this.suggestionsContainer.style.left=`${o}px`,this.suggestionsContainer.style.top=`${i}px`})}suggestionsShouldBeDisplayed(){return!this.hideSuggestions&&(this.visibleSuggestions.length||this.providedSuggestions.length)}};M.elementDefinitions={"ft-input-label":ot,"ft-ripple":K,"ft-typography":fe,"ft-icon":he,"ft-text-field-suggestion":ft};M.styles=[Hr,fr.noTextInputDefaultClearButton,eu];j([(0,H.property)()],M.prototype,"label",void 0);j([(0,H.property)({noAccessor:!0})],M.prototype,"value",null);j([(0,H.state)()],M.prototype,"dispatchedValue",void 0);j([(0,H.property)()],M.prototype,"helper",void 0);j([(0,H.property)()],M.prototype,"suggestionsHelper",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"outlined",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"disabled",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"error",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"fixedMenuPosition",void 0);j([(0,H.property)()],M.prototype,"prefix",void 0);j([(0,H.property)()],M.prototype,"icon",void 0);j([(0,H.property)()],M.prototype,"name",void 0);j([(0,H.property)()],M.prototype,"type",void 0);j([(0,H.property)()],M.prototype,"passwordHiddenIcon",void 0);j([(0,H.property)()],M.prototype,"passwordRevealedIcon",void 0);j([(0,H.property)()],M.prototype,"iconVariant",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"filterSuggestions",void 0);j([(0,H.property)({type:Number})],M.prototype,"maxLength",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"password",void 0);j([(0,H.property)({type:String})],M.prototype,"autocomplete",void 0);j([(0,H.property)({attribute:!1})],M.prototype,"suggestionsProvider",void 0);j([(0,H.state)()],M.prototype,"focused",void 0);j([(0,H.state)()],M.prototype,"hidePassword",void 0);j([(0,H.state)()],M.prototype,"hideSuggestions",void 0);j([(0,H.state)()],M.prototype,"visibleSuggestions",void 0);j([(0,H.state)()],M.prototype,"providedSuggestions",void 0);j([(0,H.query)(".ft-text-field--main-panel")],M.prototype,"mainPanel",void 0);j([(0,H.query)(".ft-text-field--input")],M.prototype,"input",void 0);j([(0,H.query)(".ft-text-field-suggestion--new-value")],M.prototype,"newValueSuggestion",void 0);j([(0,H.query)(".ft-text-field--suggestions")],M.prototype,"suggestionsContainer",void 0);j([(0,H.queryAll)("ft-text-field-suggestion")],M.prototype,"providedSuggestionsInDom",void 0);j([(0,H.queryAssignedElements)({selector:"ft-text-field-suggestion"})],M.prototype,"slottedSuggestions",void 0);(0,Ra.customElement)("ft-text-field")(M);(0,Ra.customElement)("ft-text-field-suggestion")(ft);var uu=m(T());var Mo=m(B()),hr=m(Z()),et=m(T());var Ot=m(T());var su=m(T()),Kp={setTranslationDestinationLanguage:(t,e)=>{t.translation.destinationLanguage=e.payload},setTranslationSourceLanguage:(t,e)=>{t.translation.sourceLanguage=e.payload},setTranslationProfileId:(t,e)=>{t.translation.profileId=e.payload},setTranslationLoading:(t,e)=>{t.translation.isLoading=e.payload},setTranslationError:(t,e)=>{t.translation.isError=e.payload},setTopicsRating:(t,e)=>{for(let o in e.payload)t.topicsRating[o]=e.payload[o]}},lu=t=>su.FtReduxStore.get({name:"ft-reader-"+t,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:Kp});var Ta=class{constructor(e,o){this.mapId=e,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(e,o,i){return e.flatMap(n=>{var a;return n.pageConfiguration&&this.registerPage(this.buildPage(n,i)),n.tocId==null?this.extractPagesToc(n.children,o,i):[{tocId:n.tocId,title:(a=n.title)!==null&&a!==void 0?a:"",untranslatedTitle:n.untranslatedTitle,depth:o,children:this.extractPagesToc(n.children,o+1,n.tocId)}]})}convertNodes(e,o,i){return e.flatMap(n=>{var a,s,c;if(n.tocId==null)return[...this.convertSectionNodes((a=n.pageToc)!==null&&a!==void 0?a:[],o,n.tocId),...this.convertNodes(n.children,o,n.tocId)];let u=(s=n.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:n.tocId,contentId:n.contentId,title:n.title,untranslatedTitle:n.untranslatedTitle,hasRating:n.hasRating,origin:n.origin,prettyUrl:u,depth:o,parentTocId:i,children:[]};this.register(p);let h=this.convertSectionNodes((c=n.pageToc)!==null&&c!==void 0?c:[],o+1,n.tocId),g=this.convertNodes(n.children,o+1,p.tocId);return p.children=[...h,...g],[p]})}convertSectionNodes(e,o,i){return e.flatMap(n=>{var a;let s=(a=n.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),c={...n,prettyUrl:s,depth:o,parentTocId:i,children:[]};return this.register(c),c.children=this.convertSectionNodes(n.children,o+1,n.tocId),[c]})}buildPage(e,o){var i,n,a,s,c,u;let p={number:this.pages.length+1,title:(i=e.title)!==null&&i!==void 0?i:"",untranslatedTitle:e.untranslatedTitle,rootTocId:(n=e.tocId)!==null&&n!==void 0?n:"root",toc:((a=e.pageToc)!==null&&a!==void 0?a:[]).map(b=>this.nodeByTocId[b.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(b,x)=>(x?p.topics:p.hiddenTopics).push(b),g=(c=(s=e.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&c!==void 0?c:[];return p.breadcrumb.forEach((b,x)=>{h(b,g[x])}),e.tocId&&h(e.tocId,e.pageConfiguration.isVisible),p.topics.push(...this.tocIds((u=e.pageToc)!==null&&u!==void 0?u:[])),p}registerPage(e){for(let o of[...e.topics,...e.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=e);this.pages.push(e)}tocIds(e){return e.flatMap(o=>[o.tocId,...this.tocIds(o.children)])}buildBreadcrumb(e){let o=[e.tocId];for(;e?.parentTocId;)o.unshift(e.parentTocId),e=this.nodeByTocId[e.parentTocId];return o}register(e){e.prettyUrl&&(this.nodeByUrl[e.prettyUrl]==null?this.nodeByUrl[e.prettyUrl]=e:this.duplicatedPrettyUrls.add(e.prettyUrl)),this.nodeByUrl[`${this.mapId}/${e.tocId}`]=e,this.nodeByTocId[e.tocId]=e}},Hi=class{convertPaginatedToc(e,o){return new Ta(e,o).build()}};var zi=class extends it{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,o,i){super(!1,o),this.converter=e,this._mapId=i,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.registerFinal("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(o=>this.converter.convertPaginatedToc(e,o)))),this.cache.register("ratingSummary",()=>{var e,o;return Dt((o=(e=A.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(n=>this.fetchMapRating(n)):Promise.resolve()})}clear(){this.cache.clearAll()}makeCacheKey(e,o){return e+(o?"-destinationLanguage-"+o?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(o=>this.converter.convertPaginatedToc(this.mapId,o)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,o){return(await this.getEnrichedToc(o)).nodeByTocId[e]}getTocNodeNow(e,o){var i;return(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.nodeByTocId[e]}getTocNodeNowByUrl(e,o){var i,n;let a=this.getMapNow(o);return a?.prettyUrl==e||`${a?.id}/root`===e?(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.toc[0]:(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.nodeByUrl[e]}async getPage(e,o){let i=await this.getEnrichedToc(o);return i.pages[e-1]||i.pages[0]}async getPageByTocId(e,o){let i=await this.getEnrichedToc(o);return i.pageByTocId[e]||i.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,o){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,o),()=>this.fetchTranslatedTopicHTMLContent(e,o))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,o){return this.cache.get("document-relatives-"+e+"-"+o.join("-"),()=>this.fetchRelativesForDocument(e,o))}getRelativesForTopicInMap(e,o,i){return this.cache.get("topic-relatives-"+[e,o,...i].join("-"),()=>this.fetchRelativesForTopicInMap(e,o,i))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,o,i){let n=this.getNavigationData(e,o,i),a=this.getReaderLinkPrefix()+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return n.page!=null&&s.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&s.searchParams.set("tocId",n.tocId),n.section!=null&&s.searchParams.set("section",n.section),s.href}getNavigationData(e,o,i,n){var a,s;e=e||"root";let c=this.getEnrichedTocNow(n),u=c?.pageByTocId[e],p=c?.nodeByTocId[e],h=p?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(a=p?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:p?.untranslatedTitle,page:o&&u&&u.number!==o?o:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=c?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:i}}async getAccurateNavigationData(e,o,i,n){return await this.getEnrichedToc(n),this.getNavigationData(e,o,i,n)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(o=>{var i;return o?{type:o.topics.type,rating:(i=o.topics)===null||i===void 0?void 0:i.ratings.find(n=>n.tocId===e)}:void 0})}rateMap(e,o){return this.makeRateMapRequest(e,o).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,o){return this.makeMapFeedbackRequest(e,o)}rateTopic(e,o,i){return this.makeRateTopicRequest(e,o,i).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=A.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,o,i){return this.makeTopicFeedbackRequest(e,o,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,o){let i=this.getTocNodeNow(e,o),n=[{tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}],a=this.getTocNodeNow(i.parentTocId,o);for(;a;)n.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,o);return n}isFeatureAccessible(e,{session:o}){var i;if(!this.isFeatureAvailable(e))return!1;switch(e){case at.FEEDBACK:return Dt(o??[],te.FEEDBACK_USER);case at.RATING:return Dt(o??[],te.RATING_USER);case at.PRINT:return Dt(o??[],te.PRINT_USER);case at.BOOKMARK:return!!o?.sessionAuthenticated;case at.COLLECTIONS:return Dt(o??[],te.COLLECTION_USER);case at.PERSONAL_BOOKS:return Dt(o??[],te.PERSONAL_BOOK_USER)&&!(!((i=this.getMapNow())===null||i===void 0)&&i.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}reloadConfiguration(){this.cache.registerFinal("configuration",()=>this.api.getReaderConfiguration())}};var Wi=class t extends zi{static async build(e){return new t(new Hi,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,o){let i=await this.api.getMap(e,o);return this.fingerprint=i.fingerprint,i}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,o){return await this.getMap(o),this.api.getPages(e,this.fingerprint,o)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,o){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,o)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,o){let i={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(i)}fetchRelativesForTopicInMap(e,o,i){let n={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:o,valueFilter:{negative:!1,values:i}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(n)}makeMapFeedbackRequest(e,o){return this.api.sendMapFeedback(this.mapId,e,o)}makeRateMapRequest(e,o){return this.api.rateMap(this.mapId,e,o)}makeRateTopicRequest(e,o,i){return this.api.rateTopic(this.mapId,e,o,i)}makeTopicFeedbackRequest(e,o,i){return this.api.sendTopicFeedback(this.mapId,e,o,i)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var Gi=class t{static build(e,o){return new t(lu(e.trim()||"context"),o??Wi.build)}loaded(){return(0,Ot.waitUntil)(()=>this._loaded)}constructor(e,o,i){this.store=e,this.clusteringHelperProvider=i,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Ot.Debouncer(10),this.initService(o)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return(0,Ot.waitFor)(()=>this.service)}async navigateToTopic(e,o,i){await this.loaded();let n=await this.awaitService(),a=await(i!=null?n.getPage(i,this.getTranslationSettings()):n.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(e,a);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,o){var i,n,a;let s=(i=e==="root"?void 0:e)!==null&&i!==void 0?i:o.rootTocId;return o.topics.includes(s)?s:(a=(n=o.topics[0])!==null&&n!==void 0?n:o.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(e){await this.loaded();let i=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(i)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;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),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var o,i,n,a,s,c;try{e&&this.setTranslationLoading(!0);let u=p=>{throw e&&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)),(i=this.service)===null||i===void 0?void 0:i.getMap(e).then(p=>this.store.actions.map(p)).catch(u),(n=this.service)===null||n===void 0?void 0:n.getToc(e).then(p=>this.store.actions.toc(p)).catch(u),(a=this.service)===null||a===void 0?void 0:a.getPagesToc(e).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),(c=this.service)===null||c===void 0?void 0:c.getTranslationError(e).then(p=>this.setTranslationError(p))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(u){this.errorHandler&&!(u instanceof Ot.CanceledPromiseError)&&this.errorHandler(u)}}fetchRelatives(){var e,o;let i=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(n=>{var a;return n.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(n=>n.values);i!==void 0&&i.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,i).then(n=>{let a=n.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(uo.clusteringHelperCreated))}createClusteringHelper(){var e,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let i=this.store.getState().relatives;if(i){let n=i.find(s=>{var c;return((c=s.map)===null||c===void 0?void 0:c.mapId)==this.store.getState().mapId}),a=(o=(e=A.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&o!==void 0?o:[];return new Ot.ClusteringHelper(i,n,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(e){var o,i,n;await this.loaded();let a=await(0,Ot.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,a,[e]);if(!((n=(i=(o=u?.results)===null||o===void 0?void 0:o[0])===null||i===void 0?void 0:i.entries)===null||n===void 0)&&n[0]){let p=u.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let o=this.store.getState();return o.translation.profileId&&o.translation.destinationLanguage?{profileId:o.translation.profileId,destinationLanguage:o.translation.destinationLanguage.code,sourceLanguage:(e=o.map)===null||e===void 0?void 0:e.lang}:void 0}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var o;let i=await((o=this.service)===null||o===void 0?void 0:o.getTopicRating(e));i&&this.store.actions.setTopicsRating({[e]:i})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,o,i){return this.service.getAccurateNavigationData(e,o?.number,i?.section,this.getTranslationSettings())}buildBreadcrumb(e){var o;return(o=this.service)===null||o===void 0?void 0:o.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var o,i;let n=this.getTranslationSettings();return n?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(e,n).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(i=this.service)===null||i===void 0?void 0:i.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(uo.mapAttachmentsUpdate))}};var cu=m(B());var du=cu.css`
|
|
1951
|
-
`;var Vi=class extends CustomEvent{constructor(e,o){super("ft-reader-map-loaded",{detail:{map:e,toc:o}})}},ji=class extends CustomEvent{constructor(e,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},Ki=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Zi=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},qi=class extends Event{constructor(){super("ft-reader-map-not-found")}},Yi=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Xi=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Qi=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Ji=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}};var tt=function(t,e,o,i){var n=arguments.length,a=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,o,i);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(a=(n<3?s(a):n>3?s(e,o,a):s(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a},Zp=t=>e=>+(e??"NaN")>0?+e:t,Te=class extends et.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.
|
|
1950
|
+
`:Re.nothing}update(e){super.update(e),(e.has("value")||e.has("filterSuggestions")||e.has("suggestionsProvider"))&&this.updateSuggestions(),e.has("value")&&e.get("value")!=null&&(this.hideSuggestions=!1),e.has("dispatchedValue")&&e.get("dispatchedValue")!=null&&(this.hideSuggestions=!0)}async updateSuggestions(){this.suggestionsProvider?this.providedSuggestions=await this.suggestionsProvider(this.value):this.filterSuggestionsIfNeeded()}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.slottedSuggestions.forEach(e=>e.hidden=!e.getValue().toLowerCase().includes(this.value.toLowerCase())),this.visibleSuggestions=this.slottedSuggestions.filter(e=>!e.hidden)):this.visibleSuggestions=this.slottedSuggestions,this.newValueSuggestion&&(this.visibleSuggestions=[...this.visibleSuggestions,this.newValueSuggestion]),this.hideSuggestions=this.visibleSuggestions.length<=0}contentAvailableCallback(e){super.contentAvailableCallback(e),e.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0&&this.setSuggestionPosition(),e.has("value")&&this.suggestionsProvider&&(this.visibleSuggestions=[...this.providedSuggestionsInDom]),e.has("autocomplete")&&this.setupWatchAutofill(),this.suggestionsShouldBeDisplayed()&&this.setSuggestionPosition()}setupWatchAutofill(){var e;this.clearWatchAutofill(),((e=this.autocomplete)!==null&&e!==void 0?e:"off")!=="off"&&(this.watchAutofillInterval=setInterval(()=>{var o,i,n;!((o=this.input)===null||o===void 0)&&o.matches(":autofill")&&this.dispatchedValue!==((i=this.input)===null||i===void 0?void 0:i.value)&&this.setValue((n=this.input)===null||n===void 0?void 0:n.value,!0)},200))}clearWatchAutofill(){this.watchAutofillInterval&&clearInterval(this.watchAutofillInterval)}connectedCallback(){super.connectedCallback(),this.setupWatchAutofill()}disconnectedCallback(){super.disconnectedCallback(),this.clearWatchAutofill()}setValue(e,o=!1){this.value!==e&&(this.setInternalValue(e),this.dispatchEvent(new CustomEvent("live-change",{detail:e}))),o&&this.dispatchedValue!==e&&(this.dispatchedValue=e,this.dispatchEvent(new CustomEvent("change",{detail:e})))}handleInput(e){var o;let i=((o=this.input)===null||o===void 0?void 0:o.value)||"";this.setValue(i,e.key=="Escape"||e.key=="Enter")}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(e){var o;if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault(),e.stopPropagation(),this.hideSuggestions=!1;let i=this.visibleSuggestions.findIndex(a=>a.matches(":focus-within")),n;e.key==="ArrowDown"?n=i<this.visibleSuggestions.length-1?i+1:0:n=i>0?i-1:this.visibleSuggestions.length-1,(o=this.visibleSuggestions[n])===null||o===void 0||o.focus()}(e.key=="Escape"||e.key=="Enter")&&(this.hideSuggestions=!0)}onSuggestionSelected(e){var o;this.setValue(e.detail,!0),(o=this.input)===null||o===void 0||o.focus(),setTimeout(()=>this.hideSuggestions=!0,0)}onFocus(){this.focused=!0,this.hideSuggestions=!1}onMainPanelBlur(){var e,o;!((e=this.mainPanel)===null||e===void 0)&&e.matches(":focus-within")||(this.focused=!1,this.setValue(((o=this.input)===null||o===void 0?void 0:o.value)||"",!0))}togglePasswordVisibility(){this.hidePassword=!this.hidePassword}isPasswordField(){return this.password||this.type==="password"}setSuggestionPosition(){this.suggestionsContainer.style.width=this.mainPanel.getBoundingClientRect().width+"px";let e=["bottom","top"];(0,fr.computeOffsetAutoPosition)(this.mainPanel,this.suggestionsContainer,"bottom",e,"fixed","--ft-text-field-internal-suggest-size",0).then(({x:o,y:i})=>{this.suggestionsContainer.style.left=`${o}px`,this.suggestionsContainer.style.top=`${i}px`})}suggestionsShouldBeDisplayed(){return!this.hideSuggestions&&(this.visibleSuggestions.length||this.providedSuggestions.length)}};M.elementDefinitions={"ft-input-label":ot,"ft-ripple":K,"ft-typography":fe,"ft-icon":he,"ft-text-field-suggestion":ft};M.styles=[Hr,fr.noTextInputDefaultClearButton,eu];j([(0,H.property)()],M.prototype,"label",void 0);j([(0,H.property)({noAccessor:!0})],M.prototype,"value",null);j([(0,H.state)()],M.prototype,"dispatchedValue",void 0);j([(0,H.property)()],M.prototype,"helper",void 0);j([(0,H.property)()],M.prototype,"suggestionsHelper",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"outlined",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"disabled",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"error",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"fixedMenuPosition",void 0);j([(0,H.property)()],M.prototype,"prefix",void 0);j([(0,H.property)()],M.prototype,"icon",void 0);j([(0,H.property)()],M.prototype,"name",void 0);j([(0,H.property)()],M.prototype,"type",void 0);j([(0,H.property)()],M.prototype,"passwordHiddenIcon",void 0);j([(0,H.property)()],M.prototype,"passwordRevealedIcon",void 0);j([(0,H.property)()],M.prototype,"iconVariant",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"filterSuggestions",void 0);j([(0,H.property)({type:Number})],M.prototype,"maxLength",void 0);j([(0,H.property)({type:Boolean})],M.prototype,"password",void 0);j([(0,H.property)({type:String})],M.prototype,"autocomplete",void 0);j([(0,H.property)({attribute:!1})],M.prototype,"suggestionsProvider",void 0);j([(0,H.state)()],M.prototype,"focused",void 0);j([(0,H.state)()],M.prototype,"hidePassword",void 0);j([(0,H.state)()],M.prototype,"hideSuggestions",void 0);j([(0,H.state)()],M.prototype,"visibleSuggestions",void 0);j([(0,H.state)()],M.prototype,"providedSuggestions",void 0);j([(0,H.query)(".ft-text-field--main-panel")],M.prototype,"mainPanel",void 0);j([(0,H.query)(".ft-text-field--input")],M.prototype,"input",void 0);j([(0,H.query)(".ft-text-field-suggestion--new-value")],M.prototype,"newValueSuggestion",void 0);j([(0,H.query)(".ft-text-field--suggestions")],M.prototype,"suggestionsContainer",void 0);j([(0,H.queryAll)("ft-text-field-suggestion")],M.prototype,"providedSuggestionsInDom",void 0);j([(0,H.queryAssignedElements)({selector:"ft-text-field-suggestion"})],M.prototype,"slottedSuggestions",void 0);(0,Ra.customElement)("ft-text-field")(M);(0,Ra.customElement)("ft-text-field-suggestion")(ft);var uu=m(T());var Mo=m(B()),hr=m(Z()),et=m(T());var Ot=m(T());var su=m(T()),Kp={setTranslationDestinationLanguage:(t,e)=>{t.translation.destinationLanguage=e.payload},setTranslationSourceLanguage:(t,e)=>{t.translation.sourceLanguage=e.payload},setTranslationProfileId:(t,e)=>{t.translation.profileId=e.payload},setTranslationLoading:(t,e)=>{t.translation.isLoading=e.payload},setTranslationError:(t,e)=>{t.translation.isError=e.payload},setTopicsRating:(t,e)=>{for(let o in e.payload)t.topicsRating[o]=e.payload[o]}},lu=t=>su.FtReduxStore.get({name:"ft-reader-"+t,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:Kp});var Ta=class{constructor(e,o){this.mapId=e,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(e,o,i){return e.flatMap(n=>{var a;return n.pageConfiguration&&this.registerPage(this.buildPage(n,i)),n.tocId==null?this.extractPagesToc(n.children,o,i):[{tocId:n.tocId,title:(a=n.title)!==null&&a!==void 0?a:"",untranslatedTitle:n.untranslatedTitle,depth:o,children:this.extractPagesToc(n.children,o+1,n.tocId)}]})}convertNodes(e,o,i){return e.flatMap(n=>{var a,s,c;if(n.tocId==null)return[...this.convertSectionNodes((a=n.pageToc)!==null&&a!==void 0?a:[],o,n.tocId),...this.convertNodes(n.children,o,n.tocId)];let u=(s=n.prettyUrl)===null||s===void 0?void 0:s.replace(/^\//,""),p={tocId:n.tocId,contentId:n.contentId,title:n.title,untranslatedTitle:n.untranslatedTitle,hasRating:n.hasRating,origin:n.origin,prettyUrl:u,depth:o,parentTocId:i,children:[]};this.register(p);let h=this.convertSectionNodes((c=n.pageToc)!==null&&c!==void 0?c:[],o+1,n.tocId),g=this.convertNodes(n.children,o+1,p.tocId);return p.children=[...h,...g],[p]})}convertSectionNodes(e,o,i){return e.flatMap(n=>{var a;let s=(a=n.prettyUrl)===null||a===void 0?void 0:a.replace(/^\//,""),c={...n,prettyUrl:s,depth:o,parentTocId:i,children:[]};return this.register(c),c.children=this.convertSectionNodes(n.children,o+1,n.tocId),[c]})}buildPage(e,o){var i,n,a,s,c,u;let p={number:this.pages.length+1,title:(i=e.title)!==null&&i!==void 0?i:"",untranslatedTitle:e.untranslatedTitle,rootTocId:(n=e.tocId)!==null&&n!==void 0?n:"root",toc:((a=e.pageToc)!==null&&a!==void 0?a:[]).map(b=>this.nodeByTocId[b.tocId]),topics:[],hiddenTopics:[],breadcrumb:o?this.buildBreadcrumb(this.nodeByTocId[o]):[]},h=(b,x)=>(x?p.topics:p.hiddenTopics).push(b),g=(c=(s=e.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&c!==void 0?c:[];return p.breadcrumb.forEach((b,x)=>{h(b,g[x])}),e.tocId&&h(e.tocId,e.pageConfiguration.isVisible),p.topics.push(...this.tocIds((u=e.pageToc)!==null&&u!==void 0?u:[])),p}registerPage(e){for(let o of[...e.topics,...e.hiddenTopics])this.pageByTocId[o]||(this.pageByTocId[o]=e);this.pages.push(e)}tocIds(e){return e.flatMap(o=>[o.tocId,...this.tocIds(o.children)])}buildBreadcrumb(e){let o=[e.tocId];for(;e?.parentTocId;)o.unshift(e.parentTocId),e=this.nodeByTocId[e.parentTocId];return o}register(e){e.prettyUrl&&(this.nodeByUrl[e.prettyUrl]==null?this.nodeByUrl[e.prettyUrl]=e:this.duplicatedPrettyUrls.add(e.prettyUrl)),this.nodeByUrl[`${this.mapId}/${e.tocId}`]=e,this.nodeByTocId[e.tocId]=e}},Hi=class{convertPaginatedToc(e,o){return new Ta(e,o).build()}};var zi=class extends it{get mapId(){return this._mapId}set mapId(e){e!==this._mapId&&this.clear(),this._mapId=e}constructor(e,o,i){super(!1,o),this.converter=e,this._mapId=i,this.initCache()}async withMapId(e){return this._mapId?e(this._mapId):void 0}initCache(){this.cache.register("configuration",()=>this.api.getReaderConfiguration()),this.cache.register("map",()=>this.withMapId(e=>this.fetchMap(e))),this.cache.register("enrichedToc",()=>this.withMapId(e=>this.fetchPages(e).then(o=>this.converter.convertPaginatedToc(e,o)))),this.cache.register("ratingSummary",()=>{var e,o;return Dt((o=(e=A.getState().session)===null||e===void 0?void 0:e.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(n=>this.fetchMapRating(n)):Promise.resolve()})}clear(){this.cache.clearMatching(e=>e!=="configuration")}makeCacheKey(e,o){return e+(o?"-destinationLanguage-"+o?.destinationLanguage:"")}getMap(e){return this.cache.get(this.makeCacheKey("map",e),()=>this.fetchMap(this.mapId,e))}getMapNow(e){return this.cache.getNow(this.makeCacheKey("map",e))}getConfiguration(){return this.cache.get("configuration")}clearConfiguration(){this.cache.clear("configuration")}getEnrichedToc(e){return this.cache.get(this.makeCacheKey("enrichedToc",e),()=>this.fetchPages(this.mapId,e).then(o=>this.converter.convertPaginatedToc(this.mapId,o)))}getEnrichedTocNow(e){return this.cache.getNow(this.makeCacheKey("enrichedToc",e))}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(e){return(await this.getEnrichedToc(e)).toc}async getPagesToc(e){return(await this.getEnrichedToc(e)).pagesToc}async getTranslationError(e){return(await this.getEnrichedToc(e)).translationError}async getTocNode(e,o){return(await this.getEnrichedToc(o)).nodeByTocId[e]}getTocNodeNow(e,o){var i;return(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.nodeByTocId[e]}getTocNodeNowByUrl(e,o){var i,n;let a=this.getMapNow(o);return a?.prettyUrl==e||`${a?.id}/root`===e?(i=this.getEnrichedTocNow(o))===null||i===void 0?void 0:i.toc[0]:(n=this.getEnrichedTocNow(o))===null||n===void 0?void 0:n.nodeByUrl[e]}async getPage(e,o){let i=await this.getEnrichedToc(o);return i.pages[e-1]||i.pages[0]}async getPageByTocId(e,o){let i=await this.getEnrichedToc(o);return i.pageByTocId[e]||i.pages[0]}getTopicInfo(e){return this.cache.get("topic-"+e.tocId,()=>this.fetchTopicMetadata(e))}getTopicContent(e){return this.cache.get("topic-content-"+e.tocId,()=>this.fetchTopicHTMLContent(e))}getTranslatedTopicContent(e,o){return this.cache.get(this.makeCacheKey("translated-topic-content-"+e.tocId,o),()=>this.fetchTranslatedTopicHTMLContent(e,o))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}clearMapAttachments(){this.cache.clear("map-attachments")}getRelativesForDocument(e,o){return this.cache.get("document-relatives-"+e+"-"+o.join("-"),()=>this.fetchRelativesForDocument(e,o))}getRelativesForTopicInMap(e,o,i){return this.cache.get("topic-relatives-"+[e,o,...i].join("-"),()=>this.fetchRelativesForTopicInMap(e,o,i))}getAttachmentDownloadLink(e){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(e).content}?download=true&locationValue=reader`)}getLink(e,o,i){let n=this.getNavigationData(e,o,i),a=this.getReaderLinkPrefix()+(n.prettyUrl?n.prettyUrl:`${n.mapId}/${n.tocId}`),s=new URL(a,this.api.tenantBaseUrl);return n.page!=null&&s.searchParams.set("page",`${n.page}`),n.prettyUrlDuplicated&&s.searchParams.set("tocId",n.tocId),n.section!=null&&s.searchParams.set("section",n.section),s.href}getNavigationData(e,o,i,n){var a,s;e=e||"root";let c=this.getEnrichedTocNow(n),u=c?.pageByTocId[e],p=c?.nodeByTocId[e],h=p?.prettyUrl;return{mapId:this.mapId,tocId:e,topicTitle:(a=p?.title)!==null&&a!==void 0?a:"",untranslatedTopicTitle:p?.untranslatedTitle,page:o&&u&&u.number!==o?o:void 0,prettyUrl:h?.replace(/^r\//,""),prettyUrlDuplicated:(s=c?.duplicatedPrettyUrls.has(h??""))!==null&&s!==void 0?s:!1,section:i}}async getAccurateNavigationData(e,o,i,n){return await this.getEnrichedToc(n),this.getNavigationData(e,o,i,n)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(e=>e?.publication)}getTopicRating(e){return this.getRatingSummary().then(o=>{var i;return o?{type:o.topics.type,rating:(i=o.topics)===null||i===void 0?void 0:i.ratings.find(n=>n.tocId===e)}:void 0})}rateMap(e,o){return this.makeRateMapRequest(e,o).then(()=>this.clearRatingIfNecessary())}unrateMap(){return this.makeUnrateMapRequest().then(()=>this.clearRatingIfNecessary())}sendMapFeedback(e,o){return this.makeMapFeedbackRequest(e,o)}rateTopic(e,o,i){return this.makeRateTopicRequest(e,o,i).then(()=>this.clearRatingIfNecessary())}unrateTopic(e){return this.makeUnrateTopicRequest(e).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let e=A.getState().session;e?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(e,o,i){return this.makeTopicFeedbackRequest(e,o,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(e,o){let i=this.getTocNodeNow(e,o),n=[{tocId:i.tocId,title:i.title,untranslatedTitle:i.untranslatedTitle}],a=this.getTocNodeNow(i.parentTocId,o);for(;a;)n.unshift({tocId:a.tocId,title:a.title,untranslatedTitle:a.untranslatedTitle}),a=this.getTocNodeNow(a.parentTocId,o);return n}isFeatureAccessible(e,{session:o}){var i;if(!this.isFeatureAvailable(e))return!1;switch(e){case at.FEEDBACK:return Dt(o??[],te.FEEDBACK_USER);case at.RATING:return Dt(o??[],te.RATING_USER);case at.PRINT:return Dt(o??[],te.PRINT_USER);case at.BOOKMARK:return!!o?.sessionAuthenticated;case at.COLLECTIONS:return Dt(o??[],te.COLLECTION_USER);case at.PERSONAL_BOOKS:return Dt(o??[],te.PERSONAL_BOOK_USER)&&!(!((i=this.getMapNow())===null||i===void 0)&&i.pbkConfidential);default:return!1}}makeAbsolute(e){return this.api.makeAbsolute(e)}};var Wi=class t extends zi{static async build(e){return new t(new Hi,void 0,e)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(e,o){let i=await this.api.getMap(e,o);return this.fingerprint=i.fingerprint,i}fetchMapRating(e){return this.api.getMapRating(e)}async fetchPages(e,o){return await this.getMap(o),this.api.getPages(e,this.fingerprint,o)}fetchTopicHTMLContent(e){return this.api.getTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint)}fetchTranslatedTopicHTMLContent(e,o){return this.api.getTranslatedTopicHTMLContent(this.mapId,e.contentId,"DESIGNED_READER",this.fingerprint,o)}fetchTopicMetadata(e){return this.api.getTopic(this.mapId,e.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(e,o){let i={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:e,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(i)}fetchRelativesForTopicInMap(e,o,i){let n={query:"",paging:{page:1,perPage:1},scope:"ALL_TOPICS",metadataFilters:[{key:o,valueFilter:{negative:!1,values:i}},{key:"ft:publicationId",valueFilter:{negative:!1,values:[e]}}],sort:[],facets:[]};return this.api.search(n)}makeMapFeedbackRequest(e,o){return this.api.sendMapFeedback(this.mapId,e,o)}makeRateMapRequest(e,o){return this.api.rateMap(this.mapId,e,o)}makeRateTopicRequest(e,o,i){return this.api.rateTopic(this.mapId,e,o,i)}makeTopicFeedbackRequest(e,o,i){return this.api.sendTopicFeedback(this.mapId,e,o,i)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(e){return this.api.unrateTopic(this.mapId,e)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(e){return!0}};var Gi=class t{static build(e,o){return new t(lu(e.trim()||"context"),o??Wi.build)}loaded(){return(0,Ot.waitUntil)(()=>this._loaded)}constructor(e,o,i){this.store=e,this.clusteringHelperProvider=i,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new Ot.Debouncer(10),this.initService(o)}async initService(e){return this.service=await e(),this.service.mapId=this.store.getState().mapId,this.reload()}async setMapId(e){e!==this.store.getState().mapId&&(this.store.actions.mapId(e),this.service&&(this.service.mapId=e),await this.reload())}setRenderedTopics(e){this.store.actions.renderedTopics(e)}setVisibleTopics(e){this.store.actions.visibleTopics(e)}async awaitService(){return(0,Ot.waitFor)(()=>this.service)}async navigateToTopic(e,o,i){await this.loaded();let n=await this.awaitService(),a=await(i!=null?n.getPage(i,this.getTranslationSettings()):n.getPageByTocId(e??"root",this.getTranslationSettings()));this.store.actions.currentPage(a);let s=this.resolveValidNonRootTocId(e,a);this.store.actions.scrollTarget({tocId:s,section:o}),this.store.getState().visibleTopics[0]!==s&&this.store.actions.visibleTopics([])}resolveValidNonRootTocId(e,o){var i,n,a;let s=(i=e==="root"?void 0:e)!==null&&i!==void 0?i:o.rootTocId;return o.topics.includes(s)?s:(a=(n=o.topics[0])!==null&&n!==void 0?n:o.hiddenTopics[0])!==null&&a!==void 0?a:"root"}async navigateToPage(e){await this.loaded();let i=await(await this.awaitService()).getPage(e,this.getTranslationSettings());this.store.actions.currentPage(i)}scrollDone(){this.store.actions.scrollTarget({})}async load(){var e;!((e=this.service)===null||e===void 0)&&e.mapId&&this.store.getState().map==null&&await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}clear(){var e;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),(e=this.service)===null||e===void 0||e.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(e){var o,i,n,a,s;try{e&&this.setTranslationLoading(!0);let c=u=>{throw e&&this.setTranslationError(!0),u};await Promise.all([this.loadConfiguration(),(o=this.service)===null||o===void 0?void 0:o.getMap(e).then(u=>this.store.actions.map(u)).catch(c),(i=this.service)===null||i===void 0?void 0:i.getToc(e).then(u=>this.store.actions.toc(u)).catch(c),(n=this.service)===null||n===void 0?void 0:n.getPagesToc(e).then(u=>this.store.actions.pagesToc(u)).catch(c),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(u=>this.store.actions.paginationConfiguration(u)).catch(c),(s=this.service)===null||s===void 0?void 0:s.getTranslationError(e).then(u=>this.setTranslationError(u))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0,e&&this.setTranslationLoading(!1)}catch(c){this.errorHandler&&!(c instanceof Ot.CanceledPromiseError)&&this.errorHandler(c)}}loadConfiguration(){var e;return(e=this.service)===null||e===void 0?void 0:e.getConfiguration().then(o=>this.store.actions.configuration(o))}reloadConfiguration(){var e;return(e=this.service)===null||e===void 0||e.clearConfiguration(),this.loadConfiguration()}fetchRelatives(){var e,o;let i=(e=this.store.getState().map)===null||e===void 0?void 0:e.metadata.filter(n=>{var a;return n.key==((a=this.store.getState().configuration)===null||a===void 0?void 0:a.relativePivotMetadata)}).flatMap(n=>n.values);i!==void 0&&i.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument(this.store.getState().configuration.relativePivotMetadata,i).then(n=>{let a=n.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(uo.clusteringHelperCreated))}createClusteringHelper(){var e,o;if(this.clusteringHelperProvider)return this.clusteringHelperProvider();let i=this.store.getState().relatives;if(i){let n=i.find(s=>{var c;return((c=s.map)===null||c===void 0?void 0:c.mapId)==this.store.getState().mapId}),a=(o=(e=A.getState().metadataConfiguration)===null||e===void 0?void 0:e.descriptors)!==null&&o!==void 0?o:[];return new Ot.ClusteringHelper(i,n,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(e){var o,i,n;await this.loaded();let a=await(0,Ot.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,a,[e]);if(!((n=(i=(o=u?.results)===null||o===void 0?void 0:o[0])===null||i===void 0?void 0:i.entries)===null||n===void 0)&&n[0]){let p=u.results[0].entries[0].topic.tocId;return await this.navigateToTopic(p),!0}else return await this.navigateToTopic("root"),!1}setSearchInDocumentQuery(e){this.store.actions.searchInDocumentQuery(e)}async setTranslationDestinationLanguage(e){this.store.actions.setTranslationDestinationLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationSourceLanguage(e){this.store.actions.setTranslationSourceLanguage(e),await this.loadDebouncer.run(()=>this.fetchData(this.getTranslationSettings()))}async setTranslationProfileId(e){this.store.actions.setTranslationProfileId(e)}async setTranslationLoading(e){this.store.actions.setTranslationLoading(e)}async setTranslationError(e){this.store.actions.setTranslationError(e)}getTranslationSettings(){var e;let o=this.store.getState();return o.translation.profileId&&o.translation.destinationLanguage?{profileId:o.translation.profileId,destinationLanguage:o.translation.destinationLanguage.code,sourceLanguage:(e=o.map)===null||e===void 0?void 0:e.lang}:void 0}async fetchMapRating(){var e;this.store.actions.mapRating(await((e=this.service)===null||e===void 0?void 0:e.getMapRating()))}async fetchTopicRating(e){var o;let i=await((o=this.service)===null||o===void 0?void 0:o.getTopicRating(e));i&&this.store.actions.setTopicsRating({[e]:i})}registerMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.add(e),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(e){this.metadataForSwitchToRelatives.delete(e),this.updateClusteringHelper()}getAccurateNavigationData(e,o,i){return this.service.getAccurateNavigationData(e,o?.number,i?.section,this.getTranslationSettings())}buildBreadcrumb(e){var o;return(o=this.service)===null||o===void 0?void 0:o.buildBreadcrumb(e,this.getTranslationSettings())}fetchTopicContent(e){var o,i;let n=this.getTranslationSettings();return n?(o=this.service)===null||o===void 0?void 0:o.getTranslatedTopicContent(e,n).then(a=>(a.isTranslationError&&this.setTranslationError(!0),a.content)):(i=this.service)===null||i===void 0?void 0:i.getTopicContent(e)}getTocNode(e){return this.service.getTocNode(e,this.getTranslationSettings())}getPage(e){return this.service.getPage(e,this.getTranslationSettings())}onMapAttachmentsUpdate(){var e;(e=this.service)===null||e===void 0||e.clearMapAttachments(),this.store.dispatchEvent(new Event(uo.mapAttachmentsUpdate))}};var cu=m(B());var du=cu.css`
|
|
1951
|
+
`;var Vi=class extends CustomEvent{constructor(e,o){super("ft-reader-map-loaded",{detail:{map:e,toc:o}})}},ji=class extends CustomEvent{constructor(e,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},Ki=class extends CustomEvent{constructor(e){super("ft-reader-navigation-done",{detail:e})}},Zi=class extends CustomEvent{constructor(e){super("ft-reader-load-error",{detail:e})}},qi=class extends Event{constructor(){super("ft-reader-map-not-found")}},Yi=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},Xi=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Qi=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Ji=class{constructor(e){this.stateManager=e}searchInDocument(e){this.stateManager.setSearchInDocumentQuery(e??"")}};var tt=function(t,e,o,i){var n=arguments.length,a=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,o):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,o,i);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(a=(n<3?s(a):n>3?s(e,o,a):s(e,o))||a);return n>3&&a&&Object.defineProperty(e,o,a),a},Zp=t=>e=>+(e??"NaN")>0?+e:t,Te=class extends et.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.updateConfiguration=()=>{this.stateManager.reloadConfiguration()},this.scrollToTargetDebouncer=new et.Debouncer(5),this.navigationDebouncer=new et.Debouncer(10),this.mapLoadedEventDebouncer=new et.Debouncer(50),this.addStore(A)}render(){return Mo.html`
|
|
1952
1952
|
${this.importStyleIfNeeded()}
|
|
1953
|
-
<slot @register-ft-reader-component
|
|
1953
|
+
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|
|
1954
1954
|
`}importStyleIfNeeded(){var e,o;let i=(e=this.stateManager.service)===null||e===void 0?void 0:e.themeStylesheet();return!i||window.location.href.startsWith((o=this.baseUrl)!==null&&o!==void 0?o:"")?Mo.nothing:Mo.html`
|
|
1955
1955
|
<style>
|
|
1956
1956
|
@import "${i}"
|