1import{S as l,Te as n,Y as c,aa as o,f as h,yh as m}from"./chunk-64YGCNNQ.js";import{g as u}from"./chunk-ODN5LVDJ.js";var d=u(m());var a=class a{get searchParams(){return this._searchParams}set searchParams(e){this._searchParams=e,this.reset(),this.searchParamsChange.emit(this._searchParams)}constructor(e,t){this._modelKey=e,this._datagridService=t,this.searchParamsChange=new l,this.preventInitialLoad=!1,this.selectedMap=new Map,this.loading=!1,this.selectAll=!1,this.selectedCount=0}search(){return this.loading=!0,this.fetchResults().then(e=>(this.searchParams.TotalCount=e.TotalCount,this.searchResult=e,this.selectAll&&e.Result?.forEach(t=>{this.hasItem(t)||this.setItem(t,!0,!1)}),e)).finally(()=>this.loading=!1)}reset(){this.selectedMap=new Map,this.selectAll=!1,this.selectedCount=0}lazyLoad(e){if(this.preventInitialLoad){this.preventInitialLoad=!1;return}return this._datagridService.mapDatagridPagingToPagedSearch(e,this.searchParams),this.search()}onRowSelectionChange(e){let t=e[this._modelKey];if(this.selectedMap.has(t)){let s=this.selectedMap.get(t);this.setItem(e,!s)}else this.setItem(e,!0)}onSelectAllChange(e){e||(e=()=>
1!0),this.selectAll?(this.searchResult?.Result?.forEach(t=>{this.setItem(t,e(t),!1)}),this.selectedCount=this.searchResult?.TotalCount??0):(this.selectedCount=0,this.selectedMap.clear())}itemIsSelected(e){return this.selectedMap.has(e[this._modelKey])&&this.selectedMap.get(e[this._modelKey])}fetchAllSelectedIds(){if(this.selectAll){let e=JSON.parse(JSON.stringify(this.searchParams));return this.searchParams.PageSize=9999,this.searchParams.PageNumber=1,this.fetchResults().then(t=>{let s=t.Result.map(i=>i[this._modelKey]);return s=s.filter(i=>!this.selectedMap.has(i)||this.selectedMap.get(i)),s}).finally(()=>{this.searchParams=e})}else{let e=[];for(let t of this.selectedMap.entries())t[1]&&e.push(t[0]);return Promise.resolve(e)}}hasItem(e){return this.selectedMap.has(e[this._modelKey])}setItem(e,t,s=!0){this.selectedMap.set(e[this._modelKey],t),s&&(t?this.selectedCount+=1:this.selectedCount-=1)}};a.\u0275fac=function(t){c()},a.\u0275dir=o({type:a,inputs:{searchParams:"searchParams",preventInitialLoad:"preventInitialLoad"},outputs:{searchParamsChange:"searchParamsChange"}});var r=a;h([(0,d.debounce)(100)],r.prototype,"search",null);h([n()],r.prototype,"lazyLoad",null);export{r as a};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.