@qaecy/cue-ui 0.0.35 → 0.0.37

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(E,f,r){r.d(f,{CueDocumentList:()=>A});var h=r(467),a=r(7705),c=r(5802),p=r(2271),C=r(8611),v=r(2065),w=r(4372),b=r(5381),O=r(2245),o=r(5547);function M(i,P){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,P){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,p.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,p.EW)(()=>(this.customMenuItems()||[]).map(e=>({label:e.label,icon:e.icon,action:s=>{e.action(s.rowData,s)}})));handlers=(0,p.EW)(()=>{var t=this;const e=this._docs();if(e)return{requestData:(s=(0,h.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,h.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;_inputWarningTimer;_unsubscribeCategories;_lastSetupSignature;constructor(){this._inputWarningTimer=setTimeout(()=>{this.projectId()||console.warn('[cue-document-list] Required input "projectId" is not set. Pass the Cue project ID to load documents.'),this.sdkState()||console.warn('[cue-document-list] Required input "sdkState" is not set. Pass a { cue, view, or documents } object to enable document loading.')},3e3),(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(){clearTimeout(this._inputWarningTimer),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,b.n,O.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(et,x,l){l.d(x,{CueEntityList:()=>K});var v=l(467),d=l(7705),h=l(2271),r=l(5802),D=l(6950),f=l(9352),k=l(1951),T=l(6455),S=l(8334),L=l(5949),I=l(2843),R=l(3646),B=l(8017),P=l(2306),N=l(6103);let C=(()=>{class o{mapboxToken=(0,r.vPA)(void 0);entityData=(0,r.vPA)({});availableEntityRelationships=(0,r.vPA)([]);settings=(0,h.EW)(()=>{const t=this.mapboxToken();if(!t)return;const n=new P.yY;return n.mapboxToken=t,n.contextMenu.showFlyTo=!1,n.contextMenu.showProperties=!1,n});layers=(0,h.EW)(()=>{const t=this.entityData(),n=this.availableEntityRelationships();return(0,N.N)({entityData:t,availableEntityRelationships:n})});static \u0275fac=function(n){return new(n||o)};static \u0275prov=r.jDH({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();var A=l(3183),w=l(5902);let _=(()=>{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(t=>t+1)}columnDefs=(0,h.EW)(()=>{const t=[{field:"value",headerName:this.labelValue(),flex:2,filter:w.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:A.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()&&t.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"}}),t});rows=(0,h.EW)(()=>{const t=this.entities()||[],n=this.entityData()||{},i=t.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,h.EW)(()=>{const t=this.availableEntityCategories();if(!t)return null;const n=new Set(t.map(i=>i.parent).filter(i=>!!i));return new Set(t.filter(i=>!n.has(i.iri)).map(i=>i.iri))});_getEntityCategoryLabel(t){const n=this.availableEntityCategories();if(void 0!==n){const i=n.find(a=>a.iri===t);if(i)return i.label}return this._prettifyCategory(t)}_prettifyCategory(t){if(!t)return"";const n=t.split("#");return(n[n.length-1]||t).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 G=l(5971),F=l(5448),j=l(2014),E=l(5381),e=l(5547);function O(o,p){if(1&o){const t=e.RV6();e.j41(0,"cue-flexcontainer",2)(1,"cue-button",5),e.bIt("click",function(){r.eBV(t);const i=e.XpG();return r.Njj(i.onOrderByMentionCountClick())}),e.nrm(2,"cue-button-padder"),e.j41(3,"cue-button-label"),e.EFF(4),e.nI1(5,"transloco"),e.k0s(),e.nrm(6,"cue-button-padder"),e.k0s()()}if(2&o){const t=e.XpG();e.R7$(),e.Y8G("tooltip",t.infoOrderByMentionCount()),e.R7$(3),e.JRh(e.bMT(5,2,"components.entityList.labelOrderByMentionCount"))}}function V(o,p){if(1&o){const t=e.RV6();e.j41(0,"cue-tab",1),e.nI1(1,"transloco"),e.j41(2,"cue-map",6),e.bIt("clickedFeature",function(i){r.eBV(t);const a=e.XpG();return r.Njj(a.onMapFeatureClick(i))}),e.k0s()()}if(2&o){e.XpG();const t=e.r8f(6),n=e.r8f(7);e.Y8G("label",e.bMT(1,3,"components.entityList.tabMap")),e.R7$(2),e.Y8G("layers",n)("settings",t)}}let z=(()=>{class o{map=(0,r.WQX)(C);table=(0,r.WQX)(_);entities=d.hFB.required();mapboxToken=(0,d.hFB)(void 0);handlers=d.hFB.required();availableEntityCategories=(0,d.hFB)(void 0);availableEntityRelationships=(0,d.hFB)();entityData=(0,d.hFB)({});paginationPageSize=(0,d.hFB)(10);prefetchPages=(0,d.hFB)(3);rowClicked=(0,d.CGW)();clickedOpen=(0,d.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 k.K,mode:"row"};overlayActions=(0,h.EW)(()=>[{label:this.labelOpenInEntityViewer(),icon:"info",action:t=>{this.handlers().requestOpen?.(t.rowData),this.clickedOpen.emit(t.rowData)}}]);constructor(){(0,r.QZP)(()=>this.map.mapboxToken.set(this.mapboxToken())),(0,r.QZP)(()=>{const t=this.entityData();this.map.entityData.update(n=>{let i=!1;const a={...n};for(const[s,c]of Object.entries(t))(c.directMapGeometries?.length||c.indirectMapGeometries?.length)&&(a[s]={value:"",categories:[],directMapGeometries:c.directMapGeometries,indirectMapGeometries:c.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 t=this._pendingMapClickIri();if(!t)return;const n=this.entityData()[t];n&&(this._pendingMapClickIri.set(null),this.rowClicked.emit({entity:t,value:n.value,categories:n.categories,mentionCount:n.mentionCount,loading:!1}))}),(0,r.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(a=>a.iri);this.handlers().checkHasLocations(i).then(a=>{a&&!this._destroyed&&this._requestLocationBatch()})}else this.handlers().requestLocations&&setTimeout(()=>this._requestLocationBatch())}),(0,r.QZP)(()=>{const t=this.table.orderByMentionCount(),n=this.table.filterChangeCounter();if(t||n>0){const s=this.entities().filter(c=>!this._requestedIris.has(c));s.length>0&&(s.forEach(c=>this._requestedIris.add(c)),this.handlers().requestData(s,t))}})}rowSelection={mode:"singleRow",checkboxes:!1,enableClickSelection:!0};onGridReady(t){this._gridApi=t,t.addEventListener("viewportChanged",()=>this._checkViewport()),t.addEventListener("modelUpdated",()=>this._checkViewport()),t.addEventListener("paginationChanged",()=>this._checkViewport()),t.addEventListener("sortChanged",()=>{const n=t.getColumnState();this._isSorted=n.some(i=>null!=i.sort),this._isSorted&&this._requestAllUnloaded()}),t.addEventListener("filterChanged",()=>{this.table.onFilterChanged()}),setTimeout(()=>this._checkViewport(),100)}onMapFeatureClick(t){var n=this;return(0,v.A)(function*(){const a=t.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 t=this.entities(),n=t.length;if(!n)return;const i=Math.max(1,this._gridApi.paginationGetPageSize?.()??this.paginationPageSize()),s=Math.max(0,this._gridApi.paginationGetCurrentPage?.()??0)*i,c=Math.min(n,s+i),u=this._bufferedUntilIndex();let g=null;if(0===u?g=0:(s>=Math.max(0,u-i)||c>u)&&(g=u),null===g||g>=n)return;const m=i*Math.max(1,this.prefetchPages()),M=Math.min(n,g+m),b=t.slice(g,M).filter(y=>!this._requestedIris.has(y));this._bufferedUntilIndex.set(Math.max(u,M)),b.length&&(b.forEach(y=>this._requestedIris.add(y)),setTimeout(()=>this.handlers().requestData(b,this.table.orderByMentionCount())))}_requestLocationBatch(){if(!this.handlers().requestLocations)return;const t=this.entities(),n=t.length;if(this._locationBufferedUntilIndex>=n)return;const a=Math.min(n,this._locationBufferedUntilIndex+500),s=t.slice(this._locationBufferedUntilIndex,a).filter(c=>!this._requestedLocationIris.has(c));this._locationBufferedUntilIndex=a,s.length>0&&(s.forEach(c=>this._requestedLocationIris.add(c)),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 t=[];if(this._gridApi.forEachNode(n=>{const i=n.data;i?.loading&&!this._requestedIris.has(i.entity)&&t.push(i.entity)}),t.length>0){const n=Array.from(new Set(t));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=e.VBU({type:o,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:[e.Jv_([L.u,I.M,R.B,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&&(e.j41(0,"cue-tabs",0)(1,"cue-tab",1),e.nI1(2,"transloco"),e.nVh(3,O,7,4,"cue-flexcontainer",2),e.j41(4,"div",3)(5,"cue-ag-grid",4),e.bIt("gridApiReady",function(s){return i.onGridReady(s)})("selectedRows",function(s){return s[0]&&i.rowClicked.emit(s[0])}),e.k0s()()(),e.SS7(6)(7),e.nVh(8,V,3,5,"cue-tab",1),e.k0s()),2&n){e.R7$(),e.Y8G("label",e.bMT(2,9,"components.entityList.tabList")),e.R7$(2),e.vxM(i.table.orderByMentionCount()?-1:3),e.R7$(2),e.Y8G("columnDefs",i.table.columnDefs())("rowData",i.table.rows())("rowSelection",i.rowSelection)("paginationPageSize",i.paginationPageSize())("overlaySettings",i.overlaySettings)("overlayActions",i.overlayActions()),e.R7$();const a=e.bH3(i.map.settings());e.R7$();const s=e.bH3(i.map.layers());e.R7$(),e.vxM(s.length>0&&a?8:-1)}},dependencies:[D.R,T.t,S.o,B.T,G.$,F.L,j.z,E.n,f.Kj],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return o})();var q=l(2245),U=l(5187),X=l(9769);function W(o,p){if(1&o&&(e.j41(0,"cue-flexcontainer",3)(1,"cue-typography",5),e.EFF(2),e.k0s()()),2&o){const t=e.XpG(2);e.R7$(2),e.SpI(" ",t.errorMessage()," ")}}function $(o,p){if(1&o){const t=e.RV6();e.j41(0,"cue-ent-list-inner",6),e.bIt("rowClicked",function(i){r.eBV(t);const a=e.XpG(2);return r.Njj(a.rowClicked.emit(i))})("clickedOpen",function(i){r.eBV(t);const a=e.XpG(2);return r.Njj(a.clickedOpen.emit(i))}),e.k0s()}if(2&o){const t=e.XpG(2);e.Y8G("entities",t.iris())("entityData",t.entityData())("handlers",t.handlers())("mapboxToken",t.mapboxToken())("paginationPageSize",t.paginationPageSize())}}function Q(o,p){1&o&&(e.j41(0,"cue-flexcontainer",3)(1,"cue-typography",7),e.EFF(2," No project connected. "),e.k0s()())}function Z(o,p){if(1&o&&e.nVh(0,W,3,1,"cue-flexcontainer",3)(1,$,1,5,"cue-ent-list-inner",4)(2,Q,3,0,"cue-flexcontainer",3),2&o){const t=e.XpG();e.vxM("error"===t.state()?0:t.handlers()?1:2)}}function Y(o,p){if(1&o&&(e.j41(0,"cue-card",1),e.eu8(1,2),e.k0s()),2&o){const t=e.XpG(),n=e.sdS(1);e.Y8G("variant",t._cardVariant())("padded",!1),e.R7$(),e.Y8G("ngTemplateOutlet",n)}}function H(o,p){if(1&o&&e.eu8(0,2),2&o){e.XpG();const t=e.sdS(1);e.Y8G("ngTemplateOutlet",t)}}let K=(()=>{class o{iris=(0,d.hFB)([]);sdkState=(0,d.hFB)(void 0);mapboxToken=(0,d.hFB)(void 0);paginationPageSize=(0,d.hFB)(10);variant=(0,d.hFB)("none");_cardVariant=(0,h.EW)(()=>this.variant());rowClicked=(0,d.CGW)();clickedOpen=(0,d.CGW)();state=(0,r.vPA)("idle");errorMessage=(0,r.vPA)(null);entityData=(0,r.vPA)({});_entities=(0,r.vPA)(void 0);_unsubscribe;handlers=(0,h.EW)(()=>{var t=this;const n=this._entities();if(n)return{requestData:(i,a)=>{const s=i.map(c=>c.split("/").pop()).filter(Boolean);n.requestEntityData(s,a)},requestLocations:i=>{if(!this.mapboxToken())return void console.warn("[cue-entity-list] No mapboxToken provided \u2014 skipping map location fetch.");const a=i.map(s=>s.split("/").pop()).filter(Boolean);n.requestEntityLocations(a)},checkHasLocations:(i=(0,v.A)(function*(a){const s=t.sdkState()?.cue,c=t.sdkState()?.projectId;if(!(t.mapboxToken()&&s&&c&&a.length))return!1;const g=`PREFIX qcy: <https://dev.qaecy.com/ont#>\nASK WHERE {\n ?entity qcy:hasEntityCategory ?cat .\n FILTER(?cat IN (${a.map(m=>`<${m}>`).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 s.api.sparql(g,c))?.boolean}catch{return!1}}),function(s){return i.apply(this,arguments)})};var i});constructor(){(0,r.QZP)(()=>{this._setupEntities(this.sdkState()?.entities)})}ngOnDestroy(){this._teardown()}_setupEntities(t){if(this._teardown(),!t)return this._entities.set(void 0),this.entityData.set({}),void this.state.set("idle");this._entities.set(t),this.state.set("ready"),this._syncEntityData(t),this._unsubscribe=t.entityInfoMap.subscribe(()=>{this._syncEntityData(t)})}_syncEntityData(t){const n=t.entityInfoMap.get(),i={};for(const a of Object.keys(n)){const s=n[a],c=Array.isArray(s.documentRefs)?s.documentRefs.map(u=>"string"==typeof u?{id:u}:u):s.documentRefs;i[t.entityIri(a)]={...s,documentRefs:c}}this.entityData.set(i)}_teardown(){this._unsubscribe?.(),this._unsubscribe=void 0}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=e.VBU({type:o,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&&(e.DNE(0,Z,3,1,"ng-template",null,0,e.C5r),e.nVh(2,Y,2,3,"cue-card",1)(3,H,1,1,"ng-container",2)),2&n&&(e.R7$(2),e.vxM("none"!==i.variant()?2:3))},dependencies:[z,E.n,q.Typography,U.Z,X.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,s){s.d(S,{A:()=>E});var x=s(7705),g=s(5802),o=s(9417),y=s(1359),P=s(8957),C=s(2245),B=s(5381),c=s(5547);const p=(v,f)=>f.value;function k(v,f){if(1&v){const r=c.RV6();c.j41(0,"cue-input",6),c.bIt("valueChange",function(d){g.eBV(r);const _=c.XpG();return _.searchText=d,g.Njj(_.onSearchChange())}),c.k0s()}if(2&v){const r=c.XpG();c.Y8G("value",r.searchText)}}function F(v,f){if(1&v){const r=c.RV6();c.j41(0,"cue-checkbox",7),c.bIt("checkedChange",function(d){const _=g.eBV(r).$implicit,T=c.XpG();return _.selected=d,g.Njj(T.onSelectionChange())}),c.k0s()}if(2&v){const r=f.$implicit;c.Y8G("label",r.value||"(blank)")("checked",r.selected)}}function L(v,f){1&v&&(c.j41(0,"cue-typography",5),c.EFF(1,"No results"),c.k0s())}let E=(()=>{class v{_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)),d=this._params.getValue(r.node),_=null==d?"":String(d);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(d=>d.selected=h.has(d.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(d=>{const _=this._params.getValue(d);if(null==_||""===_)r.add("");else{const T=String(_);if("..."===T||"Loading..."===T)return;const M=T.split(", ").map(R=>R.trim());for(const R of M)r.add(R)}});const h=new Map(this.options.map(d=>[d.value,d.selected]));this.options=Array.from(r).sort((d,_)=>d.localeCompare(_)).map(d=>({value:d,selected:h.get(d)??!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||v)};static \u0275cmp=c.VBU({type:v,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,d){1&h&&(c.j41(0,"cue-flexcontainer",0),c.nVh(1,k,1,1,"cue-input",1),c.j41(2,"cue-checkbox",2),c.bIt("checkedChange",function(T){return d.toggleAll(T)}),c.k0s(),c.j41(3,"div",3),c.Z7z(4,F,1,2,"cue-checkbox",4,p),c.nVh(6,L,2,0,"cue-typography",5),c.k0s()()),2&h&&(c.R7$(),c.vxM(d.options.length>10?1:-1),c.R7$(),c.Y8G("checked",d.allSelected),c.R7$(2),c.Dyx(d.filteredOptions),c.R7$(2),c.vxM(0===d.filteredOptions.length?6:-1))},dependencies:[o.YN,y.S,P.p,C.Typography,B.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 v})()},5902(N,S,s){s.d(S,{U:()=>L});var x=s(7705),g=s(5802),o=s(2271),y=s(9352),P=s(8957),C=s(2444),B=s(2245),c=s(5381),p=s(5547);function k(E,v){if(1&E){const f=p.RV6();p.j41(0,"cue-input",4),p.bIt("valueChange",function(h){g.eBV(f);const d=p.XpG();return g.Njj(d.onValueChange(h))}),p.k0s()}if(2&E){const f=p.XpG();p.Y8G("value",f.filterText)}}function F(E,v){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 L=(()=>{class E{_cdr=(0,g.WQX)(x.gRc);_params;filterText="";filterType="contains";filterTypeOptions=["contains","notContains","equals","notEqual","startsWith","endsWith","blank","notBlank"];_labelContains=(0,y.Xx)("components.agGridColumnSelect.textFilterContains");_labelNotContains=(0,y.Xx)("components.agGridColumnSelect.textFilterNotContains");_labelEquals=(0,y.Xx)("components.agGridColumnSelect.textFilterEquals");_labelNotEqual=(0,y.Xx)("components.agGridColumnSelect.textFilterNotEqual");_labelStartsWith=(0,y.Xx)("components.agGridColumnSelect.textFilterStartsWith");_labelEndsWith=(0,y.Xx)("components.agGridColumnSelect.textFilterEndsWith");_labelBlank=(0,y.Xx)("components.agGridColumnSelect.textFilterBlank");_labelNotBlank=(0,y.Xx)("components.agGridColumnSelect.textFilterNotBlank");filterTypeLabelMap=(0,o.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,o.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),d=this.filterText.toLowerCase().trim(),_=h.toLowerCase();switch(this.filterType){case"contains":default:return _.includes(d);case"notContains":return!_.includes(d);case"equals":return _===d;case"notEqual":return _!==d;case"startsWith":return _.startsWith(d);case"endsWith":return _.endsWith(d);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,F,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:[P.p,C.l,B.Typography,c.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,s){s.d(S,{L:()=>P});var x=s(7705),g=s(2245),o=s(5547);const y=["*"];let P=(()=>{class C{fontSize=(0,x.hFB)("m");italic=(0,x.hFB)(!1);noWrap=(0,x.hFB)(!0);static \u0275fac=function(p){return new(p||C)};static \u0275cmp=o.VBU({type:C,selectors:[["cue-button-label"]],inputs:{fontSize:[1,"fontSize"],italic:[1,"italic"],noWrap:[1,"noWrap"]},ngContentSelectors:y,decls:3,vars:3,consts:[[3,"size","italic","noWrap"]],template:function(p,k){1&p&&(o.NAR(),o.j41(0,"div")(1,"cue-typography",0),o.SdG(2),o.k0s()()),2&p&&(o.R7$(),o.Y8G("size",k.fontSize())("italic",k.italic())("noWrap",k.noWrap()))},dependencies:[g.Typography],styles:["div[_ngcontent-%COMP%]{transform:translateY(.05em)}"]})}return C})()},8493(N,S,s){s.d(S,{CueEntityList:()=>Q});var x=s(467),g=s(7705),o=s(5802),y=s(2271),P=s(6950),C=s(9352),B=s(1951),c=s(6455),p=s(8334),k=s(5949),F=s(2843),L=s(3646),E=s(8017),v=s(2306),f=s(6103);let r=(()=>{class u{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 t=new v.yY;return t.mapboxToken=e,t.contextMenu.showFlyTo=!1,t.contextMenu.showProperties=!1,t});layers=(0,y.EW)(()=>{const e=this.entityData(),t=this.availableEntityRelationships();return(0,f.N)({entityData:e,availableEntityRelationships:t})});static \u0275fac=function(t){return new(t||u)};static \u0275prov=o.jDH({token:u,factory:u.\u0275fac,providedIn:"root"})}return u})();var h=s(3183),d=s(5902);let _=(()=>{class u{entities=(0,o.vPA)([]);entityData=(0,o.vPA)({});orderByMentionCount=(0,o.vPA)(!1);availableEntityCategories=(0,o.vPA)(void 0);labelValue=(0,C.Xx)("components.entityList.labelValue");labelCategories=(0,C.Xx)("components.entityList.labelCategories");labelMentions=(0,C.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:d.U,valueGetter:t=>!t.data?.value&&t.data?.loading?"Loading...":t.data?.value||t.data?.entity},{field:"categories",headerName:this.labelCategories(),flex:1.5,filter:h.A,valueGetter:t=>{const i=t.data?.categories;if(!i)return t.data?.loading?"...":"";const a=Array.isArray(i)?i:[i],l=this._leafEntityCategoryIris();return(l?a.filter(b=>l.has(b)):a).map(b=>this._getEntityCategoryLabel(b)).join(", ")}}];return this.orderByMentionCount()&&e.push({field:"mentionCount",headerName:this.labelMentions(),flex:1,filter:"agNumberColumnFilter",valueGetter:t=>{const i=t.data;if(i?.loading)return"...";const a=i?.mentionCount??0;return a>0?a:""},cellStyle:{textAlign:"center"}}),e});rows=(0,y.EW)(()=>{const e=this.entities()||[],t=this.entityData()||{},i=e.map(a=>{const l=t[a];return{entity:a,value:l?.value,categories:l?.categories,mentionCount:l?.mentionCount,loading:!l}});return this.orderByMentionCount()?i.sort((a,l)=>(l.mentionCount||0)-(a.mentionCount||0)):i});_leafEntityCategoryIris=(0,y.EW)(()=>{const e=this.availableEntityCategories();if(!e)return null;const t=new Set(e.map(i=>i.parent).filter(i=>!!i));return new Set(e.filter(i=>!t.has(i.iri)).map(i=>i.iri))});_getEntityCategoryLabel(e){const t=this.availableEntityCategories();if(void 0!==t){const i=t.find(a=>a.iri===e);if(i)return i.label}return this._prettifyCategory(e)}_prettifyCategory(e){if(!e)return"";const t=e.split("#");return(t[t.length-1]||e).replace(/([A-Z])/g," $1").trim()}static \u0275fac=function(t){return new(t||u)};static \u0275prov=o.jDH({token:u,factory:u.\u0275fac,providedIn:"root"})}return u})();var T=s(5971),M=s(5448),R=s(2014),G=s(5381),n=s(5547);function j(u,I){if(1&u){const e=n.RV6();n.j41(0,"cue-flexcontainer",2)(1,"cue-button",5),n.bIt("click",function(){o.eBV(e);const i=n.XpG();return o.Njj(i.onOrderByMentionCountClick())}),n.nrm(2,"cue-button-padder"),n.j41(3,"cue-button-label"),n.EFF(4),n.nI1(5,"transloco"),n.k0s(),n.nrm(6,"cue-button-padder"),n.k0s()()}if(2&u){const e=n.XpG();n.R7$(),n.Y8G("tooltip",e.infoOrderByMentionCount()),n.R7$(3),n.JRh(n.bMT(5,2,"components.entityList.labelOrderByMentionCount"))}}function V(u,I){if(1&u){const e=n.RV6();n.j41(0,"cue-tab",1),n.nI1(1,"transloco"),n.j41(2,"cue-map",6),n.bIt("clickedFeature",function(i){o.eBV(e);const a=n.XpG();return o.Njj(a.onMapFeatureClick(i))}),n.k0s()()}if(2&u){n.XpG();const e=n.r8f(6),t=n.r8f(7);n.Y8G("label",n.bMT(1,3,"components.entityList.tabMap")),n.R7$(2),n.Y8G("layers",t)("settings",e)}}let z=(()=>{class u{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);variant=(0,g.hFB)("none");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,C.Xx)("components.entityList.labelOpenInEntityViewer");infoOrderByMentionCount=(0,C.Xx)("components.entityList.infoOrderByMentionCount");overlaySettings={...new B.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(t=>{let i=!1;const a={...t};for(const[l,m]of Object.entries(e))(m.directMapGeometries?.length||m.indirectMapGeometries?.length)&&(a[l]={value:"",categories:[],directMapGeometries:m.directMapGeometries,indirectMapGeometries:m.indirectMapGeometries},i=!0);return i?a:t})}),(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 t=this.entityData()[e];t&&(this._pendingMapClickIri.set(null),this.rowClicked.emit({entity:e,value:t.value,categories:t.categories,mentionCount:t.mentionCount,loading:!1}))}),(0,o.QZP)(()=>{const t=this.entities().join("|");if(t!==this._lastEntitiesKey)if(this._lastEntitiesKey=t,this._requestedIris.clear(),this._requestedLocationIris.clear(),this._bufferedUntilIndex.set(0),this._locationBufferedUntilIndex=0,this.handlers().checkHasLocations&&this.handlers().requestLocations){const i=(this.availableEntityCategories()??[]).map(a=>a.iri);this.handlers().checkHasLocations(i).then(a=>{a&&!this._destroyed&&this._requestLocationBatch()})}else this.handlers().requestLocations&&setTimeout(()=>this._requestLocationBatch())}),(0,o.QZP)(()=>{const e=this.table.orderByMentionCount(),t=this.table.filterChangeCounter();if(e||t>0){const l=this.entities().filter(m=>!this._requestedIris.has(m));l.length>0&&(l.forEach(m=>this._requestedIris.add(m)),this.handlers().requestData(l,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 t=e.getColumnState();this._isSorted=t.some(i=>null!=i.sort),this._isSorted&&this._requestAllUnloaded()}),e.addEventListener("filterChanged",()=>{this.table.onFilterChanged()}),setTimeout(()=>this._checkViewport(),100)}onMapFeatureClick(e){var t=this;return(0,x.A)(function*(){const a=e.feature.properties?.iri;a&&(t._pendingMapClickIri.set(a),yield t.handlers().requestData?.([a],t.table.orderByMentionCount()))})()}_checkViewport(){if(!this._gridApi||this._gridApi.isDestroyed?.())return;if(this._isSorted)return void this._requestAllUnloaded();const e=this.entities(),t=e.length;if(!t)return;const i=Math.max(1,this._gridApi.paginationGetPageSize?.()??this.paginationPageSize()),l=Math.max(0,this._gridApi.paginationGetCurrentPage?.()??0)*i,m=Math.min(t,l+i),b=this._bufferedUntilIndex();let D=null;if(0===b?D=0:(l>=Math.max(0,b-i)||m>b)&&(D=b),null===D||D>=t)return;const A=i*Math.max(1,this.prefetchPages()),w=Math.min(t,D+A),W=e.slice(D,w).filter(O=>!this._requestedIris.has(O));this._bufferedUntilIndex.set(Math.max(b,w)),W.length&&(W.forEach(O=>this._requestedIris.add(O)),setTimeout(()=>this.handlers().requestData(W,this.table.orderByMentionCount())))}_requestLocationBatch(){if(!this.handlers().requestLocations)return;const e=this.entities(),t=e.length;if(this._locationBufferedUntilIndex>=t)return;const a=Math.min(t,this._locationBufferedUntilIndex+500),l=e.slice(this._locationBufferedUntilIndex,a).filter(m=>!this._requestedLocationIris.has(m));this._locationBufferedUntilIndex=a,l.length>0&&(l.forEach(m=>this._requestedLocationIris.add(m)),setTimeout(()=>this.handlers().requestLocations(l))),a<t&&!this._destroyed&&setTimeout(()=>this._requestLocationBatch(),200)}ngOnDestroy(){this._destroyed=!0,this._gridApi=null}_requestAllUnloaded(){if(!this._gridApi)return;const e=[];if(this._gridApi.forEachNode(t=>{const i=t.data;i?.loading&&!this._requestedIris.has(i.entity)&&e.push(i.entity)}),e.length>0){const t=Array.from(new Set(e));t.forEach(i=>this._requestedIris.add(i)),this.handlers().requestData(t,this.table.orderByMentionCount())}}onOrderByMentionCountClick(){this.table.orderByMentionCount.set(!this.table.orderByMentionCount())}static \u0275fac=function(t){return new(t||u)};static \u0275cmp=n.VBU({type:u,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"],variant:[1,"variant"]},outputs:{rowClicked:"rowClicked",clickedOpen:"clickedOpen"},features:[n.Jv_([k.u,F.M,L.B,r,_])],decls:9,vars:14,consts:[[2,"position","relative","width","100%","height","100%","display","flex","flex-direction","column","gap","12px",3,"variant"],[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(t,i){if(1&t&&(n.j41(0,"cue-tabs",0)(1,"cue-tab",1),n.nI1(2,"transloco"),n.nVh(3,j,7,4,"cue-flexcontainer",2),n.j41(4,"div",3)(5,"cue-ag-grid",4),n.bIt("gridApiReady",function(l){return i.onGridReady(l)})("selectedRows",function(l){return l[0]&&i.rowClicked.emit(l[0])}),n.k0s()()(),n.SS7(6)(7),n.nVh(8,V,3,5,"cue-tab",1),n.k0s()),2&t){n.Y8G("variant",i.variant()),n.R7$(),n.Y8G("label",n.bMT(2,10,"components.entityList.tabList")),n.R7$(2),n.vxM(i.table.orderByMentionCount()?-1:3),n.R7$(2),n.Y8G("columnDefs",i.table.columnDefs())("rowData",i.table.rows())("rowSelection",i.rowSelection)("paginationPageSize",i.paginationPageSize())("overlaySettings",i.overlaySettings)("overlayActions",i.overlayActions()),n.R7$();const a=n.bH3(i.map.settings());n.R7$();const l=n.bH3(i.map.layers());n.R7$(),n.vxM(l.length>0&&a?8:-1)}},dependencies:[P.R,c.t,p.o,E.T,T.$,M.L,R.z,G.n,C.Kj],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return u})();var U=s(2245),X=s(9769);function K(u,I){if(1&u&&(n.j41(0,"cue-flexcontainer",2)(1,"cue-typography",4),n.EFF(2),n.k0s()()),2&u){const e=n.XpG(2);n.R7$(2),n.SpI(" ",e.errorMessage()," ")}}function $(u,I){if(1&u){const e=n.RV6();n.j41(0,"cue-ent-list-inner",5),n.bIt("rowClicked",function(i){o.eBV(e);const a=n.XpG(2);return o.Njj(a.rowClicked.emit(i))})("clickedOpen",function(i){o.eBV(e);const a=n.XpG(2);return o.Njj(a.clickedOpen.emit(i))}),n.k0s()}if(2&u){const e=n.XpG(2);n.Y8G("entities",e.iris())("entityData",e.entityData())("handlers",e.handlers())("mapboxToken",e.mapboxToken())("paginationPageSize",e.paginationPageSize())("variant",e.variant())}}function q(u,I){1&u&&(n.j41(0,"cue-flexcontainer",2)(1,"cue-typography",6),n.EFF(2," No project connected. "),n.k0s()())}function Y(u,I){if(1&u&&n.nVh(0,K,3,1,"cue-flexcontainer",2)(1,$,1,6,"cue-ent-list-inner",3)(2,q,3,0,"cue-flexcontainer",2),2&u){const e=n.XpG();n.vxM("error"===e.state()?0:e.handlers()?1:2)}}let Q=(()=>{class u{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");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;_inputWarningTimer;handlers=(0,y.EW)(()=>{var e=this;const t=this._entities();if(t)return{requestData:(i,a)=>{const l=i.map(m=>m.split("/").pop()).filter(Boolean);t.requestEntityData(l,a)},requestLocations:i=>{if(!this.mapboxToken())return void console.warn("[cue-entity-list] No mapboxToken provided \u2014 skipping map location fetch.");const a=i.map(l=>l.split("/").pop()).filter(Boolean);t.requestEntityLocations(a)},checkHasLocations:(i=(0,x.A)(function*(a){const l=e.sdkState()?.cue,m=e.sdkState()?.projectId;if(!(e.mapboxToken()&&l&&m&&a.length))return!1;const D=`PREFIX qcy: <https://dev.qaecy.com/ont#>\nASK WHERE {\n ?entity qcy:hasEntityCategory ?cat .\n FILTER(?cat IN (${a.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 l.api.sparql(D,m))?.boolean}catch{return!1}}),function(l){return i.apply(this,arguments)})};var i});constructor(){this._inputWarningTimer=setTimeout(()=>{this.sdkState()||console.warn('[cue-entity-list] Required input "sdkState" is not set. Pass a { entities: CueProjectEntities } (or include a `cue` instance) object to load entity data.')},3e3),(0,o.QZP)(()=>{this._setupEntities(this.sdkState()?.entities)})}ngOnDestroy(){clearTimeout(this._inputWarningTimer),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 t=e.entityInfoMap.get(),i={};for(const a of Object.keys(t)){const l=t[a],m=Array.isArray(l.documentRefs)?l.documentRefs.map(b=>"string"==typeof b?{id:b}:b):l.documentRefs;i[e.entityIri(a)]={...l,documentRefs:m}}this.entityData.set(i)}_teardown(){this._unsubscribe?.(),this._unsubscribe=void 0}static \u0275fac=function(t){return new(t||u)};static \u0275cmp=n.VBU({type:u,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:3,vars:1,consts:[["body",""],[3,"ngTemplateOutlet"],["direction","column","align","center","justify","center",2,"height","100%","width","100%","padding","8px"],[2,"height","100%",3,"entities","entityData","handlers","mapboxToken","paginationPageSize","variant"],[2,"color","#c44","font-size","13px"],[2,"height","100%",3,"rowClicked","clickedOpen","entities","entityData","handlers","mapboxToken","paginationPageSize","variant"],[2,"color","#9ca3af","font-size","13px"]],template:function(t,i){if(1&t&&(n.DNE(0,Y,3,1,"ng-template",null,0,n.C5r),n.eu8(2,1)),2&t){const a=n.sdS(1);n.R7$(2),n.Y8G("ngTemplateOutlet",a)}},dependencies:[z,G.n,U.Typography,X.T3],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"],changeDetection:0})}return u})()}}]);