@qaecy/cue-ui 0.0.34 → 0.0.36

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.
package/382.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkcue_ui=self.webpackChunkcue_ui||[]).push([[382],{2382(P,f,r){r.d(f,{CueDocumentList:()=>A});var p=r(467),a=r(7705),c=r(5802),h=r(2271),C=r(8611),v=r(2065),w=r(4372),O=r(5381),b=r(2245),o=r(5547);function M(i,E){if(1&i&&(o.j41(0,"cue-flexcontainer",0)(1,"cue-typography",2),o.EFF(2),o.k0s()()),2&i){const t=o.XpG();o.R7$(2),o.SpI(" ",t.errorMessage()," ")}}function I(i,E){if(1&i){const t=o.RV6();o.j41(0,"cue-doc-list",3),o.bIt("clickedDocument",function(s){c.eBV(t);const n=o.XpG();return c.Njj(n.clickedDocument.emit(s))})("clickedDownloadDocument",function(s){c.eBV(t);const n=o.XpG();return c.Njj(n.clickedDownloadDocument.emit(s))})("clickedOpenInDir",function(s){c.eBV(t);const n=o.XpG();return c.Njj(n.clickedOpenInDir.emit(s))})("clickedOpen",function(s){c.eBV(t);const n=o.XpG();return c.Njj(n.clickedOpen.emit(s))}),o.k0s()}if(2&i){const t=o.XpG();o.Y8G("documentRefs",t.documentRefs())("documentData",t.documentData())("handlers",t.handlers())("availableContentCategories",t.availableContentCategories())("detailedView",t.detailedView())("simple",t.simple())("pageSize",t.pageSize())("prefetchPages",t.prefetchPages())("showOpenInDocumentViewerAction",t.showOpenInDocumentViewerAction())("showOpenInFileManagerAction",t.showOpenInFileManagerAction())("customOverlayActions",t.customOverlayActions())("variant",t.variant())}}function D(i){return i.split("?")[0].trim()}let A=(()=>{class i{projectId=(0,a.hFB)(void 0);uuids=(0,a.hFB)([]);sdkState=(0,a.hFB)(void 0);detailedView=(0,a.hFB)(!1);simple=(0,a.hFB)(!1);pageSize=(0,a.hFB)(10);prefetchPages=(0,a.hFB)(3);showOpenInDocumentViewerAction=(0,a.hFB)(!1);showOpenInFileManagerAction=(0,a.hFB)(!1);customMenuItems=(0,a.hFB)([]);variant=(0,a.hFB)("none");clickedDocument=(0,a.CGW)();clickedDownloadDocument=(0,a.CGW)();clickedOpenInDir=(0,a.CGW)();clickedOpen=(0,a.CGW)();state=(0,c.vPA)("idle");errorMessage=(0,c.vPA)(null);documentData=(0,c.vPA)({});availableContentCategories=(0,c.vPA)(void 0);documentRefs=(0,h.EW)(()=>{const t=new Set;return(this.uuids()??[]).map(D).filter(e=>!!e).filter(e=>!t.has(e)&&(t.add(e),!0)).map(e=>({id:e}))});customOverlayActions=(0,h.EW)(()=>(this.customMenuItems()||[]).map(e=>({label:e.label,icon:e.icon,action:s=>{e.action(s.rowData,s)}})));handlers=(0,h.EW)(()=>{var t=this;const e=this._docs();if(e)return{requestData:(s=(0,p.A)(function*(n){const m=n.map(D).filter(u=>!!u),d=m.filter(u=>!t.documentData()[u]);if(console.debug("[CueDocumentListWC] requestData",{requestedCount:m.length,missingCount:d.length,missing:d}),d.length)try{const u=e,l=t.simple()&&u.fetchDocumentDataSimple?yield u.fetchDocumentDataSimple(d):yield e.fetchDocumentData(d);console.debug("[CueDocumentListWC] fetchDocumentData resolved",{fetchedCount:Object.keys(l).length,ids:Object.keys(l)});const g={};Object.values(l).forEach(_=>{g[_.id]=function y(i){return{id:i.id,path:i.path,suffix:i.suffix,size:i.size,contentIRI:i.contentIRI,providerId:i.providerId,tags:i.tags??[],summary:i.summary??"",categories:i.categories??[],subject:i.subject,relevance:0}}(_)}),Object.keys(g).length>0&&t.documentData.update(_=>({..._,...g}))}catch(u){console.error("[CueDocumentListWC] Failed to fetch document data:",u),t.errorMessage.set(u instanceof Error?u.message:String(u)),t.state.set("error")}}),function(m){return s.apply(this,arguments)}),requestDownload:function(){var s=(0,p.A)(function*(n){const m=t._cue(),d=t.projectId();if(m&&d)try{const u=yield m.storage.getDownloadUrl(d,n.id,n.suffix,"raw"),l=yield fetch(u);if(!l.ok)throw new Error(`Download failed: ${l.status} ${l.statusText}`);const g=yield l.blob(),_=(0,w.M)(n.path)||`${n.id}${n.suffix||""}`;(0,v.KE)(g,_)}catch(u){console.error("[CueDocumentListWC] Failed to download document:",u)}});return function(m){return s.apply(this,arguments)}}(),requestOpen:(s,n)=>{console.log("[CueDocumentListWC] requestOpen",{documentUUID:s,document:n})},requestOpenInDir:(s,n)=>{console.log("[CueDocumentListWC] requestOpenInDir",{documentUUID:s,document:n})}};var s});_cue=(0,c.vPA)(void 0);_docs=(0,c.vPA)(void 0);_ownedView;_unsubscribeCategories;_lastSetupSignature;constructor(){(0,c.QZP)(()=>{const t=this.projectId(),e=this.sdkState(),s=e?.language??"en";if(console.debug("[CueDocumentListWC] input state changed",{projectId:t,uuids:this.uuids().length,hasSdkState:!!e,hasCue:!!e?.cue,hasView:!!e?.view,hasDocuments:!!e?.documents}),!t||!e)return this._clearRuntimeState(),void this.state.set("idle");const n={projectId:t,cue:e.cue,view:e.view,documents:e.documents,language:s,simple:this.simple()};if(this._isSameSetupSignature(n))return this.state.set("ready"),void this.errorMessage.set(null);this._setupFromSdkState(t,e),this._lastSetupSignature=n,this.state.set("ready"),this.errorMessage.set(null)}),(0,c.QZP)(()=>{const t=new Set(this.documentRefs().map(e=>e.id));this.documentData.update(e=>Object.fromEntries(Object.entries(e).filter(([n])=>t.has(n))))})}ngOnDestroy(){this._cleanupOwnedView(),this._unsubscribeCategories?.(),this._unsubscribeCategories=void 0}_setupFromSdkState(t,e){const s=e.language??"en";if(this.documentData.set({}),this._cleanupOwnedView(),this._unsubscribeCategories?.(),this._unsubscribeCategories=void 0,this.availableContentCategories.set(e.availableContentCategories?e.availableContentCategories:void 0),e.documents)return e.documents.setLanguage(s),this._docs.set(e.documents),void this._cue.set(e.cue);if(e.view)return e.view.setLanguage(s),this._docs.set(e.view.documents),this._cue.set(e.cue),void(this.simple()||this._bindCategoriesFromView(e.view));if(e.cue){if(this.simple())return this._docs.set(e.cue.createProjectDocuments(t)),this._cue.set(e.cue),void this.availableContentCategories.set(void 0);const n=e.cue.createProjectView(t,{language:s});return this._ownedView=n,this._docs.set(n.documents),this._cue.set(e.cue),void this._bindCategoriesFromView(n)}this._docs.set(void 0),this._cue.set(void 0),this.errorMessage.set("sdkState must include cue, view, or documents to load data."),this.state.set("error")}_bindCategoriesFromView(t){const e=()=>{this.availableContentCategories.set(t.availableContentCategories.get())};e(),this._unsubscribeCategories=t.availableContentCategories.subscribe(e)}_clearRuntimeState(){this._cleanupOwnedView(),this._unsubscribeCategories?.(),this._unsubscribeCategories=void 0,this._docs.set(void 0),this._cue.set(void 0),this.documentData.set({}),this.availableContentCategories.set(void 0),this.errorMessage.set(null),this._lastSetupSignature=void 0}_cleanupOwnedView(){this._ownedView&&(this._ownedView.destroy(),this._ownedView=void 0)}_isSameSetupSignature(t){const e=this._lastSetupSignature;return!!e&&e.projectId===t.projectId&&e.cue===t.cue&&e.view===t.view&&e.documents===t.documents&&e.language===t.language&&e.simple===t.simple}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=o.VBU({type:i,selectors:[["cue-document-list"]],inputs:{projectId:[1,"projectId"],uuids:[1,"uuids"],sdkState:[1,"sdkState"],detailedView:[1,"detailedView"],simple:[1,"simple"],pageSize:[1,"pageSize"],prefetchPages:[1,"prefetchPages"],showOpenInDocumentViewerAction:[1,"showOpenInDocumentViewerAction"],showOpenInFileManagerAction:[1,"showOpenInFileManagerAction"],customMenuItems:[1,"customMenuItems"],variant:[1,"variant"]},outputs:{clickedDocument:"clickedDocument",clickedDownloadDocument:"clickedDownloadDocument",clickedOpenInDir:"clickedOpenInDir",clickedOpen:"clickedOpen"},decls:2,vars:1,consts:[["direction","column","align","center","justify","center",2,"height","100%","width","100%","padding","8px"],[3,"documentRefs","documentData","handlers","availableContentCategories","detailedView","simple","pageSize","prefetchPages","showOpenInDocumentViewerAction","showOpenInFileManagerAction","customOverlayActions","variant"],[2,"color","#c44","font-size","13px"],[3,"clickedDocument","clickedDownloadDocument","clickedOpenInDir","clickedOpen","documentRefs","documentData","handlers","availableContentCategories","detailedView","simple","pageSize","prefetchPages","showOpenInDocumentViewerAction","showOpenInFileManagerAction","customOverlayActions","variant"]],template:function(e,s){1&e&&o.nVh(0,M,3,1,"cue-flexcontainer",0)(1,I,1,12,"cue-doc-list",1),2&e&&o.vxM("error"===s.state()?0:1)},dependencies:[C.g,O.n,b.Typography],styles:["[_nghost-%COMP%]{display:block;width:100%}"],changeDetection:0})}return i})()}}]);
package/493.js CHANGED
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkcue_ui=self.webpackChunkcue_ui||[]).push([[493],{8493(te,M,l){l.d(M,{CueEntityList:()=>K});var c=l(7705),g=l(2271),r=l(5802),D=l(467),x=l(6950),f=l(9352),E=l(1951),k=l(6455),S=l(8334),B=l(5949),T=l(2843),I=l(3646),P=l(8017),L=l(2306),N=l(6103);let v=(()=>{class o{mapboxToken=(0,r.vPA)(void 0);entityData=(0,r.vPA)({});availableEntityRelationships=(0,r.vPA)([]);settings=(0,g.EW)(()=>{const e=this.mapboxToken();if(!e)return;const n=new L.yY;return n.mapboxToken=e,n.contextMenu.showFlyTo=!1,n.contextMenu.showProperties=!1,n});layers=(0,g.EW)(()=>{const e=this.entityData(),n=this.availableEntityRelationships();return(0,N.N)({entityData:e,availableEntityRelationships:n})});static \u0275fac=function(n){return new(n||o)};static \u0275prov=r.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var R=l(3183),A=l(5902);let C=(()=>{class o{entities=(0,r.vPA)([]);entityData=(0,r.vPA)({});orderByMentionCount=(0,r.vPA)(!1);availableEntityCategories=(0,r.vPA)(void 0);labelValue=(0,f.Xx)("components.entityList.labelValue");labelCategories=(0,f.Xx)("components.entityList.labelCategories");labelMentions=(0,f.Xx)("components.entityList.labelMentionCount");_filterChangeCounter=(0,r.vPA)(0);filterChangeCounter=this._filterChangeCounter.asReadonly();onFilterChanged(){this._filterChangeCounter.update(e=>e+1)}columnDefs=(0,g.EW)(()=>{const e=[{field:"value",headerName:this.labelValue(),flex:2,filter:A.U,valueGetter:n=>!n.data?.value&&n.data?.loading?"Loading...":n.data?.value||n.data?.entity},{field:"categories",headerName:this.labelCategories(),flex:1.5,filter:R.A,valueGetter:n=>{const i=n.data?.categories;if(!i)return n.data?.loading?"...":"";const a=Array.isArray(i)?i:[i],s=this._leafEntityCategoryIris();return(s?a.filter(u=>s.has(u)):a).map(u=>this._getEntityCategoryLabel(u)).join(", ")}}];return this.orderByMentionCount()&&e.push({field:"mentionCount",headerName:this.labelMentions(),flex:1,filter:"agNumberColumnFilter",valueGetter:n=>{const i=n.data;if(i?.loading)return"...";const a=i?.mentionCount??0;return a>0?a:""},cellStyle:{textAlign:"center"}}),e});rows=(0,g.EW)(()=>{const e=this.entities()||[],n=this.entityData()||{},i=e.map(a=>{const s=n[a];return{entity:a,value:s?.value,categories:s?.categories,mentionCount:s?.mentionCount,loading:!s}});return this.orderByMentionCount()?i.sort((a,s)=>(s.mentionCount||0)-(a.mentionCount||0)):i});_leafEntityCategoryIris=(0,g.EW)(()=>{const e=this.availableEntityCategories();if(!e)return null;const n=new Set(e.map(i=>i.parent).filter(i=>!!i));return new Set(e.filter(i=>!n.has(i.iri)).map(i=>i.iri))});_getEntityCategoryLabel(e){const n=this.availableEntityCategories();if(void 0!==n){const i=n.find(a=>a.iri===e);if(i)return i.label}return this._prettifyCategory(e)}_prettifyCategory(e){if(!e)return"";const n=e.split("#");return(n[n.length-1]||e).replace(/([A-Z])/g," $1").trim()}static \u0275fac=function(n){return new(n||o)};static \u0275prov=r.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var w=l(5971),G=l(5448),F=l(2014),_=l(5381),t=l(5547);function O(o,h){if(1&o){const e=t.RV6();t.j41(0,"cue-flexcontainer",2)(1,"cue-button",5),t.bIt("click",function(){r.eBV(e);const i=t.XpG();return r.Njj(i.onOrderByMentionCountClick())}),t.nrm(2,"cue-button-padder"),t.j41(3,"cue-button-label"),t.EFF(4),t.nI1(5,"transloco"),t.k0s(),t.nrm(6,"cue-button-padder"),t.k0s()()}if(2&o){const e=t.XpG();t.R7$(),t.Y8G("tooltip",e.infoOrderByMentionCount()),t.R7$(3),t.JRh(t.bMT(5,2,"components.entityList.labelOrderByMentionCount"))}}function j(o,h){if(1&o){const e=t.RV6();t.j41(0,"cue-tab",1),t.nI1(1,"transloco"),t.j41(2,"cue-map",6),t.bIt("clickedFeature",function(i){r.eBV(e);const a=t.XpG();return r.Njj(a.onMapFeatureClick(i))}),t.k0s()()}if(2&o){t.XpG();const e=t.r8f(6),n=t.r8f(7);t.Y8G("label",t.bMT(1,3,"components.entityList.tabMap")),t.R7$(2),t.Y8G("layers",n)("settings",e)}}let $=(()=>{class o{map=(0,r.WQX)(v);table=(0,r.WQX)(C);entities=c.hFB.required();mapboxToken=(0,c.hFB)(void 0);handlers=c.hFB.required();availableEntityCategories=(0,c.hFB)(void 0);availableEntityRelationships=(0,c.hFB)();entityData=(0,c.hFB)({});paginationPageSize=(0,c.hFB)(10);prefetchPages=(0,c.hFB)(3);rowClicked=(0,c.CGW)();clickedOpen=(0,c.CGW)();_gridApi=null;_requestedIris=new Set;_requestedLocationIris=new Set;_isSorted=!1;_pendingMapClickIri=(0,r.vPA)(null);_bufferedUntilIndex=(0,r.vPA)(0);_locationBufferedUntilIndex=0;_lastEntitiesKey="";_destroyed=!1;labelOpenInEntityViewer=(0,f.Xx)("components.entityList.labelOpenInEntityViewer");infoOrderByMentionCount=(0,f.Xx)("components.entityList.infoOrderByMentionCount");overlaySettings={...new E.K,mode:"row"};overlayActions=(0,g.EW)(()=>[{label:this.labelOpenInEntityViewer(),icon:"info",action:e=>{this.handlers().requestOpen?.(e.rowData),this.clickedOpen.emit(e.rowData)}}]);constructor(){(0,r.QZP)(()=>this.map.mapboxToken.set(this.mapboxToken())),(0,r.QZP)(()=>{const e=this.entityData();this.map.entityData.update(n=>{let i=!1;const a={...n};for(const[s,d]of Object.entries(e))(d.directMapGeometries?.length||d.indirectMapGeometries?.length)&&(a[s]={value:"",categories:[],directMapGeometries:d.directMapGeometries,indirectMapGeometries:d.indirectMapGeometries},i=!0);return i?a:n})}),(0,r.QZP)(()=>this.map.availableEntityRelationships.set(this.availableEntityRelationships()??[])),(0,r.QZP)(()=>this.table.availableEntityCategories.set(this.availableEntityCategories())),(0,r.QZP)(()=>this.table.entities.set(this.entities())),(0,r.QZP)(()=>this.table.entityData.set(this.entityData())),(0,r.QZP)(()=>{const e=this._pendingMapClickIri();if(!e)return;const n=this.entityData()[e];n&&(this._pendingMapClickIri.set(null),this.rowClicked.emit({entity:e,value:n.value,categories:n.categories,mentionCount:n.mentionCount,loading:!1}))}),(0,r.QZP)(()=>{const e=this.entities(),n=e.join("|");n!==this._lastEntitiesKey&&(this._lastEntitiesKey=n,this._requestedIris.clear(),this._requestedLocationIris.clear(),this._bufferedUntilIndex.set(0),this._locationBufferedUntilIndex=0,console.log(`[cue-ent-list] Entity list changed: ${e.length} entities. Resetting lazy-load state.`),setTimeout(()=>this._requestLocationBatch()))}),(0,r.QZP)(()=>{const e=this.table.orderByMentionCount(),n=this.table.filterChangeCounter();if(e||n>0){const s=this.entities().filter(d=>!this._requestedIris.has(d));s.length>0&&(console.log(`[cue-ent-list] Requesting ALL ${s.length} entities (orderByMentionCount=${e}, filterCounter=${n}).`),s.forEach(d=>this._requestedIris.add(d)),this.handlers().requestData(s,e))}})}rowSelection={mode:"singleRow",checkboxes:!1,enableClickSelection:!0};onGridReady(e){this._gridApi=e,e.addEventListener("viewportChanged",()=>this._checkViewport()),e.addEventListener("modelUpdated",()=>this._checkViewport()),e.addEventListener("paginationChanged",()=>this._checkViewport()),e.addEventListener("sortChanged",()=>{const n=e.getColumnState();this._isSorted=n.some(i=>null!=i.sort),this._isSorted&&this._requestAllUnloaded()}),e.addEventListener("filterChanged",()=>{this.table.onFilterChanged()}),setTimeout(()=>this._checkViewport(),100)}onMapFeatureClick(e){var n=this;return(0,D.A)(function*(){const a=e.feature.properties?.iri;a&&(n._pendingMapClickIri.set(a),yield n.handlers().requestData?.([a],n.table.orderByMentionCount()))})()}_checkViewport(){if(!this._gridApi||this._gridApi.isDestroyed?.())return;if(this._isSorted)return void this._requestAllUnloaded();const e=this.entities(),n=e.length;if(!n)return;const i=Math.max(1,this._gridApi.paginationGetPageSize?.()??this.paginationPageSize()),a=Math.max(0,this._gridApi.paginationGetCurrentPage?.()??0),s=a*i,d=Math.min(n,s+i),u=this._bufferedUntilIndex();let p=null;if(0===u?p=0:(s>=Math.max(0,u-i)||d>u)&&(p=u),null===p||p>=n)return;const H=i*Math.max(1,this.prefetchPages()),b=Math.min(n,p+H),m=e.slice(p,b).filter(y=>!this._requestedIris.has(y));this._bufferedUntilIndex.set(Math.max(u,b)),m.length&&(console.log(`[cue-ent-list] _checkViewport: requesting batch [${p}\u2013${b}) \u2014 ${m.length} entities (page ${a}, pageSize ${i}).`),m.forEach(y=>this._requestedIris.add(y)),setTimeout(()=>this.handlers().requestData(m,this.table.orderByMentionCount())))}_requestLocationBatch(){if(!this.handlers().requestLocations)return;const e=this.entities(),n=e.length;if(this._locationBufferedUntilIndex>=n)return;const i=Math.max(1,this.paginationPageSize())*Math.max(1,this.prefetchPages()),a=Math.min(n,this._locationBufferedUntilIndex+i),s=e.slice(this._locationBufferedUntilIndex,a).filter(d=>!this._requestedLocationIris.has(d));this._locationBufferedUntilIndex=a,s.length>0&&(s.forEach(d=>this._requestedLocationIris.add(d)),console.log(`[cue-ent-list] _requestLocationBatch: requesting [${this._locationBufferedUntilIndex-s.length}\u2013${this._locationBufferedUntilIndex}) \u2014 ${s.length} locations (total ${n}).`),setTimeout(()=>this.handlers().requestLocations(s))),a<n&&!this._destroyed&&setTimeout(()=>this._requestLocationBatch(),200)}ngOnDestroy(){this._destroyed=!0,this._gridApi=null}_requestAllUnloaded(){if(!this._gridApi)return;const e=[];if(this._gridApi.forEachNode(n=>{const i=n.data;i?.loading&&!this._requestedIris.has(i.entity)&&e.push(i.entity)}),e.length>0){const n=Array.from(new Set(e));n.forEach(i=>this._requestedIris.add(i)),this.handlers().requestData(n,this.table.orderByMentionCount())}}onOrderByMentionCountClick(){this.table.orderByMentionCount.set(!this.table.orderByMentionCount())}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=t.VBU({type:o,selectors:[["cue-ent-list"]],inputs:{entities:[1,"entities"],mapboxToken:[1,"mapboxToken"],handlers:[1,"handlers"],availableEntityCategories:[1,"availableEntityCategories"],availableEntityRelationships:[1,"availableEntityRelationships"],entityData:[1,"entityData"],paginationPageSize:[1,"paginationPageSize"],prefetchPages:[1,"prefetchPages"]},outputs:{rowClicked:"rowClicked",clickedOpen:"clickedOpen"},features:[t.Jv_([B.u,T.M,I.B,v,C])],decls:9,vars:13,consts:[[2,"position","relative","width","100%","height","100%","display","flex","flex-direction","column","gap","12px"],[3,"label"],["direction","row","justify","end",2,"width","100%","padding-bottom","6px"],[2,"flex","1","min-height","0","position","relative","display","flex","flex-direction","column"],["height","100%",2,"flex","1","min-height","0",3,"gridApiReady","selectedRows","columnDefs","rowData","rowSelection","paginationPageSize","overlaySettings","overlayActions"],["size","xs","variant","secondary",3,"click","tooltip"],[3,"clickedFeature","layers","settings"]],template:function(n,i){if(1&n&&(t.j41(0,"cue-tabs",0)(1,"cue-tab",1),t.nI1(2,"transloco"),t.nVh(3,O,7,4,"cue-flexcontainer",2),t.j41(4,"div",3)(5,"cue-ag-grid",4),t.bIt("gridApiReady",function(s){return i.onGridReady(s)})("selectedRows",function(s){return s[0]&&i.rowClicked.emit(s[0])}),t.k0s()()(),t.SS7(6)(7),t.nVh(8,j,3,5,"cue-tab",1),t.k0s()),2&n){t.R7$(),t.Y8G("label",t.bMT(2,9,"components.entityList.tabList")),t.R7$(2),t.vxM(i.table.orderByMentionCount()?-1:3),t.R7$(2),t.Y8G("columnDefs",i.table.columnDefs())("rowData",i.table.rows())("rowSelection",i.rowSelection)("paginationPageSize",i.paginationPageSize())("overlaySettings",i.overlaySettings)("overlayActions",i.overlayActions()),t.R7$();const a=t.bH3(i.map.settings());t.R7$();const s=t.bH3(i.map.layers());t.R7$(),t.vxM(s.length>0&&a?8:-1)}},dependencies:[x.R,k.t,S.o,P.T,w.$,G.L,F.z,_.n,f.Kj],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return o})();var V=l(2245),z=l(5187),U=l(9769);function q(o,h){if(1&o&&(t.j41(0,"cue-flexcontainer",3)(1,"cue-typography",5),t.EFF(2),t.k0s()()),2&o){const e=t.XpG(2);t.R7$(2),t.SpI(" ",e.errorMessage()," ")}}function X(o,h){if(1&o){const e=t.RV6();t.j41(0,"cue-ent-list",6),t.bIt("rowClicked",function(i){r.eBV(e);const a=t.XpG(2);return r.Njj(a.rowClicked.emit(i))})("clickedOpen",function(i){r.eBV(e);const a=t.XpG(2);return r.Njj(a.clickedOpen.emit(i))}),t.k0s()}if(2&o){const e=t.XpG(2);t.Y8G("entities",e.iris())("entityData",e.entityData())("handlers",e.handlers())("mapboxToken",e.mapboxToken())("paginationPageSize",e.paginationPageSize())}}function W(o,h){1&o&&(t.j41(0,"cue-flexcontainer",3)(1,"cue-typography",7),t.EFF(2," No project connected. "),t.k0s()())}function Q(o,h){if(1&o&&t.nVh(0,q,3,1,"cue-flexcontainer",3)(1,X,1,5,"cue-ent-list",4)(2,W,3,0,"cue-flexcontainer",3),2&o){const e=t.XpG();t.vxM("error"===e.state()?0:e.handlers()?1:2)}}function Z(o,h){if(1&o&&(t.j41(0,"cue-card",1),t.eu8(1,2),t.k0s()),2&o){const e=t.XpG(),n=t.sdS(1);t.Y8G("variant",e._cardVariant())("padded",!1),t.R7$(),t.Y8G("ngTemplateOutlet",n)}}function Y(o,h){if(1&o&&t.eu8(0,2),2&o){t.XpG();const e=t.sdS(1);t.Y8G("ngTemplateOutlet",e)}}let K=(()=>{class o{iris=(0,c.hFB)([]);sdkState=(0,c.hFB)(void 0);mapboxToken=(0,c.hFB)(void 0);paginationPageSize=(0,c.hFB)(10);variant=(0,c.hFB)("none");_cardVariant=(0,g.EW)(()=>this.variant());rowClicked=(0,c.CGW)();clickedOpen=(0,c.CGW)();state=(0,r.vPA)("idle");errorMessage=(0,r.vPA)(null);entityData=(0,r.vPA)({});_entities=(0,r.vPA)(void 0);_unsubscribe;handlers=(0,g.EW)(()=>{const e=this._entities();if(e)return{requestData:(n,i)=>{const a=n.map(s=>s.split("/").pop()).filter(Boolean);console.log(`[cue-ent-list] requestData: ${a.length} entities (includeMentionCount=${i})`,a),e.requestEntityData(a,i)},requestLocations:n=>{if(!this.mapboxToken())return void console.warn("[cue-ent-list] No mapboxToken provided \u2014 skipping map location fetch.");const i=n.map(a=>a.split("/").pop()).filter(Boolean);console.log(`[cue-ent-list] requestLocations: ${i.length} entities`,i),e.requestEntityLocations(i)}}});constructor(){(0,r.QZP)(()=>{this._setupEntities(this.sdkState()?.entities)})}ngOnDestroy(){this._teardown()}_setupEntities(e){if(this._teardown(),!e)return console.log("[cue-ent-list] No entities SDK \u2014 switching to idle."),this._entities.set(void 0),this.entityData.set({}),void this.state.set("idle");console.log("[cue-ent-list] Setting up entities SDK."),this._entities.set(e),this.state.set("ready"),this._syncEntityData(e),this._unsubscribe=e.entityInfoMap.subscribe(()=>{this._syncEntityData(e)})}_syncEntityData(e){const n=e.entityInfoMap.get();console.log(`[cue-ent-list] entityInfoMap updated: ${Object.keys(n).length} entries`);const i={};for(const a of Object.keys(n)){const s=n[a],d=Array.isArray(s.documentRefs)?s.documentRefs.map(u=>"string"==typeof u?{id:u}:u):s.documentRefs;i[e.entityIri(a)]={...s,documentRefs:d}}this.entityData.set(i)}_teardown(){this._unsubscribe?.(),this._unsubscribe=void 0}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=t.VBU({type:o,selectors:[["cue-ent-list"]],inputs:{iris:[1,"iris"],sdkState:[1,"sdkState"],mapboxToken:[1,"mapboxToken"],paginationPageSize:[1,"paginationPageSize"],variant:[1,"variant"]},outputs:{rowClicked:"rowClicked",clickedOpen:"clickedOpen"},decls:4,vars:1,consts:[["body",""],[2,"height","100%","width","100%",3,"variant","padded"],[3,"ngTemplateOutlet"],["direction","column","align","center","justify","center",2,"height","100%","width","100%","padding","8px"],[2,"height","100%",3,"entities","entityData","handlers","mapboxToken","paginationPageSize"],[2,"color","#c44","font-size","13px"],[2,"height","100%",3,"rowClicked","clickedOpen","entities","entityData","handlers","mapboxToken","paginationPageSize"],[2,"color","#9ca3af","font-size","13px"]],template:function(n,i){1&n&&(t.DNE(0,Q,3,1,"ng-template",null,0,t.C5r),t.nVh(2,Z,2,3,"cue-card",1)(3,Y,1,1,"ng-container",2)),2&n&&(t.R7$(2),t.vxM("none"!==i.variant()?2:3))},dependencies:[o,$,_.n,V.Typography,z.Z,U.T3],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return o})()}}]);
1
+ "use strict";(self.webpackChunkcue_ui=self.webpackChunkcue_ui||[]).push([[493],{3183(N,S,a){a.d(S,{A:()=>E});var x=a(7705),g=a(5802),y=a(9417),o=a(1359),B=a(8957),v=a(2245),L=a(5381),d=a(5547);const p=(C,f)=>f.value;function k(C,f){if(1&C){const r=d.RV6();d.j41(0,"cue-input",6),d.bIt("valueChange",function(u){g.eBV(r);const _=d.XpG();return _.searchText=u,g.Njj(_.onSearchChange())}),d.k0s()}if(2&C){const r=d.XpG();d.Y8G("value",r.searchText)}}function R(C,f){if(1&C){const r=d.RV6();d.j41(0,"cue-checkbox",7),d.bIt("checkedChange",function(u){const _=g.eBV(r).$implicit,T=d.XpG();return _.selected=u,g.Njj(T.onSelectionChange())}),d.k0s()}if(2&C){const r=f.$implicit;d.Y8G("label",r.value||"(blank)")("checked",r.selected)}}function F(C,f){1&C&&(d.j41(0,"cue-typography",5),d.EFF(1,"No results"),d.k0s())}let E=(()=>{class C{_cdr=(0,g.WQX)(x.gRc);_params;options=[];filteredOptions=[];searchText="";agInit(r){this._params=r}afterGuiAttached(r){this._refreshOptions(),this._cdr.markForCheck()}onNewRowsLoaded(){this._refreshOptions(),this._cdr.markForCheck()}isFilterActive(){return this.options.some(r=>!r.selected)}doesFilterPass(r){const h=new Set(this.options.filter(M=>M.selected).map(M=>M.value)),u=this._params.getValue(r.node),_=null==u?"":String(u);return"..."===_||"Loading..."===_||(""===_?h.has(""):_.split(", ").map(M=>M.trim()).some(M=>h.has(M)))}getModel(){return this.isFilterActive()?{selectedValues:this.options.filter(r=>r.selected).map(r=>r.value)}:null}setModel(r){if(r){const h=new Set(r.selectedValues);this.options.forEach(u=>u.selected=h.has(u.value))}else this.options.forEach(h=>h.selected=!0);this._applySearch(),this._cdr.markForCheck()}onSelectionChange(){this._params.filterChangedCallback(),this._cdr.markForCheck()}onSearchChange(){this._applySearch(),this._cdr.markForCheck()}get allSelected(){return this.options.length>0&&this.options.every(r=>r.selected)}toggleAll(r){this.options.forEach(h=>h.selected=r),this._applySearch(),this._params.filterChangedCallback(),this._cdr.markForCheck()}_refreshOptions(){const r=new Set;this._params.api.forEachNode(u=>{const _=this._params.getValue(u);if(null==_||""===_)r.add("");else{const T=String(_);if("..."===T||"Loading..."===T)return;const M=T.split(", ").map(I=>I.trim());for(const I of M)r.add(I)}});const h=new Map(this.options.map(u=>[u.value,u.selected]));this.options=Array.from(r).sort((u,_)=>u.localeCompare(_)).map(u=>({value:u,selected:h.get(u)??!0})),this._applySearch()}_applySearch(){const r=this.searchText.toLowerCase().trim();this.filteredOptions=r?this.options.filter(h=>h.value.toLowerCase().includes(r)):this.options}static \u0275fac=function(h){return new(h||C)};static \u0275cmp=d.VBU({type:C,selectors:[["cue-multi-select-filter"]],decls:7,vars:3,consts:[["direction","column","gap","s"],["placeholder","Search...","size","s",3,"value"],["size","s","label","Select all",3,"checkedChange","checked"],[1,"msf-list"],["size","s",3,"label","checked"],["size","s"],["placeholder","Search...","size","s",3,"valueChange","value"],["size","s",3,"checkedChange","label","checked"]],template:function(h,u){1&h&&(d.j41(0,"cue-flexcontainer",0),d.nVh(1,k,1,1,"cue-input",1),d.j41(2,"cue-checkbox",2),d.bIt("checkedChange",function(T){return u.toggleAll(T)}),d.k0s(),d.j41(3,"div",3),d.Z7z(4,R,1,2,"cue-checkbox",4,p),d.nVh(6,F,2,0,"cue-typography",5),d.k0s()()),2&h&&(d.R7$(),d.vxM(u.options.length>10?1:-1),d.R7$(),d.Y8G("checked",u.allSelected),d.R7$(2),d.Dyx(u.filteredOptions),d.R7$(2),d.vxM(0===u.filteredOptions.length?6:-1))},dependencies:[y.YN,o.S,B.p,v.Typography,L.n],styles:["[_nghost-%COMP%]{display:block;padding:var(--cue-card-padding-y) var(--cue-card-padding-x);min-width:200px;max-width:300px;box-sizing:border-box}.msf-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}"],changeDetection:0})}return C})()},5902(N,S,a){a.d(S,{U:()=>F});var x=a(7705),g=a(5802),y=a(2271),o=a(9352),B=a(8957),v=a(2444),L=a(2245),d=a(5381),p=a(5547);function k(E,C){if(1&E){const f=p.RV6();p.j41(0,"cue-input",4),p.bIt("valueChange",function(h){g.eBV(f);const u=p.XpG();return g.Njj(u.onValueChange(h))}),p.k0s()}if(2&E){const f=p.XpG();p.Y8G("value",f.filterText)}}function R(E,C){if(1&E){const f=p.RV6();p.j41(0,"cue-typography",5),p.bIt("click",function(){g.eBV(f);const h=p.XpG();return g.Njj(h.clear())}),p.EFF(1,"Clear"),p.k0s()}}let F=(()=>{class E{_cdr=(0,g.WQX)(x.gRc);_params;filterText="";filterType="contains";filterTypeOptions=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"];_labelContains=(0,o.Xx)("components.agGridColumnSelect.textFilterContains");_labelNotContains=(0,o.Xx)("components.agGridColumnSelect.textFilterNotContains");_labelEquals=(0,o.Xx)("components.agGridColumnSelect.textFilterEquals");_labelNotEqual=(0,o.Xx)("components.agGridColumnSelect.textFilterNotEqual");_labelStartsWith=(0,o.Xx)("components.agGridColumnSelect.textFilterStartsWith");_labelEndsWith=(0,o.Xx)("components.agGridColumnSelect.textFilterEndsWith");_labelBlank=(0,o.Xx)("components.agGridColumnSelect.textFilterBlank");_labelNotBlank=(0,o.Xx)("components.agGridColumnSelect.textFilterNotBlank");filterTypeLabelMap=(0,y.EW)(()=>({contains:this._labelContains(),notContains:this._labelNotContains(),equals:this._labelEquals(),notEqual:this._labelNotEqual(),startsWith:this._labelStartsWith(),endsWith:this._labelEndsWith(),blank:this._labelBlank(),notBlank:this._labelNotBlank()}));showTextInput=(0,y.EW)(()=>!["blank","notBlank"].includes(this.filterType));agInit(f){this._params=f}afterGuiAttached(f){this._cdr.markForCheck()}isFilterActive(){return!!["blank","notBlank"].includes(this.filterType)||this.filterText.trim().length>0}doesFilterPass(f){const r=this._params.getValue(f.node),h=null==r?"":String(r),u=this.filterText.toLowerCase().trim(),_=h.toLowerCase();switch(this.filterType){case"contains":default:return _.includes(u);case"notContains":return!_.includes(u);case"equals":return _===u;case"notEqual":return _!==u;case"startsWith":return _.startsWith(u);case"endsWith":return _.endsWith(u);case"blank":return""===h;case"notBlank":return""!==h}}getModel(){return this.isFilterActive()?{filterType:"text",type:this.filterType,filter:this.filterText}:null}setModel(f){this.filterText=f?.filter??"",this.filterType=f?.type??"contains",this._cdr.markForCheck()}onValueChange(f){this.filterText=f,this._params.filterChangedCallback(),this._cdr.markForCheck()}onFilterTypeChange(f){this.filterType=String(f||"contains"),["blank","notBlank"].includes(this.filterType)&&(this.filterText=""),this._params.filterChangedCallback(),this._cdr.markForCheck()}clear(){this.filterText="",this.filterType="contains",this._params.filterChangedCallback(),this._cdr.markForCheck()}static \u0275fac=function(r){return new(r||E)};static \u0275cmp=p.VBU({type:E,selectors:[["cue-text-filter"]],decls:4,vars:5,consts:[["direction","column","gap","s"],["size","s",3,"valueChange","value","options","labelMap"],["placeholder","Filter...","size","s",3,"value"],["size","s",2,"cursor","pointer","text-align","right"],["placeholder","Filter...","size","s",3,"valueChange","value"],["size","s",2,"cursor","pointer","text-align","right",3,"click"]],template:function(r,h){1&r&&(p.j41(0,"cue-flexcontainer",0)(1,"cue-select",1),p.bIt("valueChange",function(_){return h.onFilterTypeChange(_)}),p.k0s(),p.nVh(2,k,1,1,"cue-input",2),p.nVh(3,R,2,0,"cue-typography",3),p.k0s()),2&r&&(p.R7$(),p.Y8G("value",h.filterType)("options",h.filterTypeOptions)("labelMap",h.filterTypeLabelMap()),p.R7$(),p.vxM(h.showTextInput()?2:-1),p.R7$(),p.vxM(h.filterText||"contains"!==h.filterType?3:-1))},dependencies:[B.p,v.l,L.Typography,d.n],styles:["[_nghost-%COMP%]{display:block;padding:var(--cue-card-padding-y) var(--cue-card-padding-x);min-width:180px;max-width:280px;box-sizing:border-box}"],changeDetection:0})}return E})()},5448(N,S,a){a.d(S,{L:()=>B});var x=a(7705),g=a(2245),y=a(5547);const o=["*"];let B=(()=>{class v{fontSize=(0,x.hFB)("m");italic=(0,x.hFB)(!1);noWrap=(0,x.hFB)(!0);static \u0275fac=function(p){return new(p||v)};static \u0275cmp=y.VBU({type:v,selectors:[["cue-button-label"]],inputs:{fontSize:[1,"fontSize"],italic:[1,"italic"],noWrap:[1,"noWrap"]},ngContentSelectors:o,decls:3,vars:3,consts:[[3,"size","italic","noWrap"]],template:function(p,k){1&p&&(y.NAR(),y.j41(0,"div")(1,"cue-typography",0),y.SdG(2),y.k0s()()),2&p&&(y.R7$(),y.Y8G("size",k.fontSize())("italic",k.italic())("noWrap",k.noWrap()))},dependencies:[g.Typography],styles:["div[_ngcontent-%COMP%]{transform:translateY(.05em)}"]})}return v})()},8493(N,S,a){a.d(S,{CueEntityList:()=>J});var x=a(467),g=a(7705),y=a(2271),o=a(5802),B=a(6950),v=a(9352),L=a(1951),d=a(6455),p=a(8334),k=a(5949),R=a(2843),F=a(3646),E=a(8017),C=a(2306),f=a(6103);let r=(()=>{class l{mapboxToken=(0,o.vPA)(void 0);entityData=(0,o.vPA)({});availableEntityRelationships=(0,o.vPA)([]);settings=(0,y.EW)(()=>{const e=this.mapboxToken();if(!e)return;const n=new C.yY;return n.mapboxToken=e,n.contextMenu.showFlyTo=!1,n.contextMenu.showProperties=!1,n});layers=(0,y.EW)(()=>{const e=this.entityData(),n=this.availableEntityRelationships();return(0,f.N)({entityData:e,availableEntityRelationships:n})});static \u0275fac=function(n){return new(n||l)};static \u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var h=a(3183),u=a(5902);let _=(()=>{class l{entities=(0,o.vPA)([]);entityData=(0,o.vPA)({});orderByMentionCount=(0,o.vPA)(!1);availableEntityCategories=(0,o.vPA)(void 0);labelValue=(0,v.Xx)("components.entityList.labelValue");labelCategories=(0,v.Xx)("components.entityList.labelCategories");labelMentions=(0,v.Xx)("components.entityList.labelMentionCount");_filterChangeCounter=(0,o.vPA)(0);filterChangeCounter=this._filterChangeCounter.asReadonly();onFilterChanged(){this._filterChangeCounter.update(e=>e+1)}columnDefs=(0,y.EW)(()=>{const e=[{field:"value",headerName:this.labelValue(),flex:2,filter:u.U,valueGetter:n=>!n.data?.value&&n.data?.loading?"Loading...":n.data?.value||n.data?.entity},{field:"categories",headerName:this.labelCategories(),flex:1.5,filter:h.A,valueGetter:n=>{const i=n.data?.categories;if(!i)return n.data?.loading?"...":"";const s=Array.isArray(i)?i:[i],c=this._leafEntityCategoryIris();return(c?s.filter(b=>c.has(b)):s).map(b=>this._getEntityCategoryLabel(b)).join(", ")}}];return this.orderByMentionCount()&&e.push({field:"mentionCount",headerName:this.labelMentions(),flex:1,filter:"agNumberColumnFilter",valueGetter:n=>{const i=n.data;if(i?.loading)return"...";const s=i?.mentionCount??0;return s>0?s:""},cellStyle:{textAlign:"center"}}),e});rows=(0,y.EW)(()=>{const e=this.entities()||[],n=this.entityData()||{},i=e.map(s=>{const c=n[s];return{entity:s,value:c?.value,categories:c?.categories,mentionCount:c?.mentionCount,loading:!c}});return this.orderByMentionCount()?i.sort((s,c)=>(c.mentionCount||0)-(s.mentionCount||0)):i});_leafEntityCategoryIris=(0,y.EW)(()=>{const e=this.availableEntityCategories();if(!e)return null;const n=new Set(e.map(i=>i.parent).filter(i=>!!i));return new Set(e.filter(i=>!n.has(i.iri)).map(i=>i.iri))});_getEntityCategoryLabel(e){const n=this.availableEntityCategories();if(void 0!==n){const i=n.find(s=>s.iri===e);if(i)return i.label}return this._prettifyCategory(e)}_prettifyCategory(e){if(!e)return"";const n=e.split("#");return(n[n.length-1]||e).replace(/([A-Z])/g," $1").trim()}static \u0275fac=function(n){return new(n||l)};static \u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var T=a(5971),M=a(5448),I=a(2014),W=a(5381),t=a(5547);function w(l,P){if(1&l){const e=t.RV6();t.j41(0,"cue-flexcontainer",2)(1,"cue-button",5),t.bIt("click",function(){o.eBV(e);const i=t.XpG();return o.Njj(i.onOrderByMentionCountClick())}),t.nrm(2,"cue-button-padder"),t.j41(3,"cue-button-label"),t.EFF(4),t.nI1(5,"transloco"),t.k0s(),t.nrm(6,"cue-button-padder"),t.k0s()()}if(2&l){const e=t.XpG();t.R7$(),t.Y8G("tooltip",e.infoOrderByMentionCount()),t.R7$(3),t.JRh(t.bMT(5,2,"components.entityList.labelOrderByMentionCount"))}}function j(l,P){if(1&l){const e=t.RV6();t.j41(0,"cue-tab",1),t.nI1(1,"transloco"),t.j41(2,"cue-map",6),t.bIt("clickedFeature",function(i){o.eBV(e);const s=t.XpG();return o.Njj(s.onMapFeatureClick(i))}),t.k0s()()}if(2&l){t.XpG();const e=t.r8f(6),n=t.r8f(7);t.Y8G("label",t.bMT(1,3,"components.entityList.tabMap")),t.R7$(2),t.Y8G("layers",n)("settings",e)}}let z=(()=>{class l{map=(0,o.WQX)(r);table=(0,o.WQX)(_);entities=g.hFB.required();mapboxToken=(0,g.hFB)(void 0);handlers=g.hFB.required();availableEntityCategories=(0,g.hFB)(void 0);availableEntityRelationships=(0,g.hFB)();entityData=(0,g.hFB)({});paginationPageSize=(0,g.hFB)(10);prefetchPages=(0,g.hFB)(3);rowClicked=(0,g.CGW)();clickedOpen=(0,g.CGW)();_gridApi=null;_requestedIris=new Set;_requestedLocationIris=new Set;_isSorted=!1;_pendingMapClickIri=(0,o.vPA)(null);_bufferedUntilIndex=(0,o.vPA)(0);_locationBufferedUntilIndex=0;_lastEntitiesKey="";_destroyed=!1;labelOpenInEntityViewer=(0,v.Xx)("components.entityList.labelOpenInEntityViewer");infoOrderByMentionCount=(0,v.Xx)("components.entityList.infoOrderByMentionCount");overlaySettings={...new L.K,mode:"row"};overlayActions=(0,y.EW)(()=>[{label:this.labelOpenInEntityViewer(),icon:"info",action:e=>{this.handlers().requestOpen?.(e.rowData),this.clickedOpen.emit(e.rowData)}}]);constructor(){(0,o.QZP)(()=>this.map.mapboxToken.set(this.mapboxToken())),(0,o.QZP)(()=>{const e=this.entityData();this.map.entityData.update(n=>{let i=!1;const s={...n};for(const[c,m]of Object.entries(e))(m.directMapGeometries?.length||m.indirectMapGeometries?.length)&&(s[c]={value:"",categories:[],directMapGeometries:m.directMapGeometries,indirectMapGeometries:m.indirectMapGeometries},i=!0);return i?s:n})}),(0,o.QZP)(()=>this.map.availableEntityRelationships.set(this.availableEntityRelationships()??[])),(0,o.QZP)(()=>this.table.availableEntityCategories.set(this.availableEntityCategories())),(0,o.QZP)(()=>this.table.entities.set(this.entities())),(0,o.QZP)(()=>this.table.entityData.set(this.entityData())),(0,o.QZP)(()=>{const e=this._pendingMapClickIri();if(!e)return;const n=this.entityData()[e];n&&(this._pendingMapClickIri.set(null),this.rowClicked.emit({entity:e,value:n.value,categories:n.categories,mentionCount:n.mentionCount,loading:!1}))}),(0,o.QZP)(()=>{const n=this.entities().join("|");if(n!==this._lastEntitiesKey)if(this._lastEntitiesKey=n,this._requestedIris.clear(),this._requestedLocationIris.clear(),this._bufferedUntilIndex.set(0),this._locationBufferedUntilIndex=0,this.handlers().checkHasLocations&&this.handlers().requestLocations){const i=(this.availableEntityCategories()??[]).map(s=>s.iri);this.handlers().checkHasLocations(i).then(s=>{s&&!this._destroyed&&this._requestLocationBatch()})}else this.handlers().requestLocations&&setTimeout(()=>this._requestLocationBatch())}),(0,o.QZP)(()=>{const e=this.table.orderByMentionCount(),n=this.table.filterChangeCounter();if(e||n>0){const c=this.entities().filter(m=>!this._requestedIris.has(m));c.length>0&&(c.forEach(m=>this._requestedIris.add(m)),this.handlers().requestData(c,e))}})}rowSelection={mode:"singleRow",checkboxes:!1,enableClickSelection:!0};onGridReady(e){this._gridApi=e,e.addEventListener("viewportChanged",()=>this._checkViewport()),e.addEventListener("modelUpdated",()=>this._checkViewport()),e.addEventListener("paginationChanged",()=>this._checkViewport()),e.addEventListener("sortChanged",()=>{const n=e.getColumnState();this._isSorted=n.some(i=>null!=i.sort),this._isSorted&&this._requestAllUnloaded()}),e.addEventListener("filterChanged",()=>{this.table.onFilterChanged()}),setTimeout(()=>this._checkViewport(),100)}onMapFeatureClick(e){var n=this;return(0,x.A)(function*(){const s=e.feature.properties?.iri;s&&(n._pendingMapClickIri.set(s),yield n.handlers().requestData?.([s],n.table.orderByMentionCount()))})()}_checkViewport(){if(!this._gridApi||this._gridApi.isDestroyed?.())return;if(this._isSorted)return void this._requestAllUnloaded();const e=this.entities(),n=e.length;if(!n)return;const i=Math.max(1,this._gridApi.paginationGetPageSize?.()??this.paginationPageSize()),c=Math.max(0,this._gridApi.paginationGetCurrentPage?.()??0)*i,m=Math.min(n,c+i),b=this._bufferedUntilIndex();let D=null;if(0===b?D=0:(c>=Math.max(0,b-i)||m>b)&&(D=b),null===D||D>=n)return;const A=i*Math.max(1,this.prefetchPages()),V=Math.min(n,D+A),G=e.slice(D,V).filter(O=>!this._requestedIris.has(O));this._bufferedUntilIndex.set(Math.max(b,V)),G.length&&(G.forEach(O=>this._requestedIris.add(O)),setTimeout(()=>this.handlers().requestData(G,this.table.orderByMentionCount())))}_requestLocationBatch(){if(!this.handlers().requestLocations)return;const e=this.entities(),n=e.length;if(this._locationBufferedUntilIndex>=n)return;const s=Math.min(n,this._locationBufferedUntilIndex+500),c=e.slice(this._locationBufferedUntilIndex,s).filter(m=>!this._requestedLocationIris.has(m));this._locationBufferedUntilIndex=s,c.length>0&&(c.forEach(m=>this._requestedLocationIris.add(m)),setTimeout(()=>this.handlers().requestLocations(c))),s<n&&!this._destroyed&&setTimeout(()=>this._requestLocationBatch(),200)}ngOnDestroy(){this._destroyed=!0,this._gridApi=null}_requestAllUnloaded(){if(!this._gridApi)return;const e=[];if(this._gridApi.forEachNode(n=>{const i=n.data;i?.loading&&!this._requestedIris.has(i.entity)&&e.push(i.entity)}),e.length>0){const n=Array.from(new Set(e));n.forEach(i=>this._requestedIris.add(i)),this.handlers().requestData(n,this.table.orderByMentionCount())}}onOrderByMentionCountClick(){this.table.orderByMentionCount.set(!this.table.orderByMentionCount())}static \u0275fac=function(n){return new(n||l)};static \u0275cmp=t.VBU({type:l,selectors:[["cue-ent-list-inner"]],inputs:{entities:[1,"entities"],mapboxToken:[1,"mapboxToken"],handlers:[1,"handlers"],availableEntityCategories:[1,"availableEntityCategories"],availableEntityRelationships:[1,"availableEntityRelationships"],entityData:[1,"entityData"],paginationPageSize:[1,"paginationPageSize"],prefetchPages:[1,"prefetchPages"]},outputs:{rowClicked:"rowClicked",clickedOpen:"clickedOpen"},features:[t.Jv_([k.u,R.M,F.B,r,_])],decls:9,vars:13,consts:[[2,"position","relative","width","100%","height","100%","display","flex","flex-direction","column","gap","12px"],[3,"label"],["direction","row","justify","end",2,"width","100%","padding-bottom","6px"],[2,"flex","1","min-height","0","position","relative","display","flex","flex-direction","column"],["height","100%",2,"flex","1","min-height","0",3,"gridApiReady","selectedRows","columnDefs","rowData","rowSelection","paginationPageSize","overlaySettings","overlayActions"],["size","xs","variant","secondary",3,"click","tooltip"],[3,"clickedFeature","layers","settings"]],template:function(n,i){if(1&n&&(t.j41(0,"cue-tabs",0)(1,"cue-tab",1),t.nI1(2,"transloco"),t.nVh(3,w,7,4,"cue-flexcontainer",2),t.j41(4,"div",3)(5,"cue-ag-grid",4),t.bIt("gridApiReady",function(c){return i.onGridReady(c)})("selectedRows",function(c){return c[0]&&i.rowClicked.emit(c[0])}),t.k0s()()(),t.SS7(6)(7),t.nVh(8,j,3,5,"cue-tab",1),t.k0s()),2&n){t.R7$(),t.Y8G("label",t.bMT(2,9,"components.entityList.tabList")),t.R7$(2),t.vxM(i.table.orderByMentionCount()?-1:3),t.R7$(2),t.Y8G("columnDefs",i.table.columnDefs())("rowData",i.table.rows())("rowSelection",i.rowSelection)("paginationPageSize",i.paginationPageSize())("overlaySettings",i.overlaySettings)("overlayActions",i.overlayActions()),t.R7$();const s=t.bH3(i.map.settings());t.R7$();const c=t.bH3(i.map.layers());t.R7$(),t.vxM(c.length>0&&s?8:-1)}},dependencies:[B.R,d.t,p.o,E.T,T.$,M.L,I.z,W.n,v.Kj],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return l})();var U=a(2245),X=a(5187),K=a(9769);function $(l,P){if(1&l&&(t.j41(0,"cue-flexcontainer",3)(1,"cue-typography",5),t.EFF(2),t.k0s()()),2&l){const e=t.XpG(2);t.R7$(2),t.SpI(" ",e.errorMessage()," ")}}function Y(l,P){if(1&l){const e=t.RV6();t.j41(0,"cue-ent-list-inner",6),t.bIt("rowClicked",function(i){o.eBV(e);const s=t.XpG(2);return o.Njj(s.rowClicked.emit(i))})("clickedOpen",function(i){o.eBV(e);const s=t.XpG(2);return o.Njj(s.clickedOpen.emit(i))}),t.k0s()}if(2&l){const e=t.XpG(2);t.Y8G("entities",e.iris())("entityData",e.entityData())("handlers",e.handlers())("mapboxToken",e.mapboxToken())("paginationPageSize",e.paginationPageSize())}}function q(l,P){1&l&&(t.j41(0,"cue-flexcontainer",3)(1,"cue-typography",7),t.EFF(2," No project connected. "),t.k0s()())}function Q(l,P){if(1&l&&t.nVh(0,$,3,1,"cue-flexcontainer",3)(1,Y,1,5,"cue-ent-list-inner",4)(2,q,3,0,"cue-flexcontainer",3),2&l){const e=t.XpG();t.vxM("error"===e.state()?0:e.handlers()?1:2)}}function Z(l,P){if(1&l&&(t.j41(0,"cue-card",1),t.eu8(1,2),t.k0s()),2&l){const e=t.XpG(),n=t.sdS(1);t.Y8G("variant",e._cardVariant())("padded",!1),t.R7$(),t.Y8G("ngTemplateOutlet",n)}}function H(l,P){if(1&l&&t.eu8(0,2),2&l){t.XpG();const e=t.sdS(1);t.Y8G("ngTemplateOutlet",e)}}let J=(()=>{class l{iris=(0,g.hFB)([]);sdkState=(0,g.hFB)(void 0);mapboxToken=(0,g.hFB)(void 0);paginationPageSize=(0,g.hFB)(10);variant=(0,g.hFB)("none");_cardVariant=(0,y.EW)(()=>this.variant());rowClicked=(0,g.CGW)();clickedOpen=(0,g.CGW)();state=(0,o.vPA)("idle");errorMessage=(0,o.vPA)(null);entityData=(0,o.vPA)({});_entities=(0,o.vPA)(void 0);_unsubscribe;handlers=(0,y.EW)(()=>{var e=this;const n=this._entities();if(n)return{requestData:(i,s)=>{const c=i.map(m=>m.split("/").pop()).filter(Boolean);n.requestEntityData(c,s)},requestLocations:i=>{if(!this.mapboxToken())return void console.warn("[cue-entity-list] No mapboxToken provided \u2014 skipping map location fetch.");const s=i.map(c=>c.split("/").pop()).filter(Boolean);n.requestEntityLocations(s)},checkHasLocations:(i=(0,x.A)(function*(s){const c=e.sdkState()?.cue,m=e.sdkState()?.projectId;if(!(e.mapboxToken()&&c&&m&&s.length))return!1;const D=`PREFIX qcy: <https://dev.qaecy.com/ont#>\nASK WHERE {\n ?entity qcy:hasEntityCategory ?cat .\n FILTER(?cat IN (${s.map(A=>`<${A}>`).join(" ")}))\n { ?entity qcy:similarTo ?osm . FILTER(STRSTARTS(STR(?osm), "https://www.openstreetmap.org/")) }\n UNION\n { ?entity qcy:relatedEntity ?loc . ?loc qcy:similarTo ?osm . FILTER(STRSTARTS(STR(?osm), "https://www.openstreetmap.org/")) }\n}`;try{return!0===(yield c.api.sparql(D,m))?.boolean}catch{return!1}}),function(c){return i.apply(this,arguments)})};var i});constructor(){(0,o.QZP)(()=>{this._setupEntities(this.sdkState()?.entities)})}ngOnDestroy(){this._teardown()}_setupEntities(e){if(this._teardown(),!e)return this._entities.set(void 0),this.entityData.set({}),void this.state.set("idle");this._entities.set(e),this.state.set("ready"),this._syncEntityData(e),this._unsubscribe=e.entityInfoMap.subscribe(()=>{this._syncEntityData(e)})}_syncEntityData(e){const n=e.entityInfoMap.get(),i={};for(const s of Object.keys(n)){const c=n[s],m=Array.isArray(c.documentRefs)?c.documentRefs.map(b=>"string"==typeof b?{id:b}:b):c.documentRefs;i[e.entityIri(s)]={...c,documentRefs:m}}this.entityData.set(i)}_teardown(){this._unsubscribe?.(),this._unsubscribe=void 0}static \u0275fac=function(n){return new(n||l)};static \u0275cmp=t.VBU({type:l,selectors:[["cue-entity-list"]],inputs:{iris:[1,"iris"],sdkState:[1,"sdkState"],mapboxToken:[1,"mapboxToken"],paginationPageSize:[1,"paginationPageSize"],variant:[1,"variant"]},outputs:{rowClicked:"rowClicked",clickedOpen:"clickedOpen"},decls:4,vars:1,consts:[["body",""],[2,"height","100%","width","100%",3,"variant","padded"],[3,"ngTemplateOutlet"],["direction","column","align","center","justify","center",2,"height","100%","width","100%","padding","8px"],[2,"height","100%",3,"entities","entityData","handlers","mapboxToken","paginationPageSize"],[2,"color","#c44","font-size","13px"],[2,"height","100%",3,"rowClicked","clickedOpen","entities","entityData","handlers","mapboxToken","paginationPageSize"],[2,"color","#9ca3af","font-size","13px"]],template:function(n,i){1&n&&(t.DNE(0,Q,3,1,"ng-template",null,0,t.C5r),t.nVh(2,Z,2,3,"cue-card",1)(3,H,1,1,"ng-container",2)),2&n&&(t.R7$(2),t.vxM("none"!==i.variant()?2:3))},dependencies:[z,W.n,U.Typography,X.Z,K.T3],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return l})()}}]);