import{W as $,ja as _}from"./chunk-Q232IBQN.js";import{h as N,m as s}from"./chunk-K3AFQ46O.js";import{H as b,Ma as j,O as I,T as S,U as E,ba as P,e as n,f,p as w,sa as g,u as a,v as m,xa as o}from"./chunk-O7RN3KYY.js";import{a as h}from"./chunk-ZE2KCNEA.js";import{j as l}from"./chunk-CEWFFWI2.js";h();h();var y=(()=>{class r{constructor(){this.zone=o(j),this.postMessageSubject=new n,this.postMessage$=this.postMessageSubject.asObservable(),this.init()}init(){let e=t=>{if(!t.isTrusted){console.debug("Untrusted message event ignored",t);return}this.zone.run(()=>{this.postMessageSubject.next({origin:t.origin,data:t.data})})};this.zone.runOutsideAngular(()=>{window.addEventListener("message",e)})}static{this.\u0275fac=function(t){return new(t||r)}}static{this.\u0275prov=g({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();var G=(()=>{class r{constructor(){this.http=o(N),this.postMessageService=o(y),this.analyticsService=o(_),this.widgetsResizedSubject=new n,this.widgetsRefreshedSubject=new n,this.widgetsExistSubject=new f(!0),this.widgetsResized$=this.widgetsResizedSubject.asObservable(),this.widgetPostMessage$=this.postMessageService.postMessage$.pipe(b(e=>!!(e?.data?.widget&&e?.data?.message)),m(e=>({widgetId:Number(e.data.widget),data:e.data})),P()),this.widgetsRefreshed$=this.widgetsRefreshedSubject.asObservable(),this.widgetsExist$=this.widgetsExistSubject.asObservable().pipe(E()),this.widgetLoadQueueSubject=new n,this.widgetLoadQueue$=this.widgetLoadQueueSubject.asObservable(),this.widgetLoadQueue$.pipe(I(e=>w(e.callback).pipe(S(e.delay)))).subscribe(e=>e())}ngOnDestroy(){this.widgetLoadQueueSubject.complete(),this.widgetsRefreshedSubject.complete(),this.widgetsExistSubject.complete(),this.widgetLoadQueueSubject.complete()}getWidgets(e){return a(this.http.get(`${s.API_ENDPOINT_V1}/widgets/`,{params:e}))}getWidget(e){return this.http.get(`${s.API_ENDPOINT_V1}/widgets/${e}/`)}getUnauthenticatedWidget(e){return this.http.get(`${s.API_ENDPOINT_V1}/widgets/unauthenticated/${e}/`)}getFolders(e){return a(this.http.get(`${s.API_ENDPOINT_V1}/widgets/folders/`,{params:e}))}getWidgetsAndFolders(e=!1){let t=this.getWidgets({shown:!0,shown_rhs:e?!0:void 0}),d=this.getFolders();return Promise.all([t,d]).then(([v,A])=>{let u=[],p=new Map;return A.forEach(i=>{let c=[];u.push({folder:i,order:i.order,type:"folder",widgets:c}),p.set(i.id,c)}),v.forEach(i=>{i.preferences?.folder?p.has(i.preferences.folder.id)&&p.get(i.preferences.folder.id).push(i):u.push({order:i.preferences?.order,type:"widget",widget:i})}),u.sort((i,c)=>i.order-c.order)})}getUnauthenticatedWidgets(){return a(this.http.get(`${s.API_ENDPOINT_V1}/widgets/unauthenticated/`)).then(e=>e.map(t=>({type:"widget",order:void 0,widget:t})))}getDelegatedWidgets(e){return l(this,null,function*(){return(yield a(this.http.get(`${s.API_ENDPOINT_V1}/widgets/delegated/${e}/`))).map(d=>({type:"widget",order:void 0,widget:d}))})}updateOrder(e){return this.http.patch(`${s.API_ENDPOINT_V1}/widgets/preferences/reorder/`,e)}createFolder(e){return this.http.post(`${s.API_ENDPOINT_V1}/widgets/folders/`,e)}updateFolder(e,t){return this.http.patch(`${s.API_ENDPOINT_V1}/widgets/folders/${e}/`,t)}deleteFolder(e){return this.http.delete(`${s.API_ENDPOINT_V1}/widgets/folders/${e}/`)}updatePreferences(e,t){return this.http.patch(`${s.API_ENDPOINT_V1}/widgets/preferences/${e}/`,t)}getWidgetIcons(){return this.http.get(`${s.API_ENDPOINT_V1}/widgets/admin/icons/`)}sendWidgetAnalyticsEvent(e,t,d){this.analyticsService.analyticsEvent({type:e,properties:{id:t.id,name:t.name,folder_id:d?.id||null,folder_name:d?.name||""}})}sendWidgetSizeChangedAnalyticsEvent(e,t){this.analyticsService.analyticsEvent({type:$.WIDGET_SIZE_CHANGED,properties:{id:e.id,name:e.name,width:t.width,height:t.height}})}queueIframeLoading(e,t=1e3){this.widgetLoadQueueSubject.next({delay:t,callback:e})}refreshWidgets(){this.widgetsRefreshedSubject.next()}widgetsResized(){this.widgetsResizedSubject.next()}widgetsExist(e){this.widgetsExistSubject.next(e)}static{this.\u0275fac=function(t){return new(t||r)}}static{this.\u0275prov=g({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();export{y as a,G as b};