@fluid-topics/ft-reader-feedback 1.2.12 → 1.2.13
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.
|
@@ -1833,7 +1833,7 @@ Also for action icons.`,l.colorGray200),contentGlobalSubtle:r.extend("--ft-conte
|
|
|
1833
1833
|
.variant=${this.iconVariant}
|
|
1834
1834
|
.value=${this.icon}
|
|
1835
1835
|
@click=${()=>{var t;return(t=this.input)===null||t===void 0?void 0:t.focus()}}></ft-icon>
|
|
1836
|
-
`:Yt.nothing}update(t){super.update(t),(t.has("value")||t.has("filterSuggestions"))&&this.filterSuggestionsIfNeeded(),t.has("value")&&t.get("value")!=null&&(this.hideSuggestions=!1),t.has("dispatchedValue")&&t.get("dispatchedValue")!=null&&(this.hideSuggestions=!0)}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.suggestions.forEach(t=>t.hidden=!t.getValue().toLowerCase().includes(this.value.toLowerCase())),this.visibleSuggestions=this.suggestions.filter(t=>!t.hidden)):this.visibleSuggestions=this.suggestions,this.newValueSuggestion&&(this.visibleSuggestions=[...this.visibleSuggestions,this.newValueSuggestion])}contentAvailableCallback(t){super.contentAvailableCallback(t),t.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0&&(this.suggestionsContainer.style.width=this.mainPanel.getBoundingClientRect().width+"px",Uo(this.mainPanel,this.suggestionsContainer,"bottom").then(({x:o,y:i})=>{this.suggestionsContainer.style.left=`${o}px`,this.suggestionsContainer.style.top=`${i}px`}))}setValue(t,o=!1){this.value!==t&&(this.setInternalValue(t),this.dispatchEvent(new CustomEvent("live-change",{detail:t}))),o&&this.dispatchedValue!==t&&(this.dispatchedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t})))}handleInput(t){var o;let i=((o=this.input)===null||o===void 0?void 0:o.value)||"";this.setValue(i,t.key=="Escape"||t.key=="Enter")}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(t){var o;if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation(),this.hideSuggestions=!1;let i=this.visibleSuggestions.findIndex(a=>a.matches(":focus-within")),n;t.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()}(t.key=="Escape"||t.key=="Enter")&&(this.hideSuggestions=!0)}onSuggestionSelected(t){var o;this.setValue(t.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 t,o;!((t=this.mainPanel)===null||t===void 0)&&t.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}};W.elementDefinitions={"ft-input-label":Ht,"ft-ripple":j,"ft-typography":ft,"ft-icon":vt,"ft-text-field-suggestion":le};W.styles=[Lr,qr.noTextInputDefaultClearButton,Yc];q([(0,G.property)()],W.prototype,"label",void 0);q([(0,G.property)({noAccessor:!0})],W.prototype,"value",null);q([(0,G.state)()],W.prototype,"dispatchedValue",void 0);q([(0,G.property)()],W.prototype,"helper",void 0);q([(0,G.property)()],W.prototype,"suggestionsHelper",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"outlined",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"disabled",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"error",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"fixedMenuPosition",void 0);q([(0,G.property)()],W.prototype,"prefix",void 0);q([(0,G.property)()],W.prototype,"icon",void 0);q([(0,G.property)()],W.prototype,"name",void 0);q([(0,G.property)()],W.prototype,"type",void 0);q([(0,G.property)()],W.prototype,"passwordHiddenIcon",void 0);q([(0,G.property)()],W.prototype,"passwordRevealedIcon",void 0);q([(0,G.property)()],W.prototype,"iconVariant",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"filterSuggestions",void 0);q([(0,G.property)({type:Number})],W.prototype,"maxLength",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"password",void 0);q([(0,G.state)()],W.prototype,"focused",void 0);q([(0,G.state)()],W.prototype,"hidePassword",void 0);q([(0,G.state)()],W.prototype,"hideSuggestions",void 0);q([(0,G.state)()],W.prototype,"visibleSuggestions",void 0);q([(0,G.query)(".ft-text-field--main-panel")],W.prototype,"mainPanel",void 0);q([(0,G.query)(".ft-text-field--input")],W.prototype,"input",void 0);q([(0,G.query)(".ft-text-field-suggestion--new-value")],W.prototype,"newValueSuggestion",void 0);q([(0,G.query)(".ft-text-field--suggestions")],W.prototype,"suggestionsContainer",void 0);q([(0,G.queryAssignedElements)({selector:"ft-text-field-suggestion"})],W.prototype,"suggestions",void 0);(0,sa.customElement)("ft-text-field")(W);(0,sa.customElement)("ft-text-field-suggestion")(le);var Id=g(R());var Eo=g(B()),sr=g(Z()),Xt=g(R());var ge=g(R());var rd=g(R()),od=e=>rd.FtReduxStore.get({name:"ft-reader-"+e,initialState:{mapId:void 0,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}});var la=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}}extractPagesToc(t,o,i){return t.flatMap(n=>(n.pageConfiguration&&this.registerPage(this.buildPage(n,i)),n.tocId==null?this.extractPagesToc(n.children,o,i):[{tocId:n.tocId,title:n.title,depth:o,children:this.extractPagesToc(n.children,o+1,n.tocId)}]))}convertNodes(t,o,i){return t.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,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),m=this.convertNodes(n.children,o+1,p.tocId);return p.children=[...h,...m],[p]})}convertSectionNodes(t,o,i){return t.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(t,o){var i,n,a,s,c,u;let p={number:this.pages.length+1,title:(i=t.title)!==null&&i!==void 0?i:"",rootTocId:(n=t.tocId)!==null&&n!==void 0?n:"root",toc:((a=t.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),m=(c=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&c!==void 0?c:[];return p.breadcrumb.forEach((b,x)=>{h(b,m[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}},Ci=class{convertPaginatedToc(t,o){return new la(t,o).build()}};var su=g(nd(),1);var ad;(function(e){e.black="black",e.green="green",e.blue="blue",e.purple="purple",e.red="red",e.orange="orange",e.yellow="yellow"})(ad||(ad={}));var sd;(function(e){e.OFFICIAL="OFFICIAL",e.PERSONAL="PERSONAL",e.SHARED="SHARED"})(sd||(sd={}));var ld;(function(e){e.THIRD_PARTY="THIRD_PARTY",e.OFF_THE_GRID="OFF_THE_GRID",e.CONTENT_PACKAGER="CONTENT_PACKAGER",e.PAGES="PAGES",e.DESIGNED_READER="DESIGNED_READER"})(ld||(ld={}));var cd;(function(e){e.HOMEPAGE="HOMEPAGE",e.CUSTOM="CUSTOM",e.HEADER="HEADER",e.READER="READER",e.TOPIC_TEMPLATE="TOPIC_TEMPLATE",e.SEARCH="SEARCH",e.SEARCH_RESULT="SEARCH_RESULT"})(cd||(cd={}));var dd;(function(e){e.CLASSIC="CLASSIC",e.CUSTOM="CUSTOM",e.DESIGNER="DESIGNER"})(dd||(dd={}));var pd;(function(e){e.AND="AND",e.OR="OR",e.MONOVALUED="MONOVALUED"})(pd||(pd={}));var ud;(function(e){e.NONE="NONE",e.ALPHABET="ALPHABET",e.VERSION="VERSION"})(ud||(ud={}));var Me;(function(e){e.STARS="STARS",e.LIKE="LIKE",e.DICHOTOMOUS="DICHOTOMOUS",e.NO_RATING="NO_RATING"})(Me||(Me={}));var fd;(function(e){e.LAST_WEEK="LAST_WEEK",e.LAST_MONTH="LAST_MONTH",e.LAST_QUARTER="LAST_QUARTER",e.LAST_YEAR="LAST_YEAR",e.CUSTOM="CUSTOM"})(fd||(fd={}));var hd;(function(e){e.ASC="ASC",e.DESC="DESC"})(hd||(hd={}));var yd;(function(e){e.ALPHA="ALPHA",e.NATURAL="NATURAL"})(yd||(yd={}));var md;(function(e){e.EVERYWHERE="EVERYWHERE",e.TITLE_ONLY="TITLE_ONLY",e.NONE="NONE"})(md||(md={}));var gd;(function(e){e.ARTICLE="ARTICLE",e.BOOK="BOOK",e.SHARED_BOOK="SHARED_BOOK"})(gd||(gd={}));var bd;(function(e){e.FLUIDTOPICS="FLUIDTOPICS",e.EXTERNAL="EXTERNAL"})(bd||(bd={}));var vd;(function(e){e.MAP="MAP",e.DOCUMENT="DOCUMENT",e.TOPIC="TOPIC",e.PERSONAL_BOOK="PERSONAL_BOOK",e.SHARED_BOOK="SHARED_BOOK"})(vd||(vd={}));var xd;(function(e){e.LAST_WEEK="LAST_WEEK",e.LAST_MONTH="LAST_MONTH",e.LAST_QUARTER="LAST_QUARTER",e.LAST_YEAR="LAST_YEAR"})(xd||(xd={}));var Sd;(function(e){e.MAP="MAP",e.DOCUMENT="DOCUMENT",e.TOPIC="TOPIC"})(Sd||(Sd={}));var Od;(function(e){e.DEFAULT="DEFAULT",e.DOCUMENTS="DOCUMENTS",e.ALL_TOPICS="ALL_TOPICS"})(Od||(Od={}));var at;(function(e){e.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",e.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",e.HTML_EXPORT_USER="HTML_EXPORT_USER",e.PDF_EXPORT_USER="PDF_EXPORT_USER",e.SAVED_SEARCH_USER="SAVED_SEARCH_USER",e.COLLECTION_USER="COLLECTION_USER",e.OFFLINE_USER="OFFLINE_USER",e.ANALYTICS_USER="ANALYTICS_USER",e.BETA_USER="BETA_USER",e.DEBUG_USER="DEBUG_USER",e.PRINT_USER="PRINT_USER",e.RATING_USER="RATING_USER",e.FEEDBACK_USER="FEEDBACK_USER",e.GENERATIVE_AI_USER="GENERATIVE_AI_USER",e.CONTENT_PUBLISHER="CONTENT_PUBLISHER",e.KHUB_ADMIN="KHUB_ADMIN",e.USERS_ADMIN="USERS_ADMIN",e.PORTAL_ADMIN="PORTAL_ADMIN",e.ADMIN="ADMIN",e.DEVELOPER="DEVELOPER"})(at||(at={}));var Cd;(function(e){e.VALID="VALID",e.INVALID="INVALID"})(Cd||(Cd={}));var wd;(function(e){e.TEXT="TEXT",e.HTML="HTML"})(wd||(wd={}));var au={[at.PERSONAL_BOOK_SHARE_USER]:[at.PERSONAL_BOOK_USER],[at.HTML_EXPORT_USER]:[at.PERSONAL_BOOK_USER],[at.PDF_EXPORT_USER]:[at.PERSONAL_BOOK_USER],[at.KHUB_ADMIN]:[at.CONTENT_PUBLISHER],[at.ADMIN]:[at.KHUB_ADMIN,at.USERS_ADMIN,at.PORTAL_ADMIN],[at.DEVELOPER]:[at.BETA_USER,at.DEBUG_USER]};function Ed(e,t){return e===t||(au[e]??[]).some(o=>Ed(o,t))}function Ar(e,t){return e==null?!1:(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some(i=>Ed(i,t))}var Ai=class extends we{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,i){super(!1,o),this.converter=t,this._mapId=i,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 Ar((o=(t=N.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(n=>this.fetchMapRating(n)):Promise.resolve()})}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getMapNow(){return this.cache.getNow("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var o;return(o=this.enrichedToc)===null||o===void 0?void 0:o.nodeByTocId[t]}getTocNodeNowByUrl(t){var o,i;let n=this.getMapNow();return n?.prettyUrl==t||`${n?.id}/root`===t?(o=this.enrichedToc)===null||o===void 0?void 0:o.toc[0]:(i=this.enrichedToc)===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t){let o=await this.getEnrichedToc();return o.pages[t-1]||o.pages[0]}async getPageByTocId(t){let o=await this.getEnrichedToc();return o.pageByTocId[t]||o.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))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}getRelativesForDocument(t,o){return this.cache.get("document-relatives-"+t+"-"+o.join("-"),()=>this.fetchRelativesForDocument(t,o))}getRelativesForTopicInMap(t,o,i){return this.cache.get("topic-relatives-"+[t,o,...i].join("-"),()=>this.fetchRelativesForTopicInMap(t,o,i))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true`)}getLink(t,o,i){let n=this.getNavigationData(t,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(t,o,i){var n,a;t=t||"root";let s=this.enrichedToc,c=s?.pageByTocId[t],u=s?.nodeByTocId[t],p=u?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(n=u?.title)!==null&&n!==void 0?n:"",page:o&&c&&c.number!==o?o:void 0,prettyUrl:p?.replace(/^r\//,""),prettyUrlDuplicated:(a=s?.duplicatedPrettyUrls.has(p??""))!==null&&a!==void 0?a:!1,section:i}}async getAccurateNavigationData(t,o,i){return await this.getEnrichedToc(),this.getNavigationData(t,o,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(o=>{var i;return o?{type:o.topics.type,rating:(i=o.topics)===null||i===void 0?void 0:i.ratings.find(n=>n.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,i){return this.makeRateTopicRequest(t,o,i).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=N.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,i){return this.makeTopicFeedbackRequest(t,o,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let o=this.getTocNodeNow(t),i=[{tocId:o.tocId,title:o.title}],n=this.getTocNodeNow(o.parentTocId);for(;n;)i.unshift({tocId:n.tocId,title:n.title}),n=this.getTocNodeNow(n.parentTocId);return i}isFeatureAccessible(t,{session:o,ratingType:i}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case oe.FEEDBACK:return Ar(o??[],at.FEEDBACK_USER);case oe.RATING:return Ar(o??[],at.RATING_USER)&&i!=null&&i!==Me.NO_RATING;case oe.PRINT:return Ar(o??[],at.PRINT_USER);case oe.BOOKMARK:return!!o?.sessionAuthenticated;case oe.COLLECTIONS:return Ar(o??[],at.COLLECTION_USER);case oe.PERSONAL_BOOKS:return Ar(o??[],at.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var Ri=class e extends Ai{static async build(t){return new e(new Ci,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){let o=await this.api.getMap(t);return this.fingerprint=o.fingerprint,o}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,o){let i={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(i)}fetchRelativesForTopicInMap(t,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:[t]}}],sort:[],facets:[]};return this.api.search(n)}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,i){return this.api.rateTopic(this.mapId,t,o,i)}makeTopicFeedbackRequest(t,o,i){return this.api.sendTopicFeedback(this.mapId,t,o,i)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var Ii=class e{static build(t,o){return new e(od(t.trim()||"context"),o??Ri.build)}loaded(){return(0,ge.waitUntil)(()=>this._loaded)}constructor(t,o,i){this.store=t,this.clusteringHelperProvider=i,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ge.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())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return(0,ge.waitFor)(()=>this.service)}async navigateToTopic(t,o,i){await this.loaded();let n=await this.awaitService(),a=await(i!=null?n.getPage(i):n.getPageByTocId(t??"root"));this.store.actions.currentPage(a),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,a),section:o})}resolveValidNonRootTocId(t,o){var i,n,a;let s=(i=t==="root"?void 0:t)!==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(t){await this.loaded();let i=await(await this.awaitService()).getPage(t);this.store.actions.currentPage(i)}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())}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),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(){var t,o,i,n,a;try{await Promise.all([(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(s=>this.store.actions.configuration(s)),(o=this.service)===null||o===void 0?void 0:o.getMap().then(s=>this.store.actions.map(s)),(i=this.service)===null||i===void 0?void 0:i.getToc().then(s=>this.store.actions.toc(s)),(n=this.service)===null||n===void 0?void 0:n.getPagesToc().then(s=>this.store.actions.pagesToc(s)),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(s=>this.store.actions.paginationConfiguration(s))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0}catch(s){this.errorHandler&&!(s instanceof ge.CanceledPromiseError)&&this.errorHandler(s)}}fetchRelatives(){var t,o,i;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(a=>{var s;return a.key==((s=this.store.getState().configuration)===null||s===void 0?void 0:s.relativePivotMetadata)}).flatMap(a=>a.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata,n).then(a=>{let s=a.results.flatMap(c=>c.entries);this.store.actions.relatives(s),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new CustomEvent("clustering-helper-created"))}createClusteringHelper(){var t,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=(t=N.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new ge.ClusteringHelper(i,n,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var o,i,n;await this.loaded();let a=await(0,ge.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,[t]);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(t){this.store.actions.searchInDocumentQuery(t)}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}};var Ad=g(B());var Rd=Ad.css`
|
|
1836
|
+
`:Yt.nothing}update(t){super.update(t),(t.has("value")||t.has("filterSuggestions"))&&this.filterSuggestionsIfNeeded(),t.has("value")&&t.get("value")!=null&&(this.hideSuggestions=!1),t.has("dispatchedValue")&&t.get("dispatchedValue")!=null&&(this.hideSuggestions=!0)}filterSuggestionsIfNeeded(){this.filterSuggestions?(this.suggestions.forEach(t=>t.hidden=!t.getValue().toLowerCase().includes(this.value.toLowerCase())),this.visibleSuggestions=this.suggestions.filter(t=>!t.hidden)):this.visibleSuggestions=this.suggestions,this.newValueSuggestion&&(this.visibleSuggestions=[...this.visibleSuggestions,this.newValueSuggestion])}contentAvailableCallback(t){super.contentAvailableCallback(t),t.has("focused")&&!this.hideSuggestions&&this.visibleSuggestions.length>0&&(this.suggestionsContainer.style.width=this.mainPanel.getBoundingClientRect().width+"px",Uo(this.mainPanel,this.suggestionsContainer,"bottom").then(({x:o,y:i})=>{this.suggestionsContainer.style.left=`${o}px`,this.suggestionsContainer.style.top=`${i}px`}))}setValue(t,o=!1){this.value!==t&&(this.setInternalValue(t),this.dispatchEvent(new CustomEvent("live-change",{detail:t}))),o&&this.dispatchedValue!==t&&(this.dispatchedValue=t,this.dispatchEvent(new CustomEvent("change",{detail:t})))}handleInput(t){var o;let i=((o=this.input)===null||o===void 0?void 0:o.value)||"";this.setValue(i,t.key=="Escape"||t.key=="Enter")}handleClick(){this.hideSuggestions=!1}handleKeyboardNavigation(t){var o;if(t.key==="ArrowDown"||t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation(),this.hideSuggestions=!1;let i=this.visibleSuggestions.findIndex(a=>a.matches(":focus-within")),n;t.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()}(t.key=="Escape"||t.key=="Enter")&&(this.hideSuggestions=!0)}onSuggestionSelected(t){var o;this.setValue(t.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 t,o;!((t=this.mainPanel)===null||t===void 0)&&t.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}};W.elementDefinitions={"ft-input-label":Ht,"ft-ripple":j,"ft-typography":ft,"ft-icon":vt,"ft-text-field-suggestion":le};W.styles=[Lr,qr.noTextInputDefaultClearButton,Yc];q([(0,G.property)()],W.prototype,"label",void 0);q([(0,G.property)({noAccessor:!0})],W.prototype,"value",null);q([(0,G.state)()],W.prototype,"dispatchedValue",void 0);q([(0,G.property)()],W.prototype,"helper",void 0);q([(0,G.property)()],W.prototype,"suggestionsHelper",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"outlined",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"disabled",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"error",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"fixedMenuPosition",void 0);q([(0,G.property)()],W.prototype,"prefix",void 0);q([(0,G.property)()],W.prototype,"icon",void 0);q([(0,G.property)()],W.prototype,"name",void 0);q([(0,G.property)()],W.prototype,"type",void 0);q([(0,G.property)()],W.prototype,"passwordHiddenIcon",void 0);q([(0,G.property)()],W.prototype,"passwordRevealedIcon",void 0);q([(0,G.property)()],W.prototype,"iconVariant",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"filterSuggestions",void 0);q([(0,G.property)({type:Number})],W.prototype,"maxLength",void 0);q([(0,G.property)({type:Boolean})],W.prototype,"password",void 0);q([(0,G.state)()],W.prototype,"focused",void 0);q([(0,G.state)()],W.prototype,"hidePassword",void 0);q([(0,G.state)()],W.prototype,"hideSuggestions",void 0);q([(0,G.state)()],W.prototype,"visibleSuggestions",void 0);q([(0,G.query)(".ft-text-field--main-panel")],W.prototype,"mainPanel",void 0);q([(0,G.query)(".ft-text-field--input")],W.prototype,"input",void 0);q([(0,G.query)(".ft-text-field-suggestion--new-value")],W.prototype,"newValueSuggestion",void 0);q([(0,G.query)(".ft-text-field--suggestions")],W.prototype,"suggestionsContainer",void 0);q([(0,G.queryAssignedElements)({selector:"ft-text-field-suggestion"})],W.prototype,"suggestions",void 0);(0,sa.customElement)("ft-text-field")(W);(0,sa.customElement)("ft-text-field-suggestion")(le);var Id=g(R());var Eo=g(B()),sr=g(Z()),Xt=g(R());var ge=g(R());var rd=g(R()),od=e=>rd.FtReduxStore.get({name:"ft-reader-"+e,initialState:{mapId:void 0,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}});var la=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}}extractPagesToc(t,o,i){return t.flatMap(n=>(n.pageConfiguration&&this.registerPage(this.buildPage(n,i)),n.tocId==null?this.extractPagesToc(n.children,o,i):[{tocId:n.tocId,title:n.title,depth:o,children:this.extractPagesToc(n.children,o+1,n.tocId)}]))}convertNodes(t,o,i){return t.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,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),m=this.convertNodes(n.children,o+1,p.tocId);return p.children=[...h,...m],[p]})}convertSectionNodes(t,o,i){return t.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(t,o){var i,n,a,s,c,u;let p={number:this.pages.length+1,title:(i=t.title)!==null&&i!==void 0?i:"",rootTocId:(n=t.tocId)!==null&&n!==void 0?n:"root",toc:((a=t.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),m=(c=(s=t.pageConfiguration)===null||s===void 0?void 0:s.parentsVisibility)!==null&&c!==void 0?c:[];return p.breadcrumb.forEach((b,x)=>{h(b,m[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}},Ci=class{convertPaginatedToc(t,o){return new la(t,o).build()}};var su=g(nd(),1);var ad;(function(e){e.black="black",e.green="green",e.blue="blue",e.purple="purple",e.red="red",e.orange="orange",e.yellow="yellow"})(ad||(ad={}));var sd;(function(e){e.OFFICIAL="OFFICIAL",e.PERSONAL="PERSONAL",e.SHARED="SHARED"})(sd||(sd={}));var ld;(function(e){e.THIRD_PARTY="THIRD_PARTY",e.OFF_THE_GRID="OFF_THE_GRID",e.CONTENT_PACKAGER="CONTENT_PACKAGER",e.PAGES="PAGES",e.DESIGNED_READER="DESIGNED_READER"})(ld||(ld={}));var cd;(function(e){e.HOMEPAGE="HOMEPAGE",e.CUSTOM="CUSTOM",e.HEADER="HEADER",e.READER="READER",e.TOPIC_TEMPLATE="TOPIC_TEMPLATE",e.SEARCH="SEARCH",e.SEARCH_RESULT="SEARCH_RESULT"})(cd||(cd={}));var dd;(function(e){e.CLASSIC="CLASSIC",e.CUSTOM="CUSTOM",e.DESIGNER="DESIGNER"})(dd||(dd={}));var pd;(function(e){e.AND="AND",e.OR="OR",e.MONOVALUED="MONOVALUED"})(pd||(pd={}));var ud;(function(e){e.NONE="NONE",e.ALPHABET="ALPHABET",e.VERSION="VERSION"})(ud||(ud={}));var Me;(function(e){e.STARS="STARS",e.LIKE="LIKE",e.DICHOTOMOUS="DICHOTOMOUS",e.NO_RATING="NO_RATING"})(Me||(Me={}));var fd;(function(e){e.LAST_WEEK="LAST_WEEK",e.LAST_MONTH="LAST_MONTH",e.LAST_QUARTER="LAST_QUARTER",e.LAST_YEAR="LAST_YEAR",e.CUSTOM="CUSTOM"})(fd||(fd={}));var hd;(function(e){e.ASC="ASC",e.DESC="DESC"})(hd||(hd={}));var yd;(function(e){e.ALPHA="ALPHA",e.NATURAL="NATURAL"})(yd||(yd={}));var md;(function(e){e.EVERYWHERE="EVERYWHERE",e.TITLE_ONLY="TITLE_ONLY",e.NONE="NONE"})(md||(md={}));var gd;(function(e){e.ARTICLE="ARTICLE",e.BOOK="BOOK",e.SHARED_BOOK="SHARED_BOOK"})(gd||(gd={}));var bd;(function(e){e.FLUIDTOPICS="FLUIDTOPICS",e.EXTERNAL="EXTERNAL"})(bd||(bd={}));var vd;(function(e){e.MAP="MAP",e.DOCUMENT="DOCUMENT",e.TOPIC="TOPIC",e.PERSONAL_BOOK="PERSONAL_BOOK",e.SHARED_BOOK="SHARED_BOOK"})(vd||(vd={}));var xd;(function(e){e.LAST_WEEK="LAST_WEEK",e.LAST_MONTH="LAST_MONTH",e.LAST_QUARTER="LAST_QUARTER",e.LAST_YEAR="LAST_YEAR"})(xd||(xd={}));var Sd;(function(e){e.MAP="MAP",e.DOCUMENT="DOCUMENT",e.TOPIC="TOPIC"})(Sd||(Sd={}));var Od;(function(e){e.DEFAULT="DEFAULT",e.DOCUMENTS="DOCUMENTS",e.ALL_TOPICS="ALL_TOPICS",e.TOPICS_AND_UNSTRUCTURED_DOCUMENTS="TOPICS_AND_UNSTRUCTURED_DOCUMENTS"})(Od||(Od={}));var at;(function(e){e.PERSONAL_BOOK_USER="PERSONAL_BOOK_USER",e.PERSONAL_BOOK_SHARE_USER="PERSONAL_BOOK_SHARE_USER",e.HTML_EXPORT_USER="HTML_EXPORT_USER",e.PDF_EXPORT_USER="PDF_EXPORT_USER",e.SAVED_SEARCH_USER="SAVED_SEARCH_USER",e.COLLECTION_USER="COLLECTION_USER",e.OFFLINE_USER="OFFLINE_USER",e.ANALYTICS_USER="ANALYTICS_USER",e.BETA_USER="BETA_USER",e.DEBUG_USER="DEBUG_USER",e.PRINT_USER="PRINT_USER",e.RATING_USER="RATING_USER",e.FEEDBACK_USER="FEEDBACK_USER",e.GENERATIVE_AI_USER="GENERATIVE_AI_USER",e.CONTENT_PUBLISHER="CONTENT_PUBLISHER",e.KHUB_ADMIN="KHUB_ADMIN",e.USERS_ADMIN="USERS_ADMIN",e.PORTAL_ADMIN="PORTAL_ADMIN",e.ADMIN="ADMIN",e.DEVELOPER="DEVELOPER"})(at||(at={}));var Cd;(function(e){e.VALID="VALID",e.INVALID="INVALID"})(Cd||(Cd={}));var wd;(function(e){e.TEXT="TEXT",e.HTML="HTML"})(wd||(wd={}));var au={[at.PERSONAL_BOOK_SHARE_USER]:[at.PERSONAL_BOOK_USER],[at.HTML_EXPORT_USER]:[at.PERSONAL_BOOK_USER],[at.PDF_EXPORT_USER]:[at.PERSONAL_BOOK_USER],[at.KHUB_ADMIN]:[at.CONTENT_PUBLISHER],[at.ADMIN]:[at.KHUB_ADMIN,at.USERS_ADMIN,at.PORTAL_ADMIN],[at.DEVELOPER]:[at.BETA_USER,at.DEBUG_USER]};function Ed(e,t){return e===t||(au[e]??[]).some(o=>Ed(o,t))}function Ar(e,t){return e==null?!1:(Array.isArray(e)?e:Array.isArray(e.roles)?e.roles:Array.isArray(e.profile?.roles)?e.profile.roles:[]).some(i=>Ed(i,t))}var Ai=class extends we{get mapId(){return this._mapId}set mapId(t){t!==this._mapId&&this.clear(),this._mapId=t}constructor(t,o,i){super(!1,o),this.converter=t,this._mapId=i,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 Ar((o=(t=N.getState().session)===null||t===void 0?void 0:t.profile.roles)!==null&&o!==void 0?o:[],"RATING_USER")?this.withMapId(n=>this.fetchMapRating(n)):Promise.resolve()})}clear(){this.cache.clearAll()}getMap(){return this.cache.get("map")}getMapNow(){return this.cache.getNow("map")}getConfiguration(){return this.cache.get("configuration")}getEnrichedToc(){return this.cache.get("enrichedToc")}get enrichedToc(){return this.cache.getNow("enrichedToc")}async getPaginationConfiguration(){return(await this.getEnrichedToc()).paginationConfiguration}async getToc(){return(await this.getEnrichedToc()).toc}async getPagesToc(){return(await this.getEnrichedToc()).pagesToc}async getTocNode(t){return(await this.getEnrichedToc()).nodeByTocId[t]}getTocNodeNow(t){var o;return(o=this.enrichedToc)===null||o===void 0?void 0:o.nodeByTocId[t]}getTocNodeNowByUrl(t){var o,i;let n=this.getMapNow();return n?.prettyUrl==t||`${n?.id}/root`===t?(o=this.enrichedToc)===null||o===void 0?void 0:o.toc[0]:(i=this.enrichedToc)===null||i===void 0?void 0:i.nodeByUrl[t]}async getPage(t){let o=await this.getEnrichedToc();return o.pages[t-1]||o.pages[0]}async getPageByTocId(t){let o=await this.getEnrichedToc();return o.pageByTocId[t]||o.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))}getAttachments(){return this.cache.get("map-attachments",()=>this.fetchAttachments())}getRelativesForDocument(t,o){return this.cache.get("document-relatives-"+t+"-"+o.join("-"),()=>this.fetchRelativesForDocument(t,o))}getRelativesForTopicInMap(t,o,i){return this.cache.get("topic-relatives-"+[t,o,...i].join("-"),()=>this.fetchRelativesForTopicInMap(t,o,i))}getAttachmentDownloadLink(t){return this.makeAbsolute(`${this.api.endpoints.khub.maps.mapId(this.mapId).attachments.attachmentId(t).content}?download=true`)}getLink(t,o,i){let n=this.getNavigationData(t,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(t,o,i){var n,a;t=t||"root";let s=this.enrichedToc,c=s?.pageByTocId[t],u=s?.nodeByTocId[t],p=u?.prettyUrl;return{mapId:this.mapId,tocId:t,topicTitle:(n=u?.title)!==null&&n!==void 0?n:"",page:o&&c&&c.number!==o?o:void 0,prettyUrl:p?.replace(/^r\//,""),prettyUrlDuplicated:(a=s?.duplicatedPrettyUrls.has(p??""))!==null&&a!==void 0?a:!1,section:i}}async getAccurateNavigationData(t,o,i){return await this.getEnrichedToc(),this.getNavigationData(t,o,i)}getRatingSummary(){return this.cache.get("ratingSummary")}reloadRating(){return this.cache.clear("ratingSummary"),this.getRatingSummary()}getMapRating(){return this.getRatingSummary().then(t=>t?.publication)}getTopicRating(t){return this.getRatingSummary().then(o=>{var i;return o?{type:o.topics.type,rating:(i=o.topics)===null||i===void 0?void 0:i.ratings.find(n=>n.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,i){return this.makeRateTopicRequest(t,o,i).then(()=>this.clearRatingIfNecessary())}unrateTopic(t){return this.makeUnrateTopicRequest(t).then(()=>this.clearRatingIfNecessary())}async clearRatingIfNecessary(){let t=N.getState().session;t?.sessionAuthenticated&&this.cache.clear("ratingSummary")}sendTopicFeedback(t,o,i){return this.makeTopicFeedbackRequest(t,o,i)}fontsStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.fonts)}themeStylesheet(){return this.api.makeAbsolute(this.api.endpoints.stylesheets.theme)}buildBreadcrumb(t){let o=this.getTocNodeNow(t),i=[{tocId:o.tocId,title:o.title}],n=this.getTocNodeNow(o.parentTocId);for(;n;)i.unshift({tocId:n.tocId,title:n.title}),n=this.getTocNodeNow(n.parentTocId);return i}isFeatureAccessible(t,{session:o,ratingType:i}){var n;if(!this.isFeatureAvailable(t))return!1;switch(t){case oe.FEEDBACK:return Ar(o??[],at.FEEDBACK_USER);case oe.RATING:return Ar(o??[],at.RATING_USER)&&i!=null&&i!==Me.NO_RATING;case oe.PRINT:return Ar(o??[],at.PRINT_USER);case oe.BOOKMARK:return!!o?.sessionAuthenticated;case oe.COLLECTIONS:return Ar(o??[],at.COLLECTION_USER);case oe.PERSONAL_BOOKS:return Ar(o??[],at.PERSONAL_BOOK_USER)&&!(!((n=this.getMapNow())===null||n===void 0)&&n.pbkConfidential);default:return!1}}makeAbsolute(t){return this.api.makeAbsolute(t)}};var Ri=class e extends Ai{static async build(t){return new e(new Ci,void 0,t)}clear(){super.clear(),this.fingerprint=void 0}async fetchMap(t){let o=await this.api.getMap(t);return this.fingerprint=o.fingerprint,o}fetchMapRating(t){return this.api.getMapRating(t)}async fetchPages(t){return await this.getMap(),this.api.getPages(t,this.fingerprint)}fetchTopicHTMLContent(t){return this.api.getTopicHTMLContent(this.mapId,t.contentId,"DESIGNED_READER",this.fingerprint)}fetchTopicMetadata(t){return this.api.getTopic(this.mapId,t.contentId,this.fingerprint)}fetchAttachments(){return this.api.getMapAttachments(this.mapId).catch(()=>[])}fetchRelativesForDocument(t,o){let i={query:"",paging:{page:1,perPage:-1},scope:"DOCUMENTS",metadataFilters:[{key:t,valueFilter:{negative:!1,values:o}}],sort:[],facets:[]};return this.api.search(i)}fetchRelativesForTopicInMap(t,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:[t]}}],sort:[],facets:[]};return this.api.search(n)}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,i){return this.api.rateTopic(this.mapId,t,o,i)}makeTopicFeedbackRequest(t,o,i){return this.api.sendTopicFeedback(this.mapId,t,o,i)}makeUnrateMapRequest(){return this.api.unrateMap(this.mapId)}makeUnrateTopicRequest(t){return this.api.unrateTopic(this.mapId,t)}getReaderLinkPrefix(){return"r/"}isFeatureAvailable(t){return!0}};var Ii=class e{static build(t,o){return new e(od(t.trim()||"context"),o??Ri.build)}loaded(){return(0,ge.waitUntil)(()=>this._loaded)}constructor(t,o,i){this.store=t,this.clusteringHelperProvider=i,this.metadataForSwitchToRelatives=new Set,this._loaded=!1,this.loadDebouncer=new ge.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())}setVisibleTopics(t){this.store.actions.visibleTopics(t)}async awaitService(){return(0,ge.waitFor)(()=>this.service)}async navigateToTopic(t,o,i){await this.loaded();let n=await this.awaitService(),a=await(i!=null?n.getPage(i):n.getPageByTocId(t??"root"));this.store.actions.currentPage(a),this.store.actions.scrollTarget({tocId:this.resolveValidNonRootTocId(t,a),section:o})}resolveValidNonRootTocId(t,o){var i,n,a;let s=(i=t==="root"?void 0:t)!==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(t){await this.loaded();let i=await(await this.awaitService()).getPage(t);this.store.actions.currentPage(i)}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())}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),(t=this.service)===null||t===void 0||t.clear(),this.clusteringHelper=void 0}reload(){return this.clear(),this.load()}async fetchData(){var t,o,i,n,a;try{await Promise.all([(t=this.service)===null||t===void 0?void 0:t.getConfiguration().then(s=>this.store.actions.configuration(s)),(o=this.service)===null||o===void 0?void 0:o.getMap().then(s=>this.store.actions.map(s)),(i=this.service)===null||i===void 0?void 0:i.getToc().then(s=>this.store.actions.toc(s)),(n=this.service)===null||n===void 0?void 0:n.getPagesToc().then(s=>this.store.actions.pagesToc(s)),(a=this.service)===null||a===void 0?void 0:a.getPaginationConfiguration().then(s=>this.store.actions.paginationConfiguration(s))]),this.metadataForSwitchToRelatives.size>0&&this.fetchRelatives(),this._loaded=!0}catch(s){this.errorHandler&&!(s instanceof ge.CanceledPromiseError)&&this.errorHandler(s)}}fetchRelatives(){var t,o,i;let n=(t=this.store.getState().map)===null||t===void 0?void 0:t.metadata.filter(a=>{var s;return a.key==((s=this.store.getState().configuration)===null||s===void 0?void 0:s.relativePivotMetadata)}).flatMap(a=>a.values);n!==void 0&&n.length>0?(o=this.service)===null||o===void 0||o.getRelativesForDocument((i=this.store.getState().configuration)===null||i===void 0?void 0:i.relativePivotMetadata,n).then(a=>{let s=a.results.flatMap(c=>c.entries);this.store.actions.relatives(s),this.updateClusteringHelper()}):this.updateClusteringHelper()}updateClusteringHelper(){this.clusteringHelper=this.createClusteringHelper(),this.clusteringHelper&&this.store.dispatchEvent(new CustomEvent("clustering-helper-created"))}createClusteringHelper(){var t,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=(t=N.getState().metadataConfiguration)===null||t===void 0?void 0:t.descriptors)!==null&&o!==void 0?o:[];return new ge.ClusteringHelper(i,n,this.metadataForSwitchToRelatives,a)}}async navigateToRelativeTopicIfFound(t){var o,i,n;await this.loaded();let a=await(0,ge.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,[t]);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(t){this.store.actions.searchInDocumentQuery(t)}registerMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.add(t),this.store.getState().relatives==null?this.fetchRelatives():this.updateClusteringHelper()}unregisterMetadataForSwitchToRelatives(t){this.metadataForSwitchToRelatives.delete(t),this.updateClusteringHelper()}};var Ad=g(B());var Rd=Ad.css`
|
|
1837
1837
|
`;var Ni=class extends CustomEvent{constructor(t,o){super("ft-reader-map-loaded",{detail:{map:t,toc:o}})}},Ti=class extends CustomEvent{constructor(t,o){super("ft-reader-visible-topics-change",{detail:{visibleTopics:o}})}},_i=class extends CustomEvent{constructor(t){super("ft-reader-navigation-done",{detail:t})}},ki=class extends CustomEvent{constructor(t){super("ft-reader-load-error",{detail:t})}},Li=class extends Event{constructor(){super("ft-reader-map-not-found")}},Pi=class extends Event{constructor(){super("ft-reader-map-unauthorized")}},$i=class extends Event{constructor(){super("ft-reader-map-forbidden")}},Di=class extends Event{constructor(){super("ft-reader-topic-relative-not-found",{bubbles:!0,composed:!0})}};var Bi=class{constructor(t){this.stateManager=t}searchInDocument(t){this.stateManager.setSearchInDocumentQuery(t??"")}};var Qt=function(e,t,o,i){var n=arguments.length,a=n<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,o):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(e,t,o,i);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(a=(n<3?s(a):n>3?s(t,o,a):s(t,o))||a);return n>3&&a&&Object.defineProperty(t,o,a),a},lu=e=>t=>+(t??"NaN")>0?+t:e,wt=class extends Xt.FtLitElementRedux{constructor(){super(),this.visibleTopics=[],this.scrollToTargetDebouncer=new Xt.Debouncer(5),this.navigationDebouncer=new Xt.Debouncer(10),this.mapLoadedEventDebouncer=new Xt.Debouncer(50),this.addStore(N)}render(){return Eo.html`
|
|
1838
1838
|
${this.importStyleIfNeeded()}
|
|
1839
1839
|
<slot @register-ft-reader-component=${this.registerComponent}></slot>
|