1import{a as w,i as D,o as x,t as A}from"./chunk-JAOQM8Cn.js";import{n as e,r as m,t as a}from"./chunk-BtAgi5yo.js";import{$n as gb,$r as sM,Ai as yy,An as bB,At as Pe,B as Hu,Bn as d_,Br as oM,Cn as _b,Dr as lM,F as Gf,Fi as zy,Fn as by,H as I_$1,It as Qy,Kn as eT,Kr as pi,Lr as nC,Mn as ba,Mr as mM,Nt as QI,On as aM,Or as l_,P as G_$1,Pr as mb,Qr as sI,Qt as UM,R as Hp,Rn as cv,Rr as nv,T as Eb,Ti as xn,U as Ib,V as IB,Wn as eC,Wr as p_,X as Jg,Xn as f_,Xt as UC,Yn as fM,Yr as qu,Zn as gM,_i as vv,b as DB,br as jf,cr as hM,ei as se,en as Uu,g as C,gi as vb,gn as Yy,hi as v_$1,ht as Ms$1,in as Vu,jn as bI,ki as yv,li as u_,mn as Ys$1,mr as iM,mt as Me,on as WE,p as Bp,pi as vB,qn as ev,qr as pr,qt as To,rn as Vt,tr as gh,ur as hn,w as E_,x as D_$1,xn as Zy,y as Cy,yn as Zf,yr as jI,zr as oD,zt as RI}from"./chunk-CxoFO91P.js";import"./chunk-B9EQINwV.js";import"./chunk-B8hQ9hRY.js";import{f as dr,g as mr,i as En,m as lr,p as ir,t as $r,w as tr,x as rr}from"./chunk-BSxUxoJ9.js";import{c as ee,d as q,h as za,i as La,o as cn,p as ur}from"./chunk-lDPpvSHv.js";import{$ as ns$1,d as Fa,nt as os$1,yt as za$1}from"./chunk-VcoL6iPv.js";import{a as Ge,d as W,g as mn,i as Dt,l as Rt,n as At,s as It}from"./chunk-By2YZJEH.js";import{C as on,E as yt,S as mn$1,T as x$1,a as Ln,b as hn$1,c as Xe,d as Z,h as bn,i as Hn,l as Xn$1,m as _n,n as An,p as Zt,u as Yn,w as qn,x as me,y as dn}from"./chunk-wT77yv_C.js";import{c as se$1,i as ie,n as Ve,o as ot,r as at,t as Ie}from"./chunk-BWbwRDDO.js";import{L as tn,O as ks$1,S as bt,d as Os$1,f as Rs$1,n as Ds$1,s as Ki$1,u as Oe}from"./chunk-bjAWll8w.js";import{n as oe,r as zt,t as Vt$1}from"./chunk-B6AFCrpj.js";import{i as x$2,r as v,t as A$1}from"./chunk-CeTshE9V.js";import"./chunk-Cy8M3DFp.js";import{B as Iut,C as EDt,Cn as emt,Ct as SDt,Dt as Ss$1,E as F2,Er as uDt,Ht as WDt,I as H2,In as imt,Ir as wDt,It as V3,J as L2,Kt as Xi,Ln as j_$1,M as G2,Mr as umt,Nt as Tut,O as FDt,On as fw,P as Gi,Q as Lut,R as Hy,Rr as wut,Sr as smt,St as Ry,T as Eut,Tt as Se,Un as kb,V as Iy,Vr as xt,Vt as Vu$1,Yn as lDt,Z as Lr,_n as dDt,b as CDt,bt as Ru,cr as pDt,ct as Out,dt as Put,ft as Py,g as Br,h as B_$1,hn as cw,ht as QDt,i as ADt,ir as nmt,j as Fe,jn as gt,lt as Oy,mn as cn$1,n as $l$1,nn as _N,on as amt,or as omt,rt as NDt,tn as _Dt,un as bs$1,v as But,vr as ri,yr as rmt,z as IDt,zr as x6,zt as Vi}from"./chunk-CuLU5e60.js";import{r as xt$1,t as $t}from"./chunk-o0JnlHDi.js";import"./chunk-DuvG6BNl.js";import"./chunk-CLvo8Vac.js";import{i as n,r as l,t as a$1}from"./chunk-DWHaKLt5.js";import{n as s,r as u,t as c}from"./chunk-BwV9B6ng.js";import{B as Vi$1,Bt as xn$1,D as Mn,Dt as re,E as Mi,F as Si,Ft as vi,G as Yn$1,J as _i,K as Zi,Lt as wi,N as Qn,Q as bi,R as Tn,Rt as wn$1,S as K3,W as Y3,Z as an,a as Bn,at as fi,b as J3,c as Di,ct as gn,d as En$1,f as Fn,gt as li,j as Pn,l as Dn,lt as hi,n as Ai,p as G3,pt as jn,r as An$1,t as $n,wt as pi$1,x as Jn,xt as nn,y as In,z as Un}from"./chunk-D_dbFl39.js";import{s as nt}from"./chunk-OeT5qc2p.js";import{r as w$1,t as P}from"./chunk-C69NRcih.js";import{i as Oi,o as ft,r as Mn$1,s as ut}from"./chunk-Cv6ygRaT.js";import{a as u$1,o as x$3}from"./chunk-C-DmOUGv.js";import{_ as io,a as Ji,b as to,d as Vi$2,f as Wi,g as eo,h as Zi$1,l as Qi,m as Yi,n as Ct,o as Jt,p as Xi$1,r as Gi$1,s as Ki$2,t as $i,u as Ui,v as qi,y as ri$1}from"./chunk-BKq0JhLf.js";import{t as e$1}from"./chunk-CvSvxtJ1.js";import{c as en,n as J,p as ti,t as Bt,u as nn$1}from"./chunk-CiX_9krx.js";import{i as rt,n as Et,r as ot$1,t as At$1}from"./chunk-6hMNn6Pt.js";import{a as en$1,i as St,n as G,r as I,t as $t$1}from"./chunk-CWY5ISj4.js";import{n as K,r as U,t as B}from"./chunk-so9DU0l1.js";import{n as rt$1}from"./chunk-YtCrS67E.js";import{t as e$2}from"./chunk-DtJ88Xk42.js";import"./chunk-D8dy_WFy2.js";import{n as he,r as le,t as Te}from"./chunk-CE7bq8-d2.js";import{t as Yt}from"./chunk-BkVEfmKh2.js";import{n as v$1,t as u$2}from"./chunk-BwhuYImP2.js";import{n as ft$1,r as vt,t as Et$1}from"./chunk-C2UJrHyM2.js";import{a as ce,i as ae,o as ne,r as Nt,s as oe$1,t as It$1}from"./chunk-CIiDTwJj2.js";import{i as xt$2,n as ct,r as rt$2,t as Vt$2}from"./chunk-BlXs_SGC2.js";import"./chunk-CGLxRimf2.js";import{a as Za,c as qn$1,i as Xa,r as Qn$1,s as na,t as Ja}
1from"./chunk-CopqJw_W2.js";import"./chunk-6CJK8ym62.js";import{a as it,i as Rt$1,t as At$2}from"./chunk-9SDvr2wk2.js";import{n as je,t as fe}from"./chunk-K-wrNc_a2.js";import"./chunk-BMwlEQ682.js";import"./chunk-Ca-ZNuF12.js";import"./chunk-BGsnLOTg2.js";import{t as Qt}from"./chunk-oEue9z0n2.js";import{t as f}from"./chunk-Bo_vXi5g2.js";import"./chunk-DHeAH-C82.js";import{r as se$2,t as Ce}from"./chunk-BcUVmezK2.js";import{n as w$2,t as c$1}from"./chunk-H7h6KKS-2.js";import{n as pE,t as e$3}from"./chunk-C_lwjiek2.js";import{n as p,t as h}from"./chunk-CJQLhcla.js";import{a as Rn,n as Dn$1,o as Ue,r as Ge$1,t as $e}from"./chunk-uktGq10B.js";import{n as Z$1,t as M}from"./chunk-DXke1geA.js";import{i as ve,n as X,r as pe,t as Pe$1}from"./chunk-BAHDcqv9.js";import{a as M$1,c as z,i as L,o as T,r as G$1,s as k,t as B$1}from"./chunk-GSEAxXxX.js";import"./chunk-B5Oq6vuy.js";import{n as dt,t as St$1}from"./chunk-BcNb2HjQ.js";import{d as Uo,g as vt$1,h as vo,n as At$3,o as Mt,p as ko,r as Bo,s as N,u as Tt}from"./chunk-BTlwi_06.js";import{r as tt,t as $}from"./chunk-Cm_Wq4UG.js";import{n as et,t as Ge$2}from"./chunk-BIkQFpX5.js";import{n as he$1,r as me$1,t as Re}from"./chunk-BGN4fC5a.js";import{n as ie$1,r as ne$1,t as G$2}from"./chunk-CiQjXJOY.js";import{n as zt$1,t as xe}from"./chunk-uJTQINZC.js";import{n as U$1,r as q$1,t as C$1}from"./chunk-BUZdPUaO2.js";function Nl(t,o){if(t&1&&(Ms$1(0,`mat-option`,25),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e),eT(),yv(e)}}function gl(t,o){t&1&&(Ms$1(0,`th`,51),Uu(1),l_(2,2),Ys$1(),Hu())}function Ol(t,o){if(t&1&&(Ms$1(0,`td`,52),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.id,` `)}}function Il(t,o){t&1&&(Ms$1(0,`th`,53),Uu(1),l_(2,3),Ys$1(),Hu())}function Dl(t,o){t&1&&(Uu(0),l_(1,4),Ys$1())}function hl(t,o){t&1&&(Uu(0),l_(1,5),Ys$1())}function Rl(t,o){t&1&&(Uu(0),l_(1,6),Ys$1())}function Ll(t,o){if(t&1&&(Ms$1(0,`td`,54),gb(1,Dl,2,0,`ng-container`)(2,hl,2,0,`ng-container`)(3,Rl,2,0,`ng-container`),Hu()),t&2){let e=o.$implicit;eT(),mb(e.name===`GATHER_ASSET_PROFILE`?1:e.name===`GATHER_HISTORICAL_MARKET_DATA`?2:e.name===`PORTFOLIO`?3:-1)}}function bl(t,o){t&1&&(Ms$1(0,`th`,55),Uu(1),l_(2,7),Ys$1(),Hu())}function Gl(t,o){if(t&1&&(Ms$1(0,`td`,54),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.data?.symbol,` `)}}function vl(t,o){t&1&&(Ms$1(0,`th`,56),Uu(1),l_(2,8),Ys$1(),Hu())}function yl(t,o){if(t&1&&(Ms$1(0,`td`,54),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.data?.dataSource,` `)}}function $l(t,o){t&1&&(Ms$1(0,`th`,57),Uu(1),l_(2,9),Ys$1(),Hu())}function Fl(t,o){t&1&&by(0,`ion-icon`,58)}function xl(t,o){t&1&&by(0,`ion-icon`,59)}function kl(t,o){t&1&&by(0,`ion-icon`,60)}function wl(t,o){if(t&1&&(Ms$1(0,`td`,54),gb(1,Fl,1,0,`ion-icon`,58)(2,xl,1,0,`ion-icon`,59)(3,kl,1,0,`ion-icon`,60),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(e.opts.priority===i.DATA_GATHERING_QUEUE_PRIORITY_LOW?1:e.opts.priority===i.DATA_GATHERING_QUEUE_PRIORITY_MEDIUM?2:e.opts.priority===i.DATA_GATHERING_QUEUE_PRIORITY_HIGH?3:-1)}}function Ul(t,o){t&1&&(Ms$1(0,`th`,61),Uu(1),l_(2,10),Ys$1(),Hu())}function Xl(t,o){if(t&1&&(Ms$1(0,`td`,52),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.attemptsMade,` `)}}function zl(t,o){t&1&&(Ms$1(0,`th`,62),Uu(1),l_(2,11),Ys$1(),Hu())}function Vl(t,o){if(t&1&&(Ms$1(0,`td`,54),G_$1(1),fM(2,`date`),Hu()),t&2){let e=o.$implicit,i=p_();eT(),qu(` `,gM(2,1,e.timestamp,i.defaultDateTimeFormat),` `)}}function Bl(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,12),Ys$1(),Hu())}function Kl(t,o){if(t&1&&(Ms$1(0,`td`,54),G_$1(1),fM(2,`date`),Hu()),t&2){let e=o.$implicit,i=p_();eT(),qu(` `,gM(2,1,e.finishedOn,i.defaultDateTimeFormat),` `)}}function Hl(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,13),Ys$1(),Hu())}function Jl(t,o){t&1&&by(0,`ion-icon`,64)}function jl(t,o){t&1&&by(0,`ion-icon`,65)}function Wl(t,o){if(t&1&&by(0,`ion-icon`,70),t&2){let e=p_().$implicit;cv(`text-danger`,e.stacktrace?.length>0)}}function ql(t,o){t&1&&by(0,`ion-icon`,67)}function Ql(t,o){t&1&&by(0,`ion-icon`,68)}function Yl(t,o){t&1&&by(0,`ion-icon`,69)}function Zl(t,o){if(t&1&&(Ms$1(0,`td`,54),gb(1,Jl,1,0,`ion-icon`,64)(2,jl,1,0,`ion-icon`,65)(3,Wl,1,2,`ion-icon`,66)(4,ql,1,0,`ion-icon`,67)(5,Ql,1,0,`ion-icon`,68)(6,Yl,1,0,`ion-icon`,69),Hu()),t&2){let e=o.$implicit;eT(),mb(e.state===`active`?1:e.state===`completed`?2:e.state===`delayed`?3:e.state===`failed`?4:e.state===`paused`?5:e.state===`waiting`?6:-1)}}function es(t,o){if(t&1){let e=_b();Ms$1(0,`th`,71)(1,`button`,72),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,73),Hu(),Ms$1(3,`mat-menu`,74,0)(5,`button`,75),Yy(`click`,function(){Hp(e);return Bp(p_().onDeleteJobs())}),Uu(6),l_(7,14),Ys$1(),Hu()()()}if(t&2){let e=D_$1(4);eT(),Cy(`matMenuTriggerFor`,e)}}function ts(t,o){if(t&1){let e=_b();Ms$1(0,`td`,52)(1,`button`,72),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,76),Hu(),Ms$1(3,`mat-menu`,74,1)(5,`button`,75),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onViewData(n.data))}),Ms$1(6,`span`),Uu(7),l_(8,15),Ys$1(),G_$1(9,`...`),Hu()(),Ms$1(10,`button`,77),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onViewStacktrace(n.stacktrace))}),Ms$1(11,`span`),Uu(12),l_(13,16),Ys$1(),G_$1(14,`...`),Hu()(),Ms$1(15,`button`,75),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onExecuteJob(n.id))}),Uu(16),l_(17,17),Ys$1(),Hu(),by(18,`hr`,78),Ms$1(19,`button`,75),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onDeleteJob(n.id))}),Uu(20),l_(21,18),Ys$1(),Hu()()()}if(t&2){let e=o.$implicit,i=D_$1(4);eT(),Cy(`matMenuTriggerFor`,i),eT(9),Cy(`disabled`,e.stacktrace?.length<=0)}}function is(t,o){t&1&&by(0,`tr`,79)}function ns(t,o){t&1&&by(0,`tr`,80)}function os(t,o){t&1&&by(0,`ngx-skeleton-loader`,50),t&2&&Cy(`theme`,iM(1,Ml))}var Ml;var O_;var I_=A(()=>{Mn$1();Ry();H2();$t();it();mr();UM();w$1();An();za$1();St();ti();ot$1();Jt();G3();K3();J3();Iy();U();UM();An();za$1();St();It();ti();ot$1();Jt();U();mr();Ml=()=>({height:`1.5rem`,width:`100%`});O_=(()=>{class t{constructor(){this.sort=DB.required(rt),this.DATA_GATHERING_QUEUE_PRIORITY_HIGH=Put,this.DATA_GATHERING_QUEUE_PRIORITY_LOW=_N,this.DATA_GATHERING_QUEUE_PRIORITY_MEDIUM=Out,this.dataSource=new Ct,this.filterForm=new x$1({status:new Z(null)}
1),this.displayedColumns=[`index`,`type`,`symbol`,`dataSource`,`priority`,`attempts`,`created`,`finished`,`status`,`actions`],this.isLoading=!1,this.statusFilterOptions=umt,this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.destroyRef=C(Me),this.notificationService=C(xt$1),this.userService=C(Oi),this.userService.stateChanged.pipe(P(this.destroyRef)).subscribe(e=>{e?.user&&(this.user=e.user,this.defaultDateTimeFormat=wDt(this.user.settings.locale))}),nt({alertCircleOutline:an,cafeOutline:wn$1,checkmarkCircleOutline:Mn,chevronDownCircleOutline:Bn,chevronUpCircleOutline:An$1,ellipsisHorizontal:$n,ellipsisVertical:Fn,openOutline:li,pauseOutline:vi,playOutline:wi,removeCircleOutline:Mi,timeOutline:Zi})}ngOnInit(){this.filterForm.valueChanges.pipe(P(this.destroyRef)).subscribe(()=>{let e=this.filterForm.controls.status.value;this.fetchJobs(e?[e]:void 0)}),this.fetchJobs()}onDeleteJob(e){this.adminService.deleteJob(e).pipe(P(this.destroyRef)).subscribe(()=>{this.fetchJobs()})}onDeleteJobs(){let e=this.filterForm.controls.status.value;this.adminService.deleteJobs({status:e?[e]:[]}).pipe(P(this.destroyRef)).subscribe(()=>{this.fetchJobs(e?[e]:void 0)})}onExecuteJob(e){this.adminService.executeJob(e).pipe(P(this.destroyRef)).subscribe(()=>{this.fetchJobs()})}onViewData(e){this.notificationService.alert({title:JSON.stringify(e,null,` `)})}onViewStacktrace(e){this.notificationService.alert({title:JSON.stringify(e,null,` `)})}fetchJobs(e){this.isLoading=!0,this.adminService.fetchJobs({status:e}).pipe(P(this.destroyRef)).subscribe(({jobs:i})=>{this.dataSource=new Ct(i),this.dataSource.sort=this.sort(),this.dataSource.sortingDataAccessor=Lr,this.isLoading=!1,this.changeDetectorRef.markForCheck()})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-jobs`]],viewQuery:function(i,n){i&1&&nv(n.sort,rt,5),i&2&&E_()},decls:43,vars:5,consts:()=>{let e;e="Job ID";let i;i="Type";let n;n="Asset Profile";let s;s="Historical Market Data";let A;A="Portfolio Snapshot";let O;O="Symbol";let h;h="Data Source";let b;b="Priority";let $;$="Attempts";let K;K="Created";let x;x="Finished";let G;G="Status";let Y;Y="Delete Jobs";let X;X="View Data";let Ce;Ce="View Stacktrace";let se;se="Execute Job";let ue;return ue="Delete Job",[[`jobsActionsMenu`,`matMenu`],[`jobActionsMenu`,`matMenu`],e,i,n,s,A,O,h,b,$,K,x,G,Y,X,Ce,se,ue,[1,`container`],[1,`row`],[1,`col`],[1,`align-items-center`,`d-flex`,3,`formGroup`],[`appearance`,`outline`,1,`w-100`,`without-hint`],[`formControlName`,`status`],[3,`value`],[`mat-table`,``,`matSort`,``,`matSortActive`,`created`,`matSortDirection`,`desc`,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`index`],[`class`,`justify-content-end px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`id`,4,`matHeaderCellDef`],[`class`,`px-1 py-2 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`type`],[`class`,`px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`name`,4,`matHeaderCellDef`],[`class`,`px-1 py-2`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`symbol`],[`class`,`px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`data.symbol`,4,`matHeaderCellDef`],[`matColumnDef`,`dataSource`],[`class`,`px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`data.dataSource`,4,`matHeaderCellDef`],[`matColumnDef`,`priority`],[`class`,`px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`opts.priority`,4,`matHeaderCellDef`],[`matColumnDef`,`attempts`],[`class`,`px-1 py-2 text-right`,`mat-header-cell`,``,`mat-sort-header`,`attemptsMade`,4,`matHeaderCellDef`],[`matColumnDef`,`created`],[`class`,`px-1 py-2`,`mat-header-cell`,``,`mat-sort-header`,`timestamp`,4,`matHeaderCellDef`],[`matColumnDef`,`finished`],[`class`,`px-1 py-2`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`matColumnDef`,`status`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`class`,`px-1 py-2 text-right`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[`mat-header-cell`,``,`mat-sort-header`,`id`,1,`justify-content-end`,`px-1`,`py-2`],[`mat-cell`,``,1,`px-1`,`py-2`,`text-right`],[`mat-header-cell`,``,`mat-sort-header`,`name`,1,`px-1`,`py-2`],[`mat-cell`,``,1,`px-1`,`py-2`],[`mat-header-cell`,``,`mat-sort-header`,`data.symbol`,1,`px-1`,`py-2`],[`mat-header-cell`,``,`mat-sort-header`,`data.dataSource`,1,`px-1`,`py-2`],[`mat-header-cell`,``,`mat-sort-header`,`opts.priority`,1,`px-1`,`py-2`],[`name`,`chevron-down-circle-outline`,1,`h6`,`mb-0`],[`name`,`remove-circle-outline`,1,`h6`,`mb-0`],[`name`,`chevron-up-circle-outline`,1,`h6`,`mb-0`],[`mat-header-cell`,``,`mat-sort-header`,`attemptsMade`,1,`px-1`,`py-2`,`text-right`],[`mat-header-cell`,``,`mat-sort-header`,`timestamp`,1,`px-1`,`py-2`],[`mat-header-cell`,``,1,`px-1`,`py-2`],[`name`,`play-outline`,1,`h6`,`mb-0`],[`name`,`checkmark-circle-outline`,1,`h6`,`mb-0`,`text-success`],[`name`,`time-outline`,1,`h6`,`mb-0`,3,`text-danger`],[`name`,`alert-circle-outline`,1,`h6`,`mb-0`,`text-danger`],[`name`,`pause-outline`,1,`h6`,`mb-0`],[`name`,`cafe-outline`,1,`h6`,`mb-0`],[`name`,`time-outline`,1,`h6`,`mb-0`],[`mat-header-cell`,``,1,`px-1`,`py-2`,`text-right`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-vertical`],[`xPosition`,`before`],[`mat-menu-item`,``,3,`click`],[`name`,`ellipsis-horizontal`],[`mat-menu-item`,``,3,`click`,`disabled`],[1,`m-0`],[`mat-header-row`,``],[`mat-row`,``]]},template:function(i,n){i&1&&(Ms$1(0,`div`,19)(1,`div`,20)(2,`div`,21)(3,`form`,22)(4,`mat-form-field`,23)(5,`mat-select`,24),by(6,`mat-option`),Ib(7,Nl,2,2,`mat-option`,25,vb),Hu(),eC(),Hu()(),Ms$1(9,`table`,26),Uu(10,27),yy(11,gl,3,0,`th`,28)(12,Ol,2,1,`td`,29),Ys$1(),Uu(13,30),yy(14,Il,3,0,`th`,31)(15,Ll,4,1,`td`,32),Ys$1(),Uu(16,33),yy(17,bl,3,0,`th`,34)(18,Gl,2,1,`td`,32),Ys$1(),Uu(19,35),yy(20,vl,3,0,`th`,36)(21,yl,2,1,`td`,32),Ys$1(),Uu(22,37),yy(23,$l,3,0,`th`,38)(24,wl,4,1,`td`,32),Ys$1(),Uu(25,39),yy(26,Ul,3,0,`th`,40)(27,Xl,2,1,`td`,29),Ys$1(),Uu(28,41),yy(29,zl,3,0,`th`,42)(30,Vl,3,4,`td`,32),Ys$1(),Uu(31,43),yy(32,Bl,3,0,`th`,44)(33,Kl,3,4,`td`,32),Ys$1(),Uu(34,45),yy(35,Hl,3,0,`th`,44)(36,Zl,7,1,`td`,32),Ys$1(),Uu(37,46),yy(38,es,8,1,`th`,47)(39,ts,22,2,`td`,29),Ys$1(),yy(40,is,1,0,`tr`,48)(41,ns,1,0,`tr`,49),Hu(),gb(42,os,1,2,`ngx-skeleton-loader`,50),Hu()()()),i&2&&(eT(3),Cy(`formGroup`,n.filterForm),eT(2),nC(),eT(2),Eb(n.statusFilterOptions),eT(2),Cy(`dataSource`,n.dataSource),eT(31),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),mb(n.isLoading?42:-1))},dependencies:[lr,Xn$1,qn,Hn,Ln,Y3,os$1,ns$1,en$1,I,G,$t$1,nn$1,Ge,en,J,At$1,rt,Et,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,K,B,Yn,_n,mn$1,rr],styles:[`[_nghost-%COMP%]{display:block}`]})}}return t})()});function _s(t,o){if(t&1){let e=_b();Ms$1(0,`mat-chip-row`,11),Yy(`removed`,function(){let n=Hp(e).$implicit;return Bp(p_().onRemoveFilter(n))}),G_$1(1),Ms$1(2,`button`,12),by(3,`ion-icon`,13),Hu()()}if(t&2){let e=o.$implicit;Cy(`removable`,!0),eT(),qu(` `,e.label,` `)}}function ls(t,o){if(t&1&&(Ms$1(0,`mat-option`,14),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e.id),eT(),qu(` `,e.label,` `)}}function ss(t,o){if(t&1&&(Ms$1(0,`mat-optgroup`,9),Ib(1,ls,2,2,`mat-option`,14,vb),Hu()),t&2){let e=o.$implicit;Cy(`label`,e.name),eT(),Eb(e.filters)}}function ms(t,o){t&1&&by(0,`mat-spinner`,10),t&2&&Cy(`diameter`,20)}var as;var rs;var D_;var h_=A(()=>{mr();UM();w$1();An();ct();za$1();It$1();Ie();G$2();G3();K3();J3();Iy();pi();G2();UM();ct();ti();It$1();It();G$2();An();mr();as=[`autocomplete`],rs=[`searchInput`];D_=(()=>{class t{constructor(e){this.destroyRef=e,this.isLoading=IB.required(),this.placeholder=IB.required(),this.valueChanged=vB(),this.filterGroups$=new pr([]),this.searchControl=new Z(null),this.selectedFilters=[],this.separatorKeysCodes=[13,188],this.searchControl.valueChanges.pipe(P(this.destroyRef)).subscribe(i=>{if(i){let n=typeof i==`string`?i:i?.label;this.filterGroups$.next(this.getGroupedFilters(n))}else this.filterGroups$.next(this.getGroupedFilters())}),nt({closeOutline:jn,searchOutline:bi})}ngOnChanges(e){e.allFilters?.currentValue&&this.updateFilters()}onAddFilter({chipInput:e,value:i}){i?.trim()&&this.updateFilters(),e.inputElement&&(e.inputElement.value=``),this.searchControl.setValue(null)}onRemoveFilter(e){this.selectedFilters=this.selectedFilters.filter(({id:i})=>i!==e.id),this.updateFilters()}onSelectFilter(e){let i=this.allFilters.find(({id:n})=>n===e.option.value);i&&this.selectedFilters.push(i),this.updateFilters(),this.searchInput.nativeElement.value=``,this.searchControl.setValue(null)}getGroupedFilters(e){let i=B_$1(this.allFilters.filter(s=>!this.selectedFilters.some(({id:A})=>A===s.id)).filter(s=>e?s.label?.toLowerCase().includes(e.toLowerCase()):s).sort((s,A)=>(s.label??``).localeCompare(A.label??``)),({type:s})=>s),n=[];for(let s of Object.keys(i))n.push({name:QDt(s),filters:i[s]});return n.sort((s,A)=>s.name?.localeCompare(A.name)).map(s=>x(w({},s),{filters:s.filters}))}updateFilters(){this.filterGroups$.next(this.getGroupedFilters()),this.valueChanged.emit([...this.selectedFilters])}static{this.ɵfac=function(i){return new(i||t)(To(Me))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-activities-filter`]],viewQuery:function(i,n){if(i&1&&ev(as,5)(rs,5),i&2){let s;v_$1(s=I_$1())&&(n.matAutocomplete=s.first),v_$1(s=I_$1())&&(n.searchInput=s.first)}},inputs:{allFilters:`allFilters`,isLoading:[1,`isLoading`],placeholder:[1,`placeholder`]},outputs:{valueChanged:`valueChanged`},features:[oD],decls:14,vars:8,consts:[[`chipList`,``],[`searchInput`,``],[`autocomplete`,`matAutocomplete`],[`appearance`,`outline`,1,`w-100`],[`matPrefix`,``,`name`,`search-outline`,1,`mat-icon`],[`aria-label`,`Search keywords`],[1,`mx-1`,`my-0`,`px-2`,`py-0`,3,`removable`],[`name`,`close-outline`,3,`matChipInputTokenEnd`,`formControl`,`matAutocomplete`,`matChipInputFor`,`matChipInputSeparatorKeyCodes`,`placeholder`],[3,`optionSelected`],[3,`label`],[`matSuffix`,``,1,`mx-2`,3,`diameter`],[1,`mx-1`,`my-0`,`px-2`,`py-0`,3,`removed`,`removable`],[`matChipRemove`,``,`type`,`button`],[`name`,`close-outline`],[3,`value`]],template:function(i,n){if(i&1&&(Ms$1(0,`mat-form-field`,3),by(1,`ion-icon`,4),Ms$1(2,`mat-chip-grid`,5,0),Ib(4,_s,4,2,`mat-chip-row`,6,vb),Ms$1(6,`input`,7,1),Yy(`matChipInputTokenEnd`,function(A){return n.onAddFilter(A)}),Hu(),eC(),Hu(),Ms$1(8,`mat-autocomplete`,8,2),Yy(`optionSelected`,function(A){return n.onSelectFilter(A)}),Ib(10,ss,3,1,`mat-optgroup`,9,vb),fM(12,`async`),Hu(),gb(13,ms,1,1,`mat-spinner`,10),Hu()),i&2){let s=D_$1(3),A=D_$1(9);eT(4),Eb(n.selectedFilters),eT(2),Cy(`formControl`,n.searchControl)(`matAutocomplete`,A)(`matChipInputFor`,s)(`matChipInputSeparatorKeyCodes`,n.separatorKeysCodes)(`placeholder`,n.placeholder()),nC(),eT(4),Eb(hM(12,6,n.filterGroups$)),eT(3),mb(n.isLoading()?13:-1)}},dependencies:[lr,Y3,xt$2,Vt$2,J,Bt,rt$2,os$1,oe$1,ae,ce,ne,Nt,at,Ge,Rt,At,ie$1,ne$1,Yn,Xe,Hn,hn$1,tr],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-progress-spinner circle{stroke:rgba(var(--%NS%dark-dividers))}[_nghost-%COMP%] .mat-mdc-chip[_ngcontent-%COMP%]{cursor:pointer;min-height:1.5rem!important}.theme-dark[_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%], .theme-dark [_nghost-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{color:rgba(var(--%NS%light-primary-text))}.theme-dark[_nghost-%COMP%] .mat-mdc-progress-spinner circle, .theme-dark [_nghost-%COMP%] .mat-mdc-progress-spinner circle{stroke:rgba(var(--%NS%light-dividers))}`]})}}return t})()});var R_=A(()=>{h_()});var wt;var Ki=A(()=>{a();$t();it();UM();pi();UM();wt=(()=>
1{class t{constructor(){this.refreshSubject=new se,this.adminService=C(Rt$1),this.notificationService=C(xt$1)}get refresh$(){return this.refreshSubject.asObservable()}deleteAssetProfile({dataSource:e,symbol:i}){let n=new se;return this.notificationService.confirm({confirmFn:()=>{this.adminService.deleteProfileData({dataSource:e,symbol:i}).subscribe(()=>{n.next(),n.complete()})},confirmType:m.Warn,title:"Do you really want to delete this asset profile?"}),n.asObservable()}deleteAssetProfiles(e){let i=e.length,n=new se;return this.notificationService.confirm({confirmFn:()=>{bI(e.map(({dataSource:A,symbol:O})=>this.adminService.deleteProfileData({dataSource:A,symbol:O}))).pipe(ba(()=>(this.notificationService.alert({title:i===1?"Oops! Could not delete the asset profile.":"Oops! Could not delete the asset profiles."}),Vt)),jf(()=>{n.next(),n.complete()})).subscribe()},confirmType:m.Warn,title:i===1?"Do you really want to delete this asset profile?":`Do you really want to delete these ${i} asset profiles?`}),n.asObservable()}triggerRefresh(){this.refreshSubject.next()}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵprov=hn({token:t,factory:t.ɵfac,autoProvided:!1})}}return t})()});function Ss(t,o){t&1&&by(0,`th`,58)}function As(t,o){t&1&&(Ms$1(0,`div`,60),by(1,`ion-icon`,61),Hu())}function Cs(t,o){if(t&1&&(Ms$1(0,`td`,59),gb(1,As,2,0,`div`,60),Hu()),t&2){let e=o.$implicit;eT(),mb(e.isActive?-1:1)}}function us(t,o){t&1&&by(0,`td`,62)}function Es(t,o){t&1&&by(0,`th`,63)}function Ts(t,o){if(t&1){let e=_b();Ms$1(0,`mat-checkbox`,66),Yy(`change`,function(n){Hp(e);let s=p_().$implicit,A=p_();return Bp(n?A.selection.toggle(s):null)})(`click`,function(n){return n.stopPropagation()}),Hu()}if(t&2){let e=p_().$implicit;Cy(`checked`,p_().selection.isSelected(e))}}function ps(t,o){if(t&1&&(Ms$1(0,`td`,64),gb(1,Ts,1,1,`mat-checkbox`,65),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(i.canDeleteAssetProfile(lM(1,L_,e.activitiesCount,e.isBenchmark,e.symbol,e.watchedByCount))?1:-1)}}function Ps(t,o){t&1&&(Ms$1(0,`th`,67),Uu(1),l_(2,2),Ys$1(),Hu())}function Ms(t,o){if(t&1&&(Ms$1(0,`td`,64),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.symbol,` `)}}function Ns(t,o){t&1&&(Ms$1(0,`th`,68),Uu(1),l_(2,3),Ys$1(),Hu())}function gs(t,o){if(t&1&&(Ms$1(0,`div`)(1,`small`,71),G_$1(2),Hu()()),t&2){let e=p_().$implicit;eT(2),yv(e.symbol)}}function Os(t,o){if(t&1&&(Ms$1(0,`td`,69)(1,`div`,70),G_$1(2),Hu(),gb(3,gs,3,1,`div`),Hu()),t&2){let e=o.$implicit,i=p_();eT(2),yv(e.name),eT(),mb(i.isUUID(e.symbol)?-1:3)}}function Is(t,o){t&1&&by(0,`td`,72)}function Ds(t,o){t&1&&(Ms$1(0,`th`,67),Uu(1),l_(2,4),Ys$1(),Hu())}function hs(t,o){if(t&1&&(Ms$1(0,`div`)(1,`small`,71),G_$1(2),Hu()()),t&2){let e=p_().$implicit;eT(2),yv(e.dataSource)}}function Rs(t,o){if(t&1&&(Ms$1(0,`td`,73)(1,`div`),G_$1(2),Hu(),gb(3,hs,3,1,`div`),Hu()),t&2){let e=o.$implicit;eT(2),qu(` `,e.dataProviderInfo?.name??e.dataSource,` `),eT(),mb(e.dataProviderInfo?.name?3:-1)}}function Ls(t,o){t&1&&(Ms$1(0,`th`,67),Uu(1),l_(2,5),Ys$1(),Hu())}function bs(t,o){if(t&1&&(Ms$1(0,`div`)(1,`small`,71),G_$1(2),Hu()()),t&2){let e=p_().$implicit;eT(2),yv(e.assetClass)}}function Gs(t,o){if(t&1&&(Ms$1(0,`td`,73)(1,`div`),G_$1(2),Hu(),gb(3,bs,3,1,`div`),Hu()),t&2){let e=o.$implicit,i=p_();eT(2),yv(i.translate(e.assetClass)),eT(),mb(e.assetClass?3:-1)}}function vs(t,o){t&1&&(Ms$1(0,`th`,67),Uu(1),l_(2,6),Ys$1(),Hu())}function ys(t,o){if(t&1&&(Ms$1(0,`div`)(1,`small`,71),G_$1(2),Hu()()),t&2){let e=p_().$implicit;eT(2),yv(e.assetSubClass)}}function $s(t,o){if(t&1&&(Ms$1(0,`td`,73)(1,`div`),G_$1(2),Hu(),gb(3,ys,3,1,`div`),Hu()),t&2){let e=o.$implicit,i=p_();eT(2),yv(i.translate(e.assetSubClass)),eT(),mb(e.assetSubClass?3:-1)}}function Fs(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,7),Ys$1(),Hu())}function xs(t,o){if(t&1&&(Ms$1(0,`td`,64)(1,`div`,74),by(2,`gf-value`,75),Hu()()),t&2){let e=o.$implicit,i=p_();eT(2),Cy(`isCurrency`,!0)(`locale`,i.user?.settings?.locale)(`value`,e.lastMarketPrice??``)}}function ks(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,8),Ys$1(),Hu())}function ws(t,o){if(t&1&&by(0,`gf-value`,76),t&2){let e=p_().$implicit,i=p_();Cy(`isDate`,!0)(`locale`,i.user?.settings?.locale)(`value`,e.date)}}function Us(t,o){if(t&1&&(Ms$1(0,`td`,64),gb(1,ws,1,3,`gf-value`,76),Hu()),t&2){let e=o.$implicit;eT(),mb(e.date?1:-1)}}function Xs(t,o){t&1&&(Ms$1(0,`th`,67),Uu(1),l_(2,9),Ys$1(),Hu())}function zs(t,o){if(t&1&&(Ms$1(0,`td`,77),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.activitiesCount,` `)}}function Vs(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,10),Ys$1(),Hu())}function Bs(t,o){if(t&1&&(Ms$1(0,`td`,77),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.marketDataItemCount,` `)}}function Ks(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,11),Ys$1(),Hu())}function Hs(t,o){if(t&1&&(Ms$1(0,`td`,77),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.sectorsCount,` `)}}function Js(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,12),Ys$1(),Hu())}function js(t,o){if(t&1&&(Ms$1(0,`td`,77),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.countriesCount,` `)}}function Ws(t,o){t&1&&by(0,`th`,63)}function qs(t,o){t&1&&by(0,`gf-premium-indicator`,78),t&2&&Cy(`enableLink`,!1)}function Qs(t,o){if(t&1&&(Ms$1(0,`td`,64),gb(1,qs,1,1,`gf-premium-indicator`,78),Hu()),t&2){let e=o.$implicit;eT(),mb(e.isUsedByUsersWithSubscription?1:-1)}}function Ys(t,o){t&1&&by(0,`th`,63)}function Zs(t,o){t&1&&by(0,`ion-icon`,79)}function em(t,o){if(t&1&&(Ms$1(0,`td`,64),gb(1,Zs,1,0,`ion-icon`,79),Hu()),t&2){let e=o.$implicit;eT(),mb(e.comment?1:-1)}}function tm(t,o){if(t&1){let e=_b();Ms$1(0,`th`,80)(1,`button`,81),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,82),Hu(),Ms$1(3,`mat-menu`,83,0)(5,`button`,84),Yy(`click`,function(){Hp(e);return Bp(p_().onGatherRecentMarketData())}),Uu(6),l_(7,13),Ys$1(),Hu(),Ms$1(8,`button`,84),Yy(`click`,function(){Hp(e);return Bp(p_().onGatherMax())}),Uu(9),l_(10,14),Ys$1(),Hu(),Ms$1(11,`button`,84),Yy(`click`,function(){Hp(e);return Bp(p_().onGatherProfileData())}),Uu(12),l_(13,15),Ys$1(),Hu(),by(14,`hr`,85),Ms$1(15,`button`,86),Yy(`click`,function(){Hp(e);return Bp(p_().onDeleteAssetProfiles())}),Uu(16),l_(17,16),Ys$1(),Hu()()()}if(t&2){let e=D_$1(4),i=p_();eT(),Cy(`matMenuTriggerFor`,e),eT(14),Cy(`disabled`,!i.selection.hasValue()),eT(2),Zy(i.selection.selected.length>1?i.selection.selected.length:``)(i.selection.selected.length),d_(17)}}function im(t,o){if(t&1){let e=_b();Ms$1(0,`td`,77)(1,`button`,81),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,87),Hu(),Ms$1(3,`mat-menu`,88,1)(5,`a`,89)(6,`span`,90),by(7,`ion-icon`,91),Ms$1(8,`span`),Uu(9),l_(10,17),Ys$1(),G_$1(11,`...`),Hu()()(),by(12,`hr`,85),Ms$1(13,`button`,86),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onDeleteAssetProfile({dataSource:n.dataSource,symbol
1:n.symbol}))}),Ms$1(14,`span`,90),by(15,`ion-icon`,92),Ms$1(16,`span`),l_(17,18),Hu()()()()()}if(t&2){let e=o.$implicit,i=D_$1(4),n=p_();eT(),Cy(`matMenuTriggerFor`,i),eT(4),Cy(`routerLink`,n.internalRoutes.adminControl.subRoutes.marketData.subRoutes.update.routerLink(e.dataSource,e.symbol)),eT(8),Cy(`disabled`,!n.canDeleteAssetProfile(lM(3,L_,e.activitiesCount,e.isBenchmark,e.symbol,e.watchedByCount)))}}function nm(t,o){t&1&&by(0,`tr`,93)}function om(t,o){if(t&1){let e=_b();Ms$1(0,`tr`,94),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onOpenAssetProfileDialog({dataSource:n.dataSource,symbol:n.symbol}))}),Hu()}}function am(t,o){t&1&&by(0,`ngx-skeleton-loader`,56),t&2&&Cy(`theme`,iM(1,fs))}var L_;var fs;var b_;var G_=A(()=>{Mn$1();Ry();H2();l();s();Vi();R_();$();G2();re();it();e$2();x$3();mr();UM();w$1();za$1();he();St();vt();Vt$1();ot$1();Jt();za();G3();kb();K3();J3();Oy();U();pi();gh();Ki();UM();za$1();he();St();vt();ot$1();Jt();U();za();L_=(t,o,e,i)=>({activitiesCount:t,isBenchmark:o,symbol:e,watchedByCount:i}),fs=()=>({height:`1.5rem`,width:`100%`});b_=(()=>{class t{constructor(){this.adminMarketDataService=C(wt),this.allFilters=[...Object.keys(gt).filter(e=>e!==`CASH`).map(e=>({id:e.toString(),label:QDt(e),type:`ASSET_SUB_CLASS`})),...Object.keys(Py).map(e=>({id:e.toString(),label:e,type:`DATA_SOURCE`})),{id:`BENCHMARKS`,label:"Benchmarks",type:`PRESET_ID`},{id:`CURRENCIES`,label:"Currencies",type:`PRESET_ID`},{id:`ETF_WITHOUT_COUNTRIES`,label:"ETFs without Countries",type:`PRESET_ID`},{id:`ETF_WITHOUT_SECTORS`,label:"ETFs without Sectors",type:`PRESET_ID`},{id:`NO_ACTIVITIES`,label:"No Activities",type:`PRESET_ID`}],this.canDeleteAssetProfile=lDt,this.dataSource=new Ct,this.displayedColumns=[],this.filters$=new se,this.isLoading=!0,this.internalRoutes=c,this.isUUID=bs$1,this.pageSize=Lut,this.placeholder=``,this.selection=new u$1(!0),this.totalItems=0,this.translate=QDt,this.activeFilters=[],this.paginator=DB.required(ft$1),this.sort=DB.required(rt),this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.router=C(q),this.snackBar=C(zt),this.userService=C(Oi),this.info=this.dataService.fetchInfo(),this.hasPermissionForSubscription=n(this.info?.globalPermissions,a$1.enableSubscription),this.displayedColumns=[`status`,`select`,`nameWithSymbol`,`dataSource`,`assetClass`,`assetSubClass`,`lastMarketPrice`,`date`,`activitiesCount`,`marketDataItemCount`,`sectorsCount`,`countriesCount`],this.hasPermissionForSubscription&&this.displayedColumns.push(`isUsedByUsersWithSubscription`),this.displayedColumns.push(`comment`),this.displayedColumns.push(`actions`),this.adminMarketDataService.refresh$.pipe(P(this.destroyRef)).subscribe(()=>{this.reloadData()}),this.userService.stateChanged.pipe(P(this.destroyRef)).subscribe(e=>{e?.user&&(this.user=e.user)}),this.filters$.pipe(jI(),P(this.destroyRef)).subscribe(e=>{this.activeFilters=e,this.reloadData({pageIndex:0})}),nt({addOutline:nn,banOutline:gn,createOutline:Tn,documentTextOutline:Pn,ellipsisHorizontal:$n,ellipsisVertical:Fn,trashOutline:Di})}ngAfterViewInit(){this.sort().sortChange.subscribe(({active:e,direction:i})=>{this.paginator().pageIndex=0,this.loadData({sortColumn:e,sortDirection:i,pageIndex:this.paginator().pageIndex})})}ngOnInit(){let{benchmarks:e}=this.dataService.fetchInfo();this.benchmarks=e}onChangePage(e){this.loadData({pageIndex:e.pageIndex,sortColumn:this.sort().active,sortDirection:this.sort().direction})}onDeleteAssetProfile({dataSource:e,symbol:i}){this.adminMarketDataService.deleteAssetProfile({dataSource:e,symbol:i}).pipe(P(this.destroyRef)).subscribe(()=>{this.reloadData()})}onDeleteAssetProfiles(){this.adminMarketDataService.deleteAssetProfiles(this.selection.selected.map(({dataSource:e,symbol:i})=>({dataSource:e,symbol:i}))).pipe(P(this.destroyRef)).subscribe(()=>{this.reloadData()})}onGatherMax(){this.adminService.gatherMax().pipe(P(this.destroyRef)).subscribe(()=>{this.notifyDataGatheringHasBeenStarted()})}onGatherProfileData(){this.adminService.gatherProfileData().pipe(P(this.destroyRef)).subscribe(()=>{this.notifyDataGatheringHasBeenStarted()})}onGatherRecentMarketData(){this.adminService.gatherRecentMarketData().pipe(P(this.destroyRef)).subscribe(()=>{this.notifyDataGatheringHasBeenStarted()})}
1onOpenAssetProfileDialog({dataSource:e,symbol:i}){this.router.navigate(c.adminControl.subRoutes.marketData.subRoutes.update.routerLink(e,i))}loadData({pageIndex:e,sortColumn:i,sortDirection:n}={pageIndex:0}){this.isLoading=!0,this.pageSize=this.activeFilters.length===1&&this.activeFilters[0].type===`PRESET_ID`?Number.MAX_SAFE_INTEGER:Lut,e===0&&this.paginator()&&(this.paginator().pageIndex=0),this.placeholder=this.activeFilters.length<=0?"Filter by...":``,this.selection.clear(),this.dataService.fetchAssetProfiles({sortColumn:i,sortDirection:n,filters:this.activeFilters,skip:e*this.pageSize,take:this.pageSize}).pipe(P(this.destroyRef)).subscribe(({assetProfiles:s,count:A})=>{this.totalItems=A,this.dataSource=new Ct(s.map(O=>x(w({},O),{isBenchmark:this.benchmarks.some(({id:h})=>h===O.id)}))),this.dataSource.sort=this.sort(),this.isLoading=!1,this.changeDetectorRef.markForCheck()})}notifyDataGatheringHasBeenStarted(){this.snackBar.open(`â
`+"Data gathering has been started.",void 0,{duration:xt(`3 seconds`)})}reloadData({pageIndex:e=this.paginator().pageIndex}={}){this.loadData({pageIndex:e,sortColumn:this.sort().active,sortDirection:this.sort().direction})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-market-data`]],viewQuery:function(i,n){i&1&&nv(n.paginator,ft$1,5)(n.sort,rt,5),i&2&&E_(2)},features:[oM([wt])],decls:64,vars:14,consts:()=>{let e;e="Data Gathering is off";let i;i="Symbol";let n;n="Name";let s;s="Data Source";let A;A="Asset Class";let O;O="Asset Sub Class";let h;h="Market Price";let b;b="First Activity";let $;$="Activities Count";let K;K="Historical Data";let x;x="Sectors Count";let G;G="Countries Count";let Y;Y="Gather Recent Historical Market Data";let X;X="Gather All Historical Market Data";let Ce;Ce="Gather Profile Data";let se;se="{VAR_PLURAL, plural, =1 {Profile} other {Profiles}}",se=f_(se,{VAR_PLURAL:`�1�`});let ue;ue=`Delete ${`�0�`} ${se}`;let N;N="Edit";let Ut;return Ut="Delete",[[`assetProfilesActionsMenu`,`matMenu`],[`assetProfileActionsMenu`,`matMenu`],i,n,s,A,O,h,b,$,K,x,G,Y,X,Ce,ue,N,Ut,[1,`container`],[1,`row`],[1,`col`],[3,`valueChanged`,`allFilters`,`isLoading`,`placeholder`],[1,`overflow-x-auto`],[`mat-table`,``,`matSort`,``,`matSortActive`,`symbol`,`matSortDirection`,`asc`,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`status`],[`class`,`d-none d-lg-table-cell px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`d-none d-lg-table-cell px-1`,`mat-cell`,``,4,`matCellDef`],[`class`,`d-none d-lg-table-cell px-1`,`mat-footer-cell`,``,4,`matFooterCellDef`],[`matColumnDef`,`select`],[`class`,`px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`symbol`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,``,4,`matHeaderCellDef`],[`matColumnDef`,`nameWithSymbol`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`symbol`,4,`matHeaderCellDef`],[`class`,`line-height-normal px-1`,`mat-cell`,``,4,`matCellDef`],[`class`,`px-1`,`mat-footer-cell`,``,4,`matFooterCellDef`],[`matColumnDef`,`dataSource`],[`class`,`line-height-normal px-1 text-nowrap`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`assetClass`],[`matColumnDef`,`assetSubClass`],[`matColumnDef`,`lastMarketPrice`],[`matColumnDef`,`date`],[`matColumnDef`,`activitiesCount`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`marketDataItemCount`],[`matColumnDef`,`sectorsCount`],[`matColumnDef`,`countriesCount`],[`matColumnDef`,`isUsedByUsersWithSubscription`],[`matColumnDef`,`comment`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`class`,`px-1 text-right`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`class`,`cursor-pointer`,`mat-row`,``,3,`click`,4,`matRowDef`,`matRowDefColumns`],[3,`page`,`hidePageSize`,`length`,`pageSize`,`showFirstLastButtons`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[3,`routerLink`],[`mat-header-cell`,``,1,`d-none`,`d-lg-table-cell`,`px-1`],[`mat-cell`,``,1,`d-none`,`d-lg-table-cell`,`px-1`],[`title`,e,1,`d-flex`,`justify-content-center`],[`name`,`ban-outline`],[`mat-footer-cell`,``,1,`d-none`,`d-lg-table-cell`,`px-1`],[`mat-header-cell`,``,1,`px-1`],[`mat-cell`,``,1,`px-1`],[`color`,`primary`,3,`checked`],[`color`,`primary`,3,`change`,`click`,`checked`],[`mat-header-cell`,``,`mat-sort-header`,``,1,`px-1`],[`mat-header-cell`,``,`mat-sort-header`,`symbol`,1,`px-1`],[`mat-cell`,``,1,`line-height-normal`,`px-1`],[1,`text-truncate`],[1,`text-muted`],[`mat-footer-cell`,``,1,`px-1`],[`mat-cell`,``,1,`line-height-normal`,`px-1`,`text-nowrap`],[1,`d-flex`,`justify-content-end`],[3,`isCurrency`,`locale`,`value`],[3,`isDate`,`locale`,`value`],[`mat-cell`,``,1,`px-1`,`text-right`],[3,`enableLink`],[`name`,`document-text-outline`,1,`d-block`],[`mat-header-cell`,``,1,`px-1`,`text-right`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-vertical`],[`xPosition`,`before`,1,`no-max-width`],[`mat-menu-item`,``,3,`click`],[1,`m-0`],[`mat-menu-item`,``,3,`click`,`disabled`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`],[`mat-menu-item`,``,3,`routerLink`],[1,`align-items-center`,`d-flex`],[`name`,`create-outline`,1,`mr-2`],[`name`,`trash-outline`,1,`mr-2`],[`mat-header-row`,``],[`mat-row`,``,1,`cursor-pointer`,3,`click`]]},template:function(i,n){i&1&&(Ms$1(0,`div`,19)(1,`div`,20)(2,`div`,21)(3,`gf-activities-filter`,22),Yy(`valueChanged`,function(A){return n.filters$.next(A)}),Hu()()(),Ms$1(4,`div`,20)(5,`div`,21)(6,`div`,23)(7,`table`,24),Uu(8,25),yy(9,Ss,1,0,`th`,26)(10,Cs,2,1,`td`,27)(11,us,1,0,`td`,28),Ys$1(),Uu(12,29),yy(13,Es,1,0,`th`,30)(14,ps,2,6,`td`,31),Ys$1(),Uu(15,32),yy(16,Ps,3,0,`th`,33)(17,Ms,2,1,`td`,31),Ys$1(),Uu(18,34),yy(19,Ns,3,0,`th`,35)(20,Os,4,2,`td`,36)(21,Is,1,0,`td`,37),Ys$1(),Uu(22,38),yy(23,Ds,3,0,`th`,33)(24,Rs,4,2,`td`,39),Ys$1(),Uu(25,40),yy(26,Ls,3,0,`th`,33)(27,Gs,4,2,`td`,39),Ys$1(),Uu(28,41),yy(29,vs,3,0,`th`,33)(30,$s,4,2,`td`,39),Ys$1(),Uu(31,42),yy(32,Fs,3,0,`th`,30)(33,xs,3,3,`td`,31),Ys$1(),Uu(34,43),yy(35,ks,3,0,`th`,30)(36,Us,2,1,`td`,31),Ys$1(),Uu(37,44),yy(38,Xs,3,0,`th`,33)(39,zs,2,1,`td`,45),Ys$1(),Uu(40,46),yy(41,Vs,3,0,`th`,30)(42,Bs,2,1,`td`,45),Ys$1(),Uu(43,47),yy(44,Ks,3,0,`th`,30)(45,Hs,2,1,`td`,45),Ys$1(),Uu(46,48),yy(47,Js,3,0,`th`,30)(48,js,2,1,`td`,45),Ys$1(),Uu(49,49),yy(50,Ws,1,0,`th`,30)(51,Qs,2,1,`td`,31),Ys$1(),Uu(52,50),yy(53,Ys,1,0,`th`,30)(54,em,2,1,`td`,31),Ys$1(),Uu(55,51),yy(56,tm,18,4,`th`,52)(57,im,18,8,`td`,45),Ys$1(),yy(58,nm,1,0,`tr`,53)(59,om,1,0,`tr`,54),Hu()(),Ms$1(60,`mat-paginator`,55),Yy(`page`,function(A){return n.onChangePage(A)}),Hu(),gb(61,am,1,2,`ngx-skeleton-loader`,56),Hu()(),by(62,`gf-fab`,57),Hu(),by(63,`router-outlet`)),i&2&&(eT(3),Cy(`allFilters`,n.allFilters)(`isLoading`,n.isLoading)(`placeholder`,n.placeholder),eT(4),Cy(`dataSource`,n.dataSource),eT(51),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),cv(`d-none`,n.isLoading&&n.totalItems===0||n.totalItems<=n.pageSize),Cy(`hidePageSize`,!0)(`length`,n.totalItems)(`pageSize`,n.pageSize)(`showFirstLastButtons`,!0),eT(),mb(n.isLoading&&n.totalItems===0?61:-1),eT(),Cy(`routerLink`,n.internalRoutes.adminControl.subRoutes.marketData.subRoutes.create.routerLink))},dependencies:[lr,D_,tt,_i,rt$1,Y3,os$1,ns$1,Te,le,en$1,I,G,$t$1,Et$1,ft$1,oe,At$1,rt,Et,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,$i,qi,Ki$2,Gi$1,Ji,to,K,B,La,cn,ur],styles:[`[_nghost-%COMP%]{display:block}`]})}}return t})()});
1function dm(t,o){if(t&1){let e=_b();Ms$1(0,`button`,64),Yy(`click`,function(){let n=Hp(e).$implicit,s=p_();return Bp(s.onGatherSymbol({dataSource:s.data.dataSource,range:n.value,symbol:s.data.symbol}))}),G_$1(1),Hu()}if(t&2){let e=o.$implicit;eT(),qu(` `,e.label,` `)}}function cm(t,o){t&1&&(by(0,`ion-icon`,108),Ms$1(1,`div`,109),l_(2,27),Hu())}function fm(t,o){if(t&1){let e=_b();Ms$1(0,`p`,115),l_(1,31),Hu(),Ms$1(2,`button`,116),Yy(`click`,function(){Hp(e);return Bp(p_(2).onConvertToManualDataSource())}),Uu(3),l_(4,32),Ys$1(),Hu()}if(t&2){let e=p_(2);eT(4),Zy(e.DataSource.MANUAL),d_(4)}}function Sm(t,o){if(t&1){let e=_b();Ms$1(0,`div`,75)(1,`form`,110),Yy(`keyup.enter`,function(){Hp(e);let n=p_();return Bp(n.assetProfileIdentifierForm.valid&&n.onSubmitAssetProfileIdentifierForm())})(`ngSubmit`,function(){Hp(e);return Bp(p_().onSubmitAssetProfileIdentifierForm())}),Ms$1(2,`mat-form-field`,111)(3,`mat-label`),l_(4,28),Hu(),by(5,`gf-symbol-autocomplete`,112),eC(),Hu(),Ms$1(6,`button`,113),Uu(7),l_(8,29),Ys$1(),Hu(),Ms$1(9,`button`,114),Yy(`click`,function(){Hp(e);return Bp(p_().onCancelEditAssetProfileIdentifierMode())}),Uu(10),l_(11,30),Ys$1(),Hu()(),gb(12,fm,5,1),Hu()}if(t&2){let e=p_();eT(),Cy(`formGroup`,e.assetProfileIdentifierForm),eT(4),Cy(`includeIndices`,!0),nC(),eT(),Cy(`disabled`,e.assetProfileIdentifierForm.hasError(`invalidData`,`assetProfileIdentifier`)||e.assetProfileIdentifierForm.hasError(`equalsPreviousProfileIdentifier`)),eT(6),mb(e.data.dataSource!==e.DataSource.MANUAL?12:-1)}}function Am(t,o){if(t&1){let e=_b();Ms$1(0,`div`,76)(1,`gf-value`,117),l_(2,33),Hu()(),Ms$1(3,`div`,76)(4,`gf-value`,77),l_(5,34),Hu(),Ms$1(6,`div`,118)(7,`button`,119),Yy(`click`,function(){Hp(e);return Bp(p_().onSetEditAssetProfileIdentifierMode())}),by(8,`ion-icon`,120),Hu()()()}if(t&2){let e=p_();eT(),Cy(`enableCopyToClipboardButton`,!0)(`isLoading`,e.isLoading)(`value`,e.assetProfile?.symbol),eT(3),Cy(`isLoading`,e.isLoading)(`value`,e.assetProfile?.dataProviderInfo?.name??e.assetProfile?.dataSource),eT(3),Cy(`disabled`,!e.canSaveAssetProfileIdentifier)}}function Cm(t,o){if(t&1&&(Ms$1(0,`div`,76)(1,`gf-value`,121),l_(2,35),Hu()()),t&2){let e=p_(3);eT(),Cy(`locale`,e.data.locale)(`value`,e.translate(e.assetProfile?.sectors[0].name))}}function um(t,o){if(t&1&&(Ms$1(0,`div`,76)(1,`gf-value`,121),l_(2,36),Hu()()),t&2){let e=p_(3);eT(),Cy(`locale`,e.data.locale)(`value`,e.getCountryName(sM(2,mm,e.assetProfile?.countries[0].code)))}}function Em(t,o){if(t&1&&(gb(0,Cm,3,2,`div`,76),gb(1,um,3,4,`div`,76)),t&2){let e=p_(2);mb(e.assetProfile?.sectors?.length===1?0:-1),eT(),mb(e.assetProfile?.countries?.length===1?1:-1)}}function Tm(t,o){if(t&1&&(Ms$1(0,`div`,122)(1,`div`,123),l_(2,37),Hu(),by(3,`gf-portfolio-proportion-chart`,124),Hu(),Ms$1(4,`div`,122)(5,`div`,123),l_(6,38),Hu(),by(7,`gf-portfolio-proportion-chart`,124),Hu()),t&2){let e=p_(2);eT(3),Cy(`colorScheme`,e.data.colorScheme)(`data`,e.sectors)(`isInPercentage`,!0)(`keys`,iM(10,v_))(`maxItems`,10),eT(4),Cy(`colorScheme`,e.data.colorScheme)(`data`,e.countries)(`isInPercentage`,!0)(`keys`,iM(11,v_))(`maxItems`,10)}}
1function pm(t,o){if(t&1&&gb(0,Em,2,2)(1,Tm,8,12),t&2){let e=p_();mb(e.assetProfile?.countries?.length===1&&e.assetProfile?.sectors?.length===1?0:1)}}function Pm(t,o){if(t&1&&(Ms$1(0,`div`,83)(1,`mat-form-field`,84)(2,`mat-label`),l_(3,39),Hu(),by(4,`gf-currency-selector`,125),eC(),Hu()()),t&2){let e=p_();eT(4),Cy(`currencies`,e.currencies),nC()}}function Mm(t,o){if(t&1&&(Ms$1(0,`mat-option`,87),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e.id),eT(),yv(e.label)}}function Nm(t,o){if(t&1&&(Ms$1(0,`mat-option`,87),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e.id),eT(),yv(e.label)}}function gm(t,o){if(t&1&&by(0,`gf-entity-logo`,97),t&2)Cy(`url`,p_().assetProfileForm.controls.url.value)}function Om(t,o){if(t&1&&(Ms$1(0,`mat-option`,87),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e.value),eT(),yv(e.viewValue)}}function Im(t,o){t&1&&(by(0,`ion-icon`,126),Ms$1(1,`div`,109),l_(2,40),Hu())}function Dm(t,o){t&1&&(by(0,`ion-icon`,138),Ms$1(1,`div`,109),l_(2,45),Hu())}function hm(t,o){if(t&1){let e=_b();Ms$1(0,`tr`,142)(1,`td`,143),G_$1(2),fM(3,`date`),Hu(),Ms$1(4,`td`,144),G_$1(5),Hu(),Ms$1(6,`td`,144)(7,`button`,145),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_(3).onDeleteSplit(n.id))}),by(8,`ion-icon`,146),Hu()()()}if(t&2){let e=o.$implicit,i=p_(3);eT(2),qu(` `,gM(3,4,e.date,i.defaultDateFormat),` `),eT(3),vv(` `,e.numerator,`:`,e.denominator,` `),eT(2),Cy(`disabled`,!i.canEditAssetProfile)}}function Rm(t,o){if(t&1&&(Ms$1(0,`table`,127)(1,`thead`)(2,`tr`,139)(3,`th`,140),l_(4,46),Hu(),Ms$1(5,`th`,141),l_(6,47),Hu(),by(7,`th`,140),Hu()(),Ms$1(8,`tbody`),Ib(9,hm,9,7,`tr`,142,so),Hu()()),t&2){let e=p_(2);eT(9),Eb(e.splits)}}function Lm(t,o){if(t&1){let e=_b();Ms$1(0,`mat-tab`),yy(1,Dm,3,0,`ng-template`,72),Ms$1(2,`div`,100)(3,`div`,101)(4,`div`,102),gb(5,Rm,11,0,`table`,127),Ms$1(6,`form`,128),Yy(`ngSubmit`,function(){Hp(e);return Bp(p_().onAddSplit())}),Ms$1(7,`mat-form-field`,92)(8,`mat-label`),l_(9,41),Hu(),by(10,`input`,129),eC(),Ms$1(11,`mat-datepicker-toggle`,130),by(12,`ion-icon`,131),Hu(),by(13,`mat-datepicker`,null,3),Hu(),Ms$1(15,`div`,132)(16,`mat-form-field`,84)(17,`mat-label`),l_(18,42),Hu(),by(19,`input`,133),eC(),Hu(),Ms$1(20,`div`,134),G_$1(21,`:`),Hu(),Ms$1(22,`mat-form-field`,84)(23,`mat-label`),l_(24,43),Hu(),by(25,`input`,135),eC(),Hu()(),Ms$1(26,`div`,136)(27,`button`,137),Uu(28),l_(29,44),Ys$1(),Hu()()()()()()()}if(t&2){let e=D_$1(14),i=p_();eT(5),mb(i.splits.length>0?5:-1),eT(),Cy(`formGroup`,i.assetProfileSplitForm),eT(4),Cy(`matDatepicker`,e),nC(),eT(),Cy(`for`,e),eT(8),nC(),eT(6),nC(),eT(2),Cy(`disabled`,!i.assetProfileSplitForm.valid||!i.canEditAssetProfile)}}function bm(t,o){t&1&&(by(0,`ion-icon`,156),Ms$1(1,`div`,109),l_(2,55),Hu())}function Gm(t,o){if(t&1&&(Ms$1(0,`mat-option`,87),G_$1(1),Hu()),t&2){let e=o.$implicit;Cy(`value`,e.value),eT(),yv(e.viewValue)}}function vm(t,o){if(t&1){let e=_b();Ms$1(0,`mat-tab`),yy(1,bm,3,0,`ng-template`,72),Ms$1(2,`div`,100)(3,`div`,147)(4,`div`,148)(5,`div`,83)(6,`mat-form-field`,84)(7,`mat-label`),l_(8,48),Hu(),by(9,`input`,149),eC(),Hu()(),Ms$1(10,`div`,83)(11,`mat-form-field`,84)(12,`mat-label`),l_(13,49),Hu(),by(14,`textarea`,150),eC(),Hu()(),Ms$1(15,`div`,83)(16,`mat-form-field`,84)(17,`mat-label`),l_(18,50),Hu(),by(19,`input`,151),eC(),Hu()(),Ms$1(20,`div`,83)(21,`mat-form-field`,84)(22,`mat-label`),l_(23,51),Hu(),Ms$1(24,`mat-select`,152),Ib(25,Gm,2,2,`mat-option`,87,vb),Hu(),eC(),Hu()(),Ms$1(27,`div`,83)(28,`mat-form-field`,84)(29,`mat-label`),Uu(30),l_(31,52),Ys$1(),G_$1(32,`* `),Hu(),by(33,`textarea`,153),eC(),Hu()(),Ms$1(34,`div`,83)(35,`mat-form-field`,84)(36,`mat-label`),Uu(37),l_(38,53),Ys$1(),G_$1(39,`* `),Hu(),by(40,`input`,96),eC(),Hu()(),Ms$1(41,`div`,154)(42,`button`,155),Yy(`click`,function(){Hp(e);return Bp(p_().onTestMarketData())}),Uu(43),l_(44,54),Ys$1(),Hu()()()()()()}if(t&2){let e=p_();eT(3),Cy(`formGroup`,e.assetProfileForm),eT(6),nC(),eT(5),nC(),eT(5),nC(),eT(5),nC(),eT(),Eb(e.modeValues),eT(8),nC(),eT(7),nC(),eT(2),Cy(`disabled`,e.assetProfileForm.controls.scraperConfiguration.controls.selector.value===``||e.assetProfileForm.controls.scraperConfiguration.controls.url.value===``)}}function ym(t,o){t&1&&(Uu(0),l_(1,56),Ys$1())}function $m(t,o){t&1&&(Uu(0),l_(1,57),Ys$1())}var lm;var sm;var mm;var v_;var y_;var so;var wn;var F_=A(()=>{Ki();Mn$1();Ry();vo();a();H2();Bo();Vi();Ge$2();e$1();je();G2();se$2();$t();f();it();zt$1();e$2();se$1();mr();w$1();An();za$1();he();Ja();tn();Ie();St();ti();Vt$1();Ue();G3();kb();$l$1();pE();K3();J3();Iy();Oy();pi();gh();UM();Ki();it();tn();An();$t();Vt$1();Mn$1();za$1();he();Ja();Ie();It();se$1();
1St();ti();Ue();mr();lm=[`assetProfileFormElement`],sm=(t,o,e,i)=>({activitiesCount:t,isBenchmark:o,symbol:e,watchedByCount:i}),mm=t=>({code:t}),v_=()=>[`name`],y_=(t,o)=>o.value,so=(t,o)=>o.id;wn=class t{static{this.HISTORICAL_DATA_TEMPLATE=`date;marketPrice 2${V3(new Date,uDt)};123.45`}constructor(o,e,i,n,s,A,O,h,b,$,K){this.adminMarketDataService=o,this.adminService=e,this.changeDetectorRef=i,this.data=n,this.dataService=s,this.destroyRef=A,this.dialogRef=O,this.formBuilder=h,this.notificationService=b,this.snackBar=$,this.userService=K,this.assetClassOptions=Object.keys(Se).map(x=>({id:x,label:QDt(x)})).sort((x,G)=>x.label.localeCompare(G.label)),this.assetSubClassOptions=[],this.assetProfileForm=this.formBuilder.group({assetClass:new Z(null),assetSubClass:new Z(null),comment:``,countries:[``,Uo()],currency:``,dataGatheringFrequency:new Z(`DAILY`),historicalData:this.formBuilder.group({csvString:``}),isActive:[!0],name:[``,me.required],scraperConfiguration:this.formBuilder.group({defaultMarketPrice:void 0,headers:new Z(JSON.stringify({}),Uo()),locale:``,mode:`lazy`,selector:``,url:``}),sectors:[``,Uo()],symbolMapping:[``,Uo()],url:``}),this.assetProfileIdentifierForm=this.formBuilder.group({assetProfileIdentifier:new Z({dataSource:null,symbol:null},[me.required])},{validators:x=>this.isNewSymbolValid(x)}),this.assetProfileSplitForm=this.formBuilder.group({date:new Z(null,me.required),denominator:new Z(null,me.required),numerator:new Z(null,me.required)},{validators:x=>{let{denominator:G,numerator:Y}=x.value;return FDt({denominator:G,numerator:Y})?null:{invalidSplitRatio:!0}}}),this.canDeleteAssetProfile=lDt,this.canEditAssetProfile=!0,this.COMMENT_MAXIMUM_LENGTH=Iut,this.currencies=[],this.dataGatheringFrequencyValues=[{value:`DAILY`,viewValue:"Daily"},{value:`HOURLY`,viewValue:"Hourly"}],this.DataSource=Py,this.dateRangeOptions=[{label:"Current week"+` (`+"WTD"+`)`,value:`wtd`},{label:"Current month"+` (`+"MTD"+`)`,value:`mtd`},{label:"Current year"+` (`+"YTD"+`)`,value:`ytd`},{label:`1 `+"year"+` (`+"1Y"+`)`,value:`1y`},{label:`5 `+"years"+` (`+"5Y"+`)`,value:`5y`},{label:"Max",value:`max`}],this.getCountryName=SDt,this.isBenchmark=!1,this.isEditAssetProfileIdentifierMode=!1,this.isLoading=!0,this.isUUID=bs$1,this.marketDataItems=[],this.modeValues=[{value:`lazy`,viewValue:"Lazy"+` (`+"end of day"+`)`},{value:`instant`,viewValue:"Instant"+` (`+"real-time"+`)`}],this.splits=[],this.translate=QDt,nt({calendarClearOutline:xn$1,codeSlashOutline:En$1,createOutline:Tn,ellipsisVertical:Fn,gitCompareOutline:Yn$1,readerOutline:fi,serverOutline:Ai,trashOutline:Di})}get canSaveAssetProfileIdentifier(){return!this.assetProfileForm.dirty&&this.canEditAssetProfile}ngOnInit(){let{benchmarks:o,currencies:e}=this.dataService.fetchInfo();this.benchmarks=o,this.currencies=e,this.defaultDateFormat=L2(this.data.locale),this.initialize()}initialize(){this.historicalDataItems=[],this.adminService.fetchAdminData().pipe(P(this.destroyRef)).subscribe(({settings:o})=>{this.isDataGatheringEnabled=o[amt]!==!1,this.changeDetectorRef.markForCheck()}),this.userService.stateChanged.pipe(P(this.destroyRef)).subscribe(o=>{o?.user&&(this.user=o.user)}),this.assetProfileForm.controls.assetClass.valueChanges.pipe(P(this.destroyRef)).subscribe(o=>{if(!o)return;let e=wut.get(o)??[];this.assetSubClassOptions=e.map(i=>({id:i,label:QDt(i)})).sort((i,n)=>i.label.localeCompare(n.label)),this.assetProfileForm.controls.assetSubClass.setValue(null),this.changeDetectorRef.markForCheck()}),this.dataService.fetchMarketDataBySymbol({dataSource:this.data.dataSource,symbol:this.data.symbol}).pipe(P(this.destroyRef)).subscribe(({assetProfile:o,marketData:e,splits:i})=>{if(this.assetProfile=o,this.splits=i??[],this.assetClassLabel=QDt(this.assetProfile?.assetClass??``),this.assetSubClassLabel=QDt(this.assetProfile?.assetSubClass??``),this.canEditAssetProfile=!cw(fw(this.data.symbol)),this.countries={},this.isBenchmark=this.benchmarks.some(({id:n})=>n===this.assetProfile.id),this.historicalDataItems=e.map(({date:n,marketPrice:s})=>({date:V3(n,uDt),value:s})),this.marketDataItems=e,this.sectors={},this.assetProfile?.countries&&this.assetProfile.countries.length>0)for(let{code:n,weight:s}of this.assetProfile.countries)this.countries[n]={name:SDt({code:n}),value:s};if(this.assetProfile?.sectors&&this.assetProfile.sectors.length>0)for(let{name:n,weight:s}of this.assetProfile.sectors)this.sectors[n]={name:QDt(n),value:s};this.assetProfileForm.setValue({assetClass:this.assetProfile.assetClass??null,assetSubClass:this.assetProfile.assetSubClass??null,comment:this.assetProfile?.comment??``,countries:JSON.stringify(this.assetProfile?.countries?.map(({code:n,weight:s})=>({code:n,weight:s}))??[]),currency:this.assetProfile?.currency??null,dataGatheringFrequency:this.assetProfile?.dataGatheringFrequency??`DAILY`,historicalData:{csvString:t.HISTORICAL_DATA_TEMPLATE},isActive:j_$1(this.assetProfile?.isActive)?this.assetProfile.isActive:null,name:this.assetProfile.name??this.assetProfile.symbol??null,scraperConfiguration:{defaultMarketPrice:this.assetProfile?.scraperConfiguration?.defaultMarketPrice??null,headers:JSON.stringify(this.assetProfile?.scraperConfiguration?.headers??{}),locale:this.assetProfile?.scraperConfiguration?.locale??``,mode:this.assetProfile?.scraperConfiguration?.mode??`lazy`,selector:this.assetProfile?.scraperConfiguration?.selector??``,url:this.assetProfile?.scraperConfiguration?.url??``},sectors:JSON.stringify(this.assetProfile?.sectors??[]),symbolMapping:JSON.stringify(this.assetProfile?.symbolMapping??{}),url:this.assetProfile?.url??``}),this.canEditAssetProfile||this.assetProfileForm.disable(),this.assetProfileForm.markAsPristine(),this.isLoading=!1,this.changeDetectorRef.markForCheck()})}onCancelEditAssetProfileIdentifierMode(){this.isEditAssetProfileIdentifierMode=!1,this.canEditAssetProfile&&this.assetProfileForm.enable(),this.assetProfileIdentifierForm.reset()}onClose(){this.dialogRef.close()}onConvertToManualDataSource(){this.patchAssetProfileIdentifier({getErrorMessage:()=>`ð `+`An error occurred while converting the data source to ${Py.MANUAL}.`,title:`Do you really want to convert the data source to ${Py.MANUAL}?`,updateAssetProfileDto:{dataSource:Py.MANUAL}})}onDeleteProfileData({dataSource:o,symbol:e}){this.adminMarketDataService.deleteAssetProfile({dataSource:o,symbol:e}).pipe(P(this.destroyRef)).subscribe(()=>{this.dialogRef.close()})}onGatherProfileDataBySymbol({dataSource:o,symbol:e}){this.adminService.gatherProfileDataBySymbol({dataSource:o,symbol:e}).pipe(P(this.destroyRef)).subscribe()}
2onGatherSymbol({dataSource:o,range:e,symbol:i}){this.adminService.gatherSymbol({dataSource:o,range:e,symbol:i}).pipe(P(this.destroyRef)).subscribe()}onAddSplit(){let{date:o,denominator:e,numerator:i}=this.assetProfileSplitForm.getRawValue();!o||!e||!i||this.adminService.postAssetProfileSplit({dataSource:this.data.dataSource,split:{denominator:e,numerator:i,date:V3(o,uDt)},symbol:this.data.symbol}).pipe(P(this.destroyRef)).subscribe(()=>{this.assetProfileSplitForm.reset(),this.initialize()})}onDeleteSplit(o){this.adminService.deleteAssetProfileSplit({dataSource:this.data.dataSource,id:o,symbol:this.data.symbol}).pipe(P(this.destroyRef)).subscribe(()=>{this.initialize()})}onMarketDataChanged(o=!1){o&&this.initialize()}onSetBenchmark({dataSource:o,symbol:e}){this.dataService.postBenchmark({dataSource:o,symbol:e}).pipe(P(this.destroyRef)).subscribe(()=>{this.dataService.updateInfo(),this.isBenchmark=!0,this.changeDetectorRef.markForCheck()})}onSetEditAssetProfileIdentifierMode(){this.isEditAssetProfileIdentifierMode=!0,this.assetProfileForm.disable()}onSubmitAssetProfileForm(){return D(this,null,function*(){let o=[],e={selector:``,url:``},i=[],n={};try{o=JSON.parse(this.assetProfileForm.controls.countries.value??`[]`)}catch(A){}try{e={defaultMarketPrice:this.assetProfileForm.controls.scraperConfiguration.controls.defaultMarketPrice?.value??void 0,headers:JSON.parse(this.assetProfileForm.controls.scraperConfiguration.controls.headers.value??`{}`),locale:_Dt(this.assetProfileForm.controls.scraperConfiguration.controls.locale?.value),mode:this.assetProfileForm.controls.scraperConfiguration.controls.mode?.value??void 0,selector:this.assetProfileForm.controls.scraperConfiguration.controls.selector.value??``,url:this.assetProfileForm.controls.scraperConfiguration.controls.url.value??``},(!e.selector||!e.url)&&(e=void 0)}catch(A){console.error("Could not parse scraper configuration",A),this.snackBar.open(`ð `+"Could not parse scraper configuration",void 0,{duration:xt(`3 seconds`)});return}try{i=JSON.parse(this.assetProfileForm.controls.sectors.value??`[]`)}catch(A){}try{n=JSON.parse(this.assetProfileForm.controls.symbolMapping.value??`{}`)}catch(A){}let s={countries:o,scraperConfiguration:e,sectors:i,symbolMapping:n,assetClass:this.assetProfileForm.controls.assetClass.value??void 0,assetSubClass:this.assetProfileForm.controls.assetSubClass.value??void 0,comment:CDt(this.assetProfileForm.controls.comment.value),currency:this.assetProfileForm.controls.currency.value??void 0,dataGatheringFrequency:this.assetProfileForm.controls.dataGatheringFrequency.value??void 0,isActive:j_$1(this.assetProfileForm.controls.isActive.value)?this.assetProfileForm.controls.isActive.value:void 0,name:this.assetProfileForm.controls.name.value??void 0,url:CDt(this.assetProfileForm.controls.url.value)};try{yield ko({classDto:N,form:this.assetProfileForm,object:s})}catch(A){console.error("Could not validate form",A),this.snackBar.open(`ð `+"Could not validate form",void 0,{duration:xt(`3 seconds`)});return}this.adminService.patchAssetProfile({dataSource:this.data.dataSource,symbol:this.data.symbol},s).subscribe({next:()=>{this.snackBar.open(`â
`+"Asset profile has been saved",void 0,{duration:xt(`3 seconds`)}),this.initialize()},error:A=>{console.error("Could not save asset profile",A),this.snackBar.open(`ð `+"Could not save asset profile",void 0,{duration:xt(`3 seconds`)})}})})}onSubmitAssetProfileIdentifierForm(){return D(this,null,function*(){let o=this.assetProfileIdentifierForm.controls.assetProfileIdentifier.value;if(!o?.dataSource)return;let e={dataSource:o.dataSource,symbol:o.symbol};try{yield ko({classDto:N,form:this.assetProfileIdentifierForm,object:e})}catch(i){console.error(i);return}this.patchAssetProfileIdentifier({conflictFn:this.user?.settings?.isExperimentalFeatures?()=>{this.mergeAssetProfile(o)}:void 0,getErrorMessage:()=>`An error occurred while updating to ${e.symbol} (${e.dataSource}).`,title:`Do you really want to convert this asset profile to ${o.symbol} (${o.dataSource})?`,updateAssetProfileDto:e})})}onTestMarketData(){this.adminService.testMarketData({dataSource:this.data.dataSource,scraperConfiguration:{defaultMarketPrice:this.assetProfileForm.controls.scraperConfiguration.controls.defaultMarketPrice?.value,headers:JSON.parse(this.assetProfileForm.controls.scraperConfiguration.controls.headers.value??`{}`),locale:_Dt(this.assetProfileForm.controls.scraperConfiguration.controls.locale?.value),mode:this.assetProfileForm.controls.scraperConfiguration.controls.mode?.value,selector:this.assetProfileForm.controls.scraperConfiguration.controls.selector.value,url:this.assetProfileForm.controls.scraperConfiguration.controls.url.value},symbol:this.data.symbol}).pipe(ba(({error:o})=>(this.notificationService.alert({message:o?.message,title:"Error"}),Vt)),P(this.destroyRef)).subscribe(({price:o})=>{let e=this.assetProfileForm.controls.currency.value;this.notificationService.alert({title:`${"The current market price is"} ${o}${e?` ${e}`:``}`})})}onToggleIsActive({checked:o}){o?this.assetProfileForm.controls.isActive.setValue(!0):this.assetProfileForm.controls.isActive.setValue(!1),o===this.assetProfile.isActive?this.assetProfileForm.controls.isActive.markAsPristine():this.assetProfileForm.controls.isActive.markAsDirty()}onUnsetBenchmark({dataSource:o,symbol:e}){this.dataService.deleteBenchmark({dataSource:o,symbol:e}).pipe(P(this.destroyRef)).subscribe(()=>{this.dataService.updateInfo(),this.isBenchmark=!1,this.changeDetectorRef.markForCheck()})}onTriggerSubmitAssetProfileForm(){this.assetProfileForm.valid&&this.onSubmitAssetProfileForm()}isNewSymbolValid(o){let e=o.get(`assetProfileIdentifier`)?.value;return e?.dataSource===this.data?.dataSource&&e?.symbol===this.data?.symbol?{equalsPreviousProfileIdentifier:!0}:null}mergeAssetProfile({dataSource:o,symbol:e}){if(!pDt({isBenchmark:this.isBenchmark,splitsCount:this.splits.length,symbol:this.data.symbol})||!pDt({symbol:e})){this.notificationService.alert({message:`This asset profile cannot be merged into ${e} (${o}).`,title:"Error"});return}this.notificationService.confirm({confirmFn:()=>{this.adminService.mergeAssetProfile({dataSource:this.data.dataSource,symbol
2:this.data.symbol},{dataSource:o,symbol:e}).pipe(ba(({error:i})=>(this.notificationService.alert({message:i?.message??`An error occurred while merging this asset profile into ${e} (${o}).`,title:"Error"}),Vt)),P(this.destroyRef)).subscribe(i=>{this.dialogRef.close({dataSource:i.dataSource,symbol:i.symbol})})},confirmType:m.Warn,message:`The data of this asset profile is moved to ${e} (${o}) and this asset profile is deleted.`+` `+"This action cannot be undone.",title:`${e} (${o}) is already in use.`+` `+"Do you really want to merge this asset profile into it?"})}patchAssetProfileIdentifier({conflictFn:o,getErrorMessage:e,title:i,updateAssetProfileDto:n}){this.notificationService.confirm({title:i,confirmFn:()=>{this.adminService.patchAssetProfile({dataSource:this.data.dataSource,symbol:this.data.symbol},n).pipe(ba(s=>(s.status===e$3.CONFLICT&&o?o():this.snackBar.open(e(s),void 0,{duration:xt(`3 seconds`)}),Vt)),P(this.destroyRef)).subscribe(({dataSource:s,symbol:A})=>{this.dialogRef.close({dataSource:s,symbol:A})})},confirmType:m.Primary})}static{this.ɵfac=function(e){return new(e||t)(To(wt),To(Rt$1),To(bB),To(Ki$1),To(At$2),To(Me),To(bt),To(bn),To(xt$1),To(zt),To(Oi))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-asset-profile-dialog`]],viewQuery:function(e,i){if(e&1&&ev(lm,5),e&2){let n;v_$1(n=I_$1())&&(i.assetProfileFormElement=n.first)}},hostAttrs:[1,`d-flex`,`flex-column`,`h-100`],features:[oM([wt])],decls:142,vars:62,consts:()=>{let o;o="Refresh";let e;e="Gather Historical Market Data";let i;i="Gather Profile Data";let n;n="Delete";let s;s="Currency";let A;A="First Activity";let O;O="Activities";let h;h="Asset Class";let b;b="Asset Sub Class";let $;$="Name";let K;K="Asset Class";let x;x="Asset Sub Class";let G;G="Include in";let Y;Y="Benchmark";let X;X="Markets";let Ce;Ce="Symbol Mapping";let se;se="Sectors";let ue;ue="Countries";let N;N="Url";let Ut;Ut="Note";let j;j="Data Gathering Frequency";let Z;Z="Data Gathering";let uo;uo="Save";let Eo;Eo="Overview";let To;To="Name, symbol or ISIN";let po;po="Apply";let Po;Po="Cancel";let Mo;Mo="or";let No;No=`Convert to ${`�0�`}`;let go;go="Symbol";let Oo;Oo="Data Source";let Io;Io="Sector";let Do;Do="Country";let ho;ho="Sectors";let Ro;Ro="Countries";let Lo;Lo="Currency";let bo;bo="Historical Market Data";let Go;Go="Date";let vo;vo="Shares After";let yo;yo="Shares Before";let $o;$o="Add";let Fo;Fo="Splits";let xo;xo="Date";let ko;ko=" Split Ratio ";let wo;wo="Default Market Price";let Uo;Uo="HTTP Request Headers";let Xo;Xo="Locale";let zo;zo="Mode";let Vo;Vo="Selector";let Bo;Bo="Url";let Ko;Ko="Test";let Ho;Ho="Scraper Configuration";let Jo;Jo="Cancel";let jo;return jo="Close",[[`assetProfileActionsMenu`,`matMenu`],[`gatherHistoricalMarketDataMenu`,`matMenu`],[`assetProfileFormElement`,``],[`dateOfSplit`,``],o,e,i,n,s,A,O,h,b,$,K,x,G,Y,X,Ce,se,ue,N,Ut,j,Z,uo,Eo,To,po,Po,Mo,No,go,Oo,Io,Do,ho,Ro,Lo,bo,Go,vo,yo,$o,Fo,xo,ko,wo,Uo,Xo,zo,Vo,Bo,Ko,Ho,Jo,jo,[1,`d-flex`,`flex-column`,`h-100`],[`mat-dialog-title`,``,1,`align-items-center`,`d-flex`,`mb-3`],[1,`flex-grow-1`,`text-truncate`],[`mat-button`,``,`type`,`button`,1,`ml-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-vertical`],[`xPosition`,`before`,1,`no-max-width`],[`mat-menu-item`,``,`type`,`button`,3,`click`],[`mat-menu-item`,``,`type`,`button`,3,`click`,`disabled`,`matMenuTriggerFor`],[`mat-menu-item`,``,`type`,`button`],[`mat-menu-item`,``,`type`,`button`,3,`click`,`disabled`],[1,`m-0`],[`mat-dialog-content`,``,1,`flex-grow-1`],[1,`mb-4`,3,`colorScheme`,`historicalDataItems`,`isAnimated`,`label`,`locale`,`showXAxis`,`showYAxis`],[`animationDuration`,`0ms`,3,`disablePagination`,`dynamicHeight`,`mat-stretch-tabs`],[`mat-tab-label`,``],[1,`container`,`px-0`,`py-3`],[1,`row`,`w-100`],[1,`col-12`,`mb-4`],[1,`col-6`,`mb-3`],[`size`,`medium`,3,`isLoading`,`value`],[`size`,`medium`,3,`enableCopyToClipboardButton`,`hidden`,`value`],[`size`,`medium`,3,`isDate`,`isLoading`,`locale`,`value`],[`size`,`medium`,3,`isLoading`,`locale`,`value`],[`size`,`medium`,3,`hidden`,`value`],[3,`keyup.enter`,`ngSubmit`,`formGroup`],[1,`mt-3`],[`appearance`,`outline`,1,`w-100`,`without-hint`],[`formControlName`,`name`,`matInput`,``,`type`,`text`],[`formControlName`,`assetClass`],[3,`value`],[`formControlName`,`assetSubClass`],[1,`d-flex`,`my-3`],[1,`w-50`],[`color`,`primary`,3,`change`,`checked`,`disabled`],[`appearance`,`outline`,1,`w-100`],[`cdkTextareaAutosize`,``,`formControlName`,`symbolMapping`,`matInput`,``,`type`,`text`],[`cdkTextareaAutosize`,``,`formControlName`,`sectors`,`matInput`,``,`type`,`text`],[`cdkTextareaAutosize`,``,`formControlName`,`countries`,`matInput`,``,`type`,`text`],[`formControlName`,`url`,`matInput`,``,`type`,`text`],[`matSuffix`,``,1,`mat-icon`,3,`url`],[`cdkAutosizeMinRows`,`2`,`cdkTextareaAutosize`,``,`formControlName`,`comment`,`matInput`,``,3,`keyup.enter`,`maxlength`],[`formControlName`,`dataGatheringFrequency`],[1,`container`,`mt-3`,`p-0`],[1,`no-gutters`,`row`,`w-100`],[1,`col-12`],[3,`marketDataChanged`,`currency`,`dataSource`,`dateOfFirstActivity`,`locale`,`marketData`,`symbol`,`user`],[`mat-dialog-actions`,``,1,`d-flex`],[1,`gf-spacer`],[`mat-button`,``,`type`,`button`,3,`click`],[`color`,`primary`,`mat-flat-button`,``,3,`click`,`disabled`],[`name`,`reader-outline`],[1,`d-none`,`d-sm-block`,`ml-2`],[1,`align-items-center`,`d-flex`,3,`keyup.enter`,`ngSubmit`,`formGroup`],[`appearance`,`outline`,1,`gf-spacer`,`without-hint`],[`formControlName`,`assetProfileIdentifier`,3,`includeIndices`],[`color`,`primary`,`mat-flat-button`,``,`type`,`submit`,1,`ml-2`,`no-min-width`,`px-2`,3,`disabled`],[`mat-button`,``,`type`,`button`,1,`ml-2`,`no-min-width`,`px-2`,3,`click`],[1,`my-1`,`px-1`,`text-muted`],[`color`,`accent`,`mat-flat-button`,``,`type`,`button`,3,`click`],[`size`,`medium`,3,`enableCopyToClipboardButton`,`isLoading`,`value`],[1,`edit-asset-profile-identifier-container`,`position-absolute`],[`mat-button`,``,`type`,`button`,1,`h-100`,`no-min-width`,`px-2`,3,`click`,`disabled`],[`name`,`create-outline`],[`size`,`medium`,3,`locale`,`value`],[1,`col-md-6`,`mb-3`],[1,`h5`],[3,`colorScheme`,`data`,`isInPercentage`,`keys`,`maxItems`],[`formControlName`,`currency`,3,`currencies`],[`name`,`server-outline`],[1,`gf-table`,`mb-3`,`w-100`],[3,`ngSubmit`,`formGroup`],[`formControlName`,`date`,`matInput`,``,3,`matDatepicker`],[`matSuffix`,``,1,`mr-2`,3,`for`],[`matDatepickerToggleIcon`,``,`name`,`calendar-clear-outline`,1,`text-muted`],[1,`align-items-center`,`d-flex`,`mb-3`],[`formControlName`,`numerator`,`matInput`,``,`step`,`1`,`type`,`number`],[1,`mx-2`],[`formControlName`,`denominator`,`matInput`,``,`step`,`1`,`type`,`number`],[1,`text-right`],[`
2color`,`primary`,`mat-flat-button`,``,`type`,`submit`,3,`disabled`],[`name`,`git-compare-outline`],[1,`mat-mdc-header-row`],[1,`mat-mdc-header-cell`,`px-1`,`py-2`],[1,`mat-mdc-header-cell`,`px-1`,`py-2`,`text-right`],[1,`mat-mdc-row`],[1,`mat-mdc-cell`,`px-1`,`py-2`],[1,`mat-mdc-cell`,`px-1`,`py-2`,`text-right`],[`mat-icon-button`,``,`type`,`button`,3,`click`,`disabled`],[`name`,`trash-outline`],[3,`formGroup`],[`formGroupName`,`scraperConfiguration`],[`formControlName`,`defaultMarketPrice`,`matInput`,``,`type`,`number`],[`cdkTextareaAutosize`,``,`formControlName`,`headers`,`matInput`,``,`type`,`text`],[`formControlName`,`locale`,`matInput`,``,`type`,`text`],[`formControlName`,`mode`],[`cdkTextareaAutosize`,``,`formControlName`,`selector`,`matInput`,``,`type`,`text`],[1,`my-3`,`text-right`],[`color`,`accent`,`mat-flat-button`,``,`type`,`button`,3,`click`,`disabled`],[`name`,`code-slash-outline`]]},template:function(e,i){if(e&1&&(Ms$1(0,`div`,58)(1,`div`,59)(2,`span`,60),G_$1(3),Hu(),Ms$1(4,`button`,61),Yy(`click`,function(s){return s.stopPropagation()}),by(5,`ion-icon`,62),Hu(),Ms$1(6,`mat-menu`,63,0)(8,`button`,64),Yy(`click`,function(){return i.initialize()}),Uu(9),l_(10,4),Ys$1(),Hu(),Ms$1(11,`button`,65),Yy(`click`,function(){return i.onGatherSymbol({dataSource:i.data.dataSource,symbol:i.data.symbol})}),Uu(12),l_(13,5),Ys$1(),Hu(),Ms$1(14,`mat-menu`,null,1),Ib(16,dm,2,1,`button`,66,y_),Hu(),Ms$1(18,`button`,67),Yy(`click`,function(){return i.onGatherProfileDataBySymbol({dataSource:i.data.dataSource,symbol:i.data.symbol})}),Uu(19),l_(20,6),Ys$1(),Hu(),by(21,`hr`,68),Ms$1(22,`button`,67),Yy(`click`,function(){return i.onDeleteProfileData({dataSource:i.data.dataSource,symbol:i.data.symbol})}),Uu(23),l_(24,7),Ys$1(),Hu()()(),Ms$1(25,`div`,69),by(26,`gf-line-chart`,70),Ms$1(27,`mat-tab-group`,71)(28,`mat-tab`),yy(29,cm,3,0,`ng-template`,72),Ms$1(30,`div`,73)(31,`div`,74),gb(32,Sm,13,4,`div`,75)(33,Am,9,6),Ms$1(34,`div`,76)(35,`gf-value`,77),l_(36,8),Hu()(),Ms$1(37,`div`,76)(38,`gf-value`,78),G_$1(39,`ISIN`),Hu()(),Ms$1(40,`div`,76)(41,`gf-value`,79),l_(42,9),Hu()(),Ms$1(43,`div`,76)(44,`gf-value`,80),l_(45,10),Hu()(),Ms$1(46,`div`,76)(47,`gf-value`,81),l_(48,11),Hu()(),Ms$1(49,`div`,76)(50,`gf-value`,81),l_(51,12),Hu()(),gb(52,pm,2,1),Hu(),Ms$1(53,`form`,82,2),Yy(`keyup.enter`,function(){return i.assetProfileForm.valid&&i.onSubmitAssetProfileForm()})(`ngSubmit`,function(){return i.onSubmitAssetProfileForm()}),Ms$1(55,`div`,83)(56,`mat-form-field`,84)(57,`mat-label`),l_(58,13),Hu(),by(59,`input`,85),eC(),Hu()(),gb(60,Pm,5,1,`div`,83),Ms$1(61,`div`,83)(62,`mat-form-field`,84)(63,`mat-label`),l_(64,14),Hu(),Ms$1(65,`mat-select`,86),by(66,`mat-option`,87),Ib(67,Mm,2,2,`mat-option`,87,so),Hu(),eC(),Hu()(),Ms$1(69,`div`,83)(70,`mat-form-field`,84)(71,`mat-label`),l_(72,15),Hu(),Ms$1(73,`mat-select`,88),by(74,`mat-option`,87),Ib(75,Nm,2,2,`mat-option`,87,so),Hu(),eC(),Hu()(),Ms$1(77,`div`,89)(78,`div`,90)(79,`mat-checkbox`,91),Yy(`change`,function(){return i.isBenchmark?i.onUnsetBenchmark({dataSource:i.data.dataSource,symbol:i.data.symbol}):i.onSetBenchmark({dataSource:i.data.dataSource,symbol:i.data.symbol})}),Uu(80),l_(81,16),Ys$1(),Uu(82),G_$1(83,`\xA0`),Ys$1(),Uu(84),l_(85,17),Ys$1(),Uu(86),G_$1(87,` / `),Ys$1(),Uu(88),l_(89,18),Ys$1(),Hu()()(),Ms$1(90,`div`,83)(91,`mat-form-field`,92)(92,`mat-label`),l_(93,19),Hu(),by(94,`textarea`,93),eC(),Hu()(),Ms$1(95,`div`)(96,`mat-form-field`,92)(97,`mat-label`),l_(98,20),Hu(),by(99,`textarea`,94),eC(),Hu()(),Ms$1(100,`div`)(101,`mat-form-field`,92)(102,`mat-label`),l_(103,21),Hu(),by(104,`textarea`,95),eC(),Hu()(),Ms$1(105,`div`)(106,`mat-form-field`,84)(107,`mat-label`),l_(108,22),Hu(),by(109,`input`,96),eC(),gb(110,gm,1,1,`gf-entity-logo`,97),Hu()(),Ms$1(111,`div`,83)(112,`mat-form-field`,92)(113,`mat-label`),l_(114,23),Hu(),Ms$1(115,`textarea`,98),Yy(`keyup.enter`,function(s){return s.stopPropagation()}),Hu(),eC(),Hu()(),Ms$1(116,`div`)(117,`mat-form-field`,84)(118,`mat-label`),l_(119,24),Hu(),Ms$1(120,`mat-select`,99),Ib(121,Om,2,2,`mat-option`,87,y_),Hu(),eC(),Hu()()()()(),Ms$1(123,`mat-tab`),yy(124,Im,3,0,`ng-template`,72),Ms$1(125,`div`,100)(126,`div`,101)(127,`div`,102)(128,`gf-historical-market-data-editor`,103),Yy(`marketDataChanged`,function(s){return i.onMarketDataChanged(s)}),Hu()()()()(),gb(129,Lm,30,5,`mat-tab`),gb(130,vm,45,2,`mat-tab`),Hu()(),Ms$1(131,`div`,104)(132,`div`,105)(133,`mat-checkbox`,91),Yy(`change`,function(s){return i.onToggleIsActive(s)}),Uu(134),l_(135,25),Ys$1(),Hu()(),Ms$1(136,`button`,106),Yy(`click`,function(){return i.onClose()}),gb(137,ym,2,0,`ng-container`)(138,$m,2,0,`ng-container`),Hu(),Ms$1(139,`button`,107),Yy(`click`,function(){return i.onTriggerSubmitAssetProfileForm()}),Uu(140),l_(141,26),Ys$1(),Hu()()()),e&2){let n=D_$1(7),s=D_$1(15);eT(3),yv(i.assetProfile?.name??i.data.symbol),eT(),Cy(`matMenuTriggerFor`,n),eT(7),Cy(`disabled`,i.assetProfileForm.dirty||!i.assetProfileForm.controls.isActive.value)(`matMenuTriggerFor`,s),eT(5),Eb(i.dateRangeOptions),eT(2),Cy(`disabled`,i.assetProfileForm.dirty||!i.assetProfileForm.controls.isActive.value),eT(4),Cy(`disabled`,!i.canDeleteAssetProfile(lM(57,sm,i.assetProfile?.activitiesCount??0,i.isBenchmark,i.data.symbol,i.assetProfile?.watchedByCount??0))),eT(4),Cy(`colorScheme`,i.user?.settings?.colorScheme)(`historicalDataItems`,i.historicalDataItems)(`isAnimated`,!0)(`label`,i.isUUID(i.data.symbol)?i.assetProfile?.name??i.data.symbol:i.data.symbol)(`locale`,i.data.locale)(`showXAxis`,!0)(`showYAxis`,!0),eT(),Cy(`disablePagination`,!0)(`dynamicHeight`,!0)(`mat-stretch-tabs`,!1),eT(5),mb(i.isEditAssetProfileIdentifierMode?32:33),eT(3),Cy(`isLoading`,i.isLoading)(`value`,i.assetProfile?.currency),eT(3),Cy(`enableCopyToClipboardButton`,!0)(`hidden`,!i.assetProfile?.isin)(`value`,i.assetProfile?.isin),eT(3),Cy(`isDate`,!!i.assetProfile?.dateOfFirstActivity)(`isLoading`,i.isLoading)(`locale`,i.data.locale)(`value`,i.assetProfile?.dateOfFirstActivity??`-`),eT(3),Cy(`isLoading`,i.isLoading)(`locale`,i.data.locale)(`value`,i.assetProfile?.activitiesCount),eT(3),Cy(`hidden`,!i.assetClassLabel)(`value`,i.assetClassLabel),eT(3),Cy(`hidden`,!i.assetSubClassLabel)(`value`,i.assetSubClassLabel),eT(2),mb((i.assetProfile?.countries?.length??0)>0||(i.assetProfile?.sectors?.length??0)>0?52:-1),eT(),cv(`d-none`,!i.canEditAssetProfile),Cy(`formGroup`,i.assetProfileForm),eT(6),nC(),eT(),mb(i.assetProfile?.dataSource===`MANUAL`?60:-1),eT(5),nC(),eT(),Cy(`value`,null),eT(),Eb(i.assetClassOptions),eT(6),nC(),eT(),Cy(`value`,null),eT(),Eb(i.assetSubClassOptions),eT(4),Cy(`checked`,i.isBenchmark)(`disabled`,!i.canEditAssetProfile||i.isEditAssetProfileIdentifierMode),eT(15),nC(),eT(5),nC(),eT(5),nC(),eT(5),nC(),eT(),mb(i.assetProfileForm.controls.url.value?110:-1),eT(5),Cy(`maxlength`,i.COMMENT_MAXIMUM_LENGTH),nC(),eT(5),nC(),eT(),Eb(i.dataGatheringFrequencyValues),eT(7),Cy(`currency`,i.assetProfile?.currency)(`dataSource`,i.data.dataSource)(`dateOfFirstActivity`,i.assetProfile?.dateOfFirstActivity)(`locale`,i.data.locale)(`marketData`,i.marketDataItems)(`symbol`,i.data.symbol)(`user`,i.user),eT(),mb(i.user?.settings?.isExperimentalFeatures?129:-1),eT(),mb(i.assetProfile?.dataSource===`MANUAL`?130:-1),eT(3),Cy(`checked`,i.isDataGatheringEnabled&&(i.assetProfile?.isActive??!1))(`disabled`,!i.canEditAssetProfile||!i.isDataGatheringEnabled||i.isEditAssetProfileIdentifierMode),eT(4),mb(i.assetProfileForm.dirty?137:138),eT(2),Cy(`disabled`,!(i.assetProfileForm.dirty&&i.assetProfileForm.valid))}},dependencies:[lr,Xn$1,qn,Xe,dn,Hn,Ln,Zt,et,ri$1,fe,Ce,Qt,xe,rt$1,Y3,os$1,ns$1,Fa,Te,le,Qn$1,qn$1,na,Za,Xa,Rs$1,Ds$1,ks$1,Os$1,at,ot,Ge,W,At,Ve,en$1,I,G,$t$1,nn$1,en,J,oe,Rn,Ge$1,$e,Dn$1,Yn,_n,mn$1,yt,ie,rr],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:unset}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%] gf-line-chart[_ngcontent-%COMP%]{aspect-ratio:16/9}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%] .edit-asset-profile-identifier-container[_ngcontent-%COMP%]{bottom:0;right:1rem;top:0}[_nghost-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{padding-right:.5rem!important}`]})}}});function Fm(t,o){t&1&&(Ms$1(0,`div`)(1,`mat-form-field`,25)(2,`mat-label`),l_(3,5),Hu(),by(4,`gf-symbol-autocomplete`,26),eC(),Hu()()),t&2&&(eT(4),Cy(`includeIndices`,!0),nC())}
2function xm(t,o){if(t&1&&(Ms$1(0,`div`)(1,`mat-form-field`,25)(2,`mat-label`),l_(3,6),Hu(),by(4,`input`,27),eC(),Ms$1(5,`span`,28),G_$1(6),Hu()()()),t&2){let e=p_();eT(4),nC(),eT(2),yv(e.ghostfolioPrefix)}}function km(t,o){t&1&&(Ms$1(0,`mat-error`),l_(1,8),Hu())}function wm(t,o){if(t&1&&(Ms$1(0,`div`)(1,`mat-form-field`,25)(2,`mat-label`),l_(3,7),Hu(),by(4,`input`,29),eC(),gb(5,km,2,0,`mat-error`),Hu()()),t&2){let e=p_();eT(4),nC(),eT(),mb(e.showCurrencyErrorMessage?5:-1)}}function Um(t,o){t&1&&(Uu(0),l_(1,9),Ys$1())}function Xm(t,o){t&1&&(Uu(0),l_(1,10),Ys$1())}var x_;var k_=A(()=>{Ry();it();zt$1();UM();w$1();An();za$1();tn();It();Ie();ve();kb();pi();UM();An();za$1();tn();It();Ie();ve();x_=(()=>{class t{constructor(){this.ghostfolioPrefix=`${cn$1}_`,this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.dialogRef=C(bt),this.formBuilder=C(bn)}get showCurrencyErrorMessage(){return!!this.createAssetProfileForm.controls.addCurrency.hasError(`invalidCurrency`)}ngOnInit(){this.initialize(),this.createAssetProfileForm=this.formBuilder.group({addCurrency:new Z(null,[this.iso4217CurrencyCodeValidator()]),addSymbol:new Z(null,[me.required]),searchSymbol:new Z(null,[me.required])},{validators:this.atLeastOneValid}),this.mode=`auto`}onCancel(){this.dialogRef.close()}onRadioChange(e){this.createAssetProfileForm.reset(),this.mode=e}onSubmit(){if(this.mode===`auto`)this.dialogRef.close({addAssetProfile:!0,dataSource:this.createAssetProfileForm.controls.searchSymbol.value?.dataSource,symbol:this.createAssetProfileForm.controls.searchSymbol.value?.symbol});else if(this.mode===`currency`){let e=this.createAssetProfileForm.controls.addCurrency.value,i=Array.from(new Set([...this.customCurrencies,e])).sort();this.dataService.putAdminSetting(omt,{value:JSON.stringify(i)}).pipe(Gf(()=>this.adminService.gatherSymbol({dataSource:this.dataSourceForExchangeRates,symbol:`${Br}${e}`})),P(this.destroyRef)).subscribe(()=>{this.dialogRef.close({addAssetProfile:!1,dataSource:this.dataSourceForExchangeRates,symbol:`${Br}${e}`})})}else this.mode===`manual`&&this.dialogRef.close({addAssetProfile:!0,dataSource:`MANUAL`,symbol:`${this.ghostfolioPrefix}${this.createAssetProfileForm.controls.addSymbol.value}`})}atLeastOneValid(e){let i=e.controls.addCurrency,n=e.controls.addSymbol,s=e.controls.searchSymbol;return i.valid&&n.valid&&s.valid?{atLeastOneValid:!0}:i.valid||n.valid||s.valid?{atLeastOneValid:!1}:{atLeastOneValid:!0}}initialize(){this.adminService.fetchAdminData().pipe(P(this.destroyRef)).subscribe(({dataProviders:e,settings:i})=>{this.customCurrencies=i[omt];let{dataSource:n}=e.find(({useForExchangeRates:s})=>s)??{};n&&(this.dataSourceForExchangeRates=n),this.changeDetectorRef.markForCheck()})}iso4217CurrencyCodeValidator(){return e=>e.value!==e.value?.toUpperCase()||!Ss$1(e.value)?{invalidCurrency:!0}:null}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-create-asset-profile-dialog`]],hostAttrs:[1,`h-100`],decls:25,vars:5,consts:()=>{let e;e="Add Asset Profile";let i;i="Search";let n;n="Add Manually";let s;s="Add Currency";let A;A="Save";let O;O="Name, symbol or ISIN";let h;h="Symbol";let b;b="Currency";let $;$="Oops! Invalid currency.";let K;K="Cancel";let x;return x="Close",[e,i,n,s,A,O,h,b,$,K,x,[1,`d-flex`,`flex-column`,`h-100`,3,`keyup.enter`,`ngSubmit`,`formGroup`],[`mat-dialog-title`,``],[`mat-dialog-content`,``,1,`flex-grow-1`,`py-3`],[1,`mb-3`],[`color`,`primary`,3,`change`,`value`],[`name`,`auto`,`value`,`auto`],[`for`,`auto`,1,`m-0`],[`name`,`manual`,`value`,`manual`,1,`ml-3`],[`for`,`manual`,1,`m-0`],[`name`,`currency`,`value`,`currency`,1,`ml-3`],[`for`,`currency`,1,`m-0`],[`mat-dialog-actions`,``,1,`d-flex`,`justify-content-end`],[`mat-button`,``,`type`,`button`,3,`click`],[`color`,`primary`,`mat-flat-button`,``,`type`,`submit`,3,`disabled`],[`appearance`,`outline`,1,`w-100`],[`formControlName`,`searchSymbol`,3,`includeIndices`],[`formControlName`,`addSymbol`,`matInput`,``],[`matTextPrefix`,``],[`formControlName`,`addCurrency`,`matInput`,``]]},template:function(i,n){i&1&&(Ms$1(0,`form`,11),Yy(`keyup.enter`,function(){return n.createAssetProfileForm.valid&&n.onSubmit()})(`ngSubmit`,function(){return n.onSubmit()}),Ms$1(1,`h1`,12),l_(2,0),Hu(),Ms$1(3,`div`,13)(4,`div`,14)(5,`mat-radio-group`,15),Yy(`change`,function(A){return n.onRadioChange(A.value)}),by(6,`mat-radio-button`,16),Ms$1(7,`label`,17),l_(8,1),Hu(),by(9,`mat-radio-button`,18),Ms$1(10,`label`,19),l_(11,2),Hu(),by(12,`mat-radio-button`,20),Ms$1(13,`label`,21),l_(14,3),Hu()()(),gb(15,Fm,5,1,`div`)(16,xm,7,1,`div`)(17,wm,6,1,`div`),Hu(),Ms$1(18,`div`,22)(19,`button`,23),Yy(`click`,function(){return n.onCancel()}),gb(20,Um,2,0,`ng-container`)(21,Xm,2,0,`ng-container`),Hu(),Ms$1(22,`button`,24),Uu(23),l_(24,4),Ys$1(),Hu()()()),i&2&&(Cy(`formGroup`,n.createAssetProfileForm),eT(5),Cy(`value`,n.mode),eT(10),mb(n.mode===`auto`?15:n.mode===`manual`?16:n.mode===`currency`?17:-1),eT(5),mb(n.createAssetProfileForm.dirty?20:21),eT(2),Cy(`disabled`,n.createAssetProfileForm.hasError(`atLeastOneValid`)))},dependencies:[Xn$1,qn,Xe,Hn,Ln,xe,os$1,ns$1,Rs$1,Ds$1,ks$1,Os$1,mn,Ge,W,Dt,Rt,at,ot,Pe$1,pe,X,Yn,_n,mn$1],styles:[`[_nghost-%COMP%]{display:block}`]})}}return t})()});var co;var w_=A(()=>{Mn$1();Ry();s();it();UM();w$1();tn();za();ft();pi();gh();Ki();F_();k_();UM();co=(()=>{class t{constructor(){this.deviceType=WE(()=>this.deviceDetectorService.deviceInfo().deviceType),this.dialogClosed=new se,this.adminMarketDataService=C(wt),this.adminService=C(Rt$1),this.destroyRef=C(Me),this.deviceDetectorService=C(ut),this.dialog=C(Oe),this.route=C(ee),this.router=C(q),this.userService=C(Oi)}
2ngOnInit(){let e=this.route.snapshot.data.mode;this.route.paramMap.pipe(Pe(i=>({dataSource:i.get(`dataSource`),symbol:i.get(`symbol`)})),jI((i,n)=>i.dataSource===n.dataSource&&i.symbol===n.symbol),Zf(()=>{this.closeDialog()}),P(this.destroyRef)).subscribe(({dataSource:i,symbol:n})=>{this.userService.get().pipe(P(this.destroyRef)).subscribe(s=>{e===`create`?this.openCreateAssetProfileDialog({user:s}):i&&n?this.openAssetProfileDialog({symbol:n,user:s,dataSource:i}):this.navigateBack()})})}ngOnDestroy(){this.dialogRef?.close(),this.dialogClosed.complete()}closeDialog(){this.dialogClosed.next(),this.dialogRef?.close()}navigateBack(){this.router.navigate(c.adminControl.subRoutes.marketData.routerLink)}navigateToAssetProfileDialog({dataSource:e,symbol:i}){this.router.navigate(c.adminControl.subRoutes.marketData.subRoutes.update.routerLink(e,i))}openAssetProfileDialog({dataSource:e,symbol:i,user:n}){let s=this.dialog.open(wn,{autoFocus:!1,data:{dataSource:e,symbol:i,colorScheme:n?.settings?.colorScheme,deviceType:this.deviceType(),locale:n?.settings?.locale??Gi},height:this.deviceType()===`mobile`?`98vh`:`80vh`,width:this.deviceType()===`mobile`?`100vw`:`50rem`});this.dialogRef=s,s.afterClosed().pipe(QI(this.dialogClosed),P(this.destroyRef)).subscribe(A=>{this.adminMarketDataService.triggerRefresh(),A?this.navigateToAssetProfileDialog(A):this.navigateBack()})}openCreateAssetProfileDialog({user:e}){let i=this.dialog.open(x_,{autoFocus:!1,data:{deviceType:this.deviceType(),locale:e?.settings?.locale??Gi},width:this.deviceType()===`mobile`?`100vw`:`50rem`});this.dialogRef=i,i.afterClosed().pipe(QI(this.dialogClosed),P(this.destroyRef)).subscribe(n=>{if(!n){this.navigateBack();return}let{addAssetProfile:s,dataSource:A,symbol:O}=n;s&&A&&O?this.adminService.addAssetProfile({dataSource:A,symbol:O}).pipe(P(this.destroyRef)).subscribe(()=>{this.navigateToAssetProfileDialog({dataSource:A,symbol:O})}):this.navigateToAssetProfileDialog({dataSource:A,symbol:O})})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-asset-profile-dialog-host`]],decls:0,vars:0,template:function(i,n){},encapsulation:2})}}return t})()});var U_;var X_=A(()=>{$r();UM();UM();U_=(()=>{class t{constructor(){this.http=C(En)}flush(){return this.http.post(`/api/v1/cache/flush`,{})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵprov=hn({token:t,factory:t.ɵfac})}}return t})()});function Bm(t,o){if(t&1){let e=_b();Ms$1(0,`div`,30)(1,`div`,31),l_(2,9),Hu(),Ms$1(3,`div`,31)(4,`mat-slide-toggle`,32),Yy(`change`,function(n){Hp(e);return Bp(p_().onReadOnlyModeChange(n))}),Hu()()()}if(t&2){let e=p_();eT(4),Cy(`checked`,e.isReadOnlyMode)(`disabled`,e.isLoading)}}function Km(t,o){if(t&1){let e=_b();Ms$1(0,`div`,37)(1,`div`,39),G_$1(2),fM(3,`json`),Hu(),Ms$1(4,`button`,40),Yy(`click`,function(){Hp(e);return Bp(p_(2).onDeleteSystemMessage())}),by(5,`ion-icon`,41),Hu()()}if(t&2){let e=p_(2);eT(2),qu(` `,hM(3,1,e.systemMessage),` `)}}function Hm(t,o){if(t&1){let e=_b();Ms$1(0,`button`,42),Yy(`click`,function(){Hp(e);return Bp(p_(2).onSetSystemMessage())}),by(1,`ion-icon`,43),Ms$1(2,`span`),l_(3,11),Hu()()}}function Jm(t,o){if(t&1&&(Ms$1(0,`div`,30)(1,`div`,31),l_(2,10),Hu(),Ms$1(3,`div`,31),gb(4,Km,6,3,`div`,37),gb(5,Hm,4,0,`button`,38),Hu()()),t&2){let e=p_();eT(4),mb(e.systemMessage?4:-1),eT(),mb(e.systemMessage?-1:5)}}function jm(t,o){if(t&1){let e=_b();Ms$1(0,`button`,44),Yy(`click`,function(){Hp(e);return Bp(p_().onSyncDemoUserAccount())}),by(1,`ion-icon`,45),Ms$1(2,`span`),l_(3,12),Hu()()}}function Wm(t,o){t&1&&(Ms$1(0,`th`,70),Uu(1),l_(2,15),Ys$1(),Hu())}function qm(t,o){if(t&1&&(Ms$1(0,`td`,71),by(1,`gf-value`,72),Hu()),t&2){let e=o.$implicit;eT(),Cy(`enableCopyToClipboardButton`,!0)(`value`,e.code)}}function Qm(t,o){t&1&&(Ms$1(0,`th`,73),Uu(1),l_(2,16),Ys$1(),Hu())}function Ym(t,o){if(t&1&&(Ms$1(0,`td`,74),G_$1(1),Hu()),t&2){let e=o.$implicit,i=p_(2);eT(),qu(` `,i.formatStringValue(e.duration),` `)}}function Zm(t,o){t&1&&(Ms$1(0,`th`,70),Uu(1),l_(2,17),Ys$1(),Hu())}function ed(t,o){if(t&1&&by(0,`gf-value`,75),t&2){let e=p_().$implicit,i=p_(2);Cy(`isDate`,!0)(`locale`,i.user?.settings?.locale)(`value`,e.createdAt)}}function td(t,o){t&1&&(Ms$1(0,`span`),G_$1(1,`-`),Hu())}function id(t,o){if(t&1&&(Ms$1(0,`td`,71),gb(1,ed,1,3,`gf-value`,75)(2,td,2,0,`span`),Hu()),t&2){let e=o.$implicit;eT(),mb(e.createdAt?1:2)}}
2function nd(t,o){t&1&&by(0,`th`,73)}function od(t,o){if(t&1){let e=_b();Ms$1(0,`td`,74)(1,`button`,76),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,77),Hu(),Ms$1(3,`mat-menu`,78,1)(5,`button`,79),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_(2).onDeleteCoupon(n.code))}),Ms$1(6,`span`,37),by(7,`ion-icon`,80),Ms$1(8,`span`),l_(9,18),Hu()()()()()}if(t&2){let e=D_$1(4);eT(),Cy(`matMenuTriggerFor`,e)}}function ad(t,o){t&1&&by(0,`tr`,81)}function rd(t,o){t&1&&by(0,`tr`,82)}function _d(t,o){t&1&&by(0,`ngx-skeleton-loader`,58),t&2&&Cy(`theme`,iM(1,Vm))}function ld(t,o){if(t&1){let e=_b();Ms$1(0,`div`,27)(1,`div`,28)(2,`mat-card`,22)(3,`mat-card-header`)(4,`mat-card-title`),l_(5,13),Hu()(),Ms$1(6,`mat-card-content`)(7,`div`,46)(8,`table`,47),Uu(9,48),yy(10,Wm,3,0,`th`,49)(11,qm,2,2,`td`,50),Ys$1(),Uu(12,51),yy(13,Qm,3,0,`th`,52)(14,Ym,2,1,`td`,53),Ys$1(),Uu(15,54),yy(16,Zm,3,0,`th`,49)(17,id,3,1,`td`,50),Ys$1(),Uu(18,55),yy(19,nd,1,0,`th`,52)(20,od,10,1,`td`,53),Ys$1(),yy(21,ad,1,0,`tr`,56)(22,rd,1,0,`tr`,57),Hu(),gb(23,_d,1,2,`ngx-skeleton-loader`,58),Hu()(),Ms$1(24,`mat-card-actions`,59)(25,`form`,60,0)(27,`mat-form-field`,61)(28,`mat-select`,62),Yy(`selectionChange`,function(n){Hp(e);return Bp(p_().onChangeCouponDuration(n.value))}),Ms$1(29,`mat-option`,63),G_$1(30),Hu(),Ms$1(31,`mat-option`,64),G_$1(32),Hu(),Ms$1(33,`mat-option`,65),G_$1(34),Hu(),Ms$1(35,`mat-option`,66),G_$1(36),Hu(),Ms$1(37,`mat-option`,67),G_$1(38),Hu(),Ms$1(39,`mat-option`,68),G_$1(40),Hu()()(),Ms$1(41,`button`,69),Yy(`click`,function(){Hp(e);return Bp(p_().onAddCoupon())}),Uu(42),l_(43,14),Ys$1(),Hu()()()()()()}if(t&2){let e=p_();eT(8),Cy(`dataSource`,e.couponsDataSource),eT(13),Cy(`matHeaderRowDef`,e.couponsDisplayedColumns),eT(),Cy(`matRowDefColumns`,e.couponsDisplayedColumns),eT(),mb(e.isLoading?23:-1),eT(5),Cy(`value`,e.couponDuration),eT(2),yv(e.formatStringValue(`7 days`)),eT(2),yv(e.formatStringValue(`14 days`)),eT(2),yv(e.formatStringValue(`30 days`)),eT(2),yv(e.formatStringValue(`90 days`)),eT(2),yv(e.formatStringValue(`180 days`)),eT(2),yv(e.formatStringValue(`1 year`))}}var Vm;var z_;var V_=A(()=>{X_();Mn$1();Ry();a();H2();l();$t();it();e$2();x$2();mr();UM();w$1();An();za$1();M$1();St();ti();he$1();Vt$1();Jt();za();G3();$l$1();K3();J3();Oy();U();pi();UM();An();za$1();M$1();St();It();ti();he$1();Jt();U();mr();Vm=()=>({height:`1.5rem`,width:`100%`});z_=(()=>{class t{constructor(){this.couponDuration=`14 days`,this.couponsDataSource=new Ct,this.couponsDisplayedColumns=[`code`,`duration`,`createdAt`,`actions`],this.isLoading=!1,this.permissions=a$1,this.adminService=C(Rt$1),this.cacheService=C(U_),this.changeDetectorRef=C(bB),this.clipboard=C(v),this.dataService=C(At$2),this.destroyRef=C(Me),this.notificationService=C(xt$1),this.snackBar=C(zt),this.userService=C(Oi),this.info=this.dataService.fetchInfo(),this.userService.stateChanged.pipe(P(this.destroyRef)).subscribe(e=>{e?.user&&(this.user=e.user,this.hasPermissionForSubscription=n(this.info.globalPermissions,a$1.enableSubscription),this.hasPermissionForSystemMessage=n(this.info.globalPermissions,a$1.enableSystemMessage),this.hasPermissionToSyncDemoUserAccount=n(this.user.permissions,a$1.syncDemoUserAccount),this.hasPermissionToToggleReadOnlyMode=n(this.user.permissions,a$1.toggleReadOnlyMode)),this.changeDetectorRef.markForCheck()}),nt({closeCircleOutline:In,ellipsisHorizontal:$n,informationCircleOutline:Qn,syncOutline:Vi$1,trashOutline:Di})}get activitiesCountPerUser(){return!this.activitiesCount||!this.userCount?void 0:`(${(this.activitiesCount/this.userCount).toLocaleString(this.user?.settings?.locale,{maximumFractionDigits:2,minimumFractionDigits:2})} ${"per User"})`}ngOnInit(){this.isLoading=!0,this.fetchAdminData()}formatStringValue(e){return x6(Fe(new Date,xt(e)),{locale:ADt(this.user?.settings?.language)})}onAddCoupon(){let e={code:`${cn$1}${this.generateCouponCode(14)}`,createdAt:new Date().toISOString(),duration:this.couponDuration},i=this.clipboard.copy(e.code),n=[...this.couponsDataSource.data,e];this.saveCoupons({coupons:n,snackBarMessage:i?`â
`+`${e.code} has been copied to the clipboard`:`â
`+`Coupon ${e.code} has been created`})}onChangeCouponDuration(e){this.couponDuration=e}onDeleteCoupon(e){this.notificationService.confirm({confirmFn:()=>{let i=this.couponsDataSource.data.filter(({code:n})=>n!==e);this.saveCoupons({coupons:i})},confirmType:m.Warn,title:"Do you really want to delete this coupon?"})}onDeleteSystemMessage(){this.notificationService.confirm({confirmFn:()=>{this.putAdminSetting({key:smt,value:void 0})},confirmType:m.Warn,title:"Do you really want to delete this system message?"})}onEnableDataGatheringChange(e){this.putAdminSetting({key:amt,value:e.checked?void 0:!1})}onFlushCache(){this.notificationService.confirm({confirmFn:()=>{this.cacheService.flush().pipe(P(this.destroyRef)).subscribe(()=>{this.dataService.updateInfo(),this.snackBar.open(`â
`+"Cache has been flushed.",void 0,{duration:xt(`3 seconds`)})})},confirmType:m.Warn,title:"Do you really want to flush the cache?"})}onEnableUserSignupModeChange(e){this.putAdminSetting({key:imt,value:e.checked?void 0:!1})}onReadOnlyModeChange(e){this.putAdminSetting({key:nmt,value:e.checked?!0:void 0})}onSetSystemMessage(){let e$4=prompt("Please set your system message:",JSON.stringify(this.systemMessage??{message:`âï¸ Scheduled maintenance in progress...`,targetGroups:[e.Basic,e.Premium]}));e$4&&this.putAdminSetting({key:smt,value:JSON.parse(e$4)})}onSyncDemoUserAccount(){this.adminService.syncDemoUserAccount().pipe(P(this.destroyRef)).subscribe(()=>{this.snackBar.open(`â
`+"Demo user account has been synced.",void 0,{duration:xt(`3 seconds`)})})}fetchAdminData(){this.adminService.fetchAdminData().pipe(P(this.destroyRef)).subscribe(({activitiesCount:e,settings:i,userCount:n,version:s})=>{this.activitiesCount=e,this.couponsDataSource.data=i[rmt]??[],this.isDataGatheringEnabled=i[amt]!==!1,this.isReadOnlyMode=i[nmt]===!0,this.isUserSignupEnabled=i[imt]!==!1,this.systemMessage=i[smt],this.userCount=n,this.version=s,this.isLoading=!1,this.changeDetectorRef.markForCheck()})}generateCouponCode(e){let i=`ABCDEFGHJKLMNPQRSTUVWXYZ123456789`,n=``;for(let s=0;s<e;s++)n+=i.charAt(Math.floor(Math.random()*33));return n}putAdminSetting({key:e,value:i}){this.dataService.putAdminSetting(e,{value:i||i===!1?JSON.stringify(i):void 0}).pipe(Gf(()=>this.userService.get(!0)),ba(()=>sI(void 0)),P(this.destroyRef)).subscribe(()=>{this.dataService.updateInfo(),this.fetchAdminData()})}saveCoupons({coupons:e,snackBarMessage:i}){this.dataService.putAdminSetting(rmt,{value:JSON.stringify(e)}).pipe(P(this.destroyRef)).subscribe(()=>{this.couponsDataSource.data=e,i&&this.snackBar.open(i,void 0,{duration:xt(`3 seconds`)}),this.changeDetectorRef.markForCheck()})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-overview`]],decls:44,vars:18,consts:()=>{let e;e="Version";let i;i="Users";let n;n="Activities";let s;s="User Signup";let A;A="Data Gathering";let O;O="Housekeeping";let h;h="Flush Cache";let b;b="Read-only Mode";let $;$="System Message";let K;K="Set Message";let x;x="Sync Demo User Account";let G;G="Coupons";let Y;Y="Add";let X;X="Code";let Ce;Ce="Duration";let se;se="Creation";let ue;
2return ue="Delete",[[`couponForm`,`ngForm`],[`couponActionsMenu`,`matMenu`],e,i,n,s,A,O,h,b,$,K,x,G,Y,X,Ce,se,ue,[1,`container`],[1,`mb-3`,`row`],[1,`col-lg-4`,`mb-3`,`mb-lg-0`],[`appearance`,`outlined`],[`size`,`large`,3,`enableCopyToClipboardButton`,`isLoading`,`value`],[`size`,`large`,3,`isLoading`,`locale`,`value`],[1,`col-lg-4`],[`size`,`large`,3,`isLoading`,`locale`,`subLabel`,`value`],[1,`row`],[1,`col`],[`appearance`,`outlined`,1,`mb-3`],[1,`d-flex`,`my-3`],[1,`w-50`],[`color`,`primary`,`hideIcon`,`true`,3,`change`,`checked`,`disabled`],[1,`align-items-start`,`d-flex`,`flex-column`],[`color`,`accent`,`mat-flat-button`,``,1,`mb-2`],[`color`,`warn`,`mat-flat-button`,``,3,`click`],[`name`,`close-circle-outline`,1,`mr-1`],[1,`align-items-center`,`d-flex`],[`color`,`accent`,`mat-flat-button`,``,1,`mt-2`],[1,`text-truncate`],[`mat-button`,``,1,`h-100`,`mx-1`,`no-min-width`,`px-2`,3,`click`],[`name`,`trash-outline`],[`color`,`accent`,`mat-flat-button`,``,1,`mt-2`,3,`click`],[`name`,`information-circle-outline`,1,`mr-1`],[`color`,`accent`,`mat-flat-button`,``,1,`mb-2`,3,`click`],[`name`,`sync-outline`,1,`mr-1`],[1,`overflow-x-auto`],[`mat-table`,``,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`code`],[`class`,`px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`duration`],[`class`,`px-1 text-right`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`createdAt`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[`align`,`end`],[1,`align-items-stretch`,`d-flex`],[`appearance`,`outline`,1,`mr-1`,`without-hint`],[`name`,`duration`,3,`selectionChange`,`value`],[`value`,`7 days`],[`value`,`14 days`],[`value`,`30 days`],[`value`,`90 days`],[`value`,`180 days`],[`value`,`1 year`],[`color`,`primary`,`mat-flat-button`,``,1,`h-auto`,`rounded`,3,`click`],[`mat-header-cell`,``,1,`px-1`],[`mat-cell`,``,1,`px-1`],[1,`text-monospace`,3,`enableCopyToClipboardButton`,`value`],[`mat-header-cell`,``,1,`px-1`,`text-right`],[`mat-cell`,``,1,`px-1`,`text-right`],[3,`isDate`,`locale`,`value`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`,1,`no-max-width`],[`mat-menu-item`,``,3,`click`],[`name`,`trash-outline`,1,`mr-2`],[`mat-header-row`,``],[`mat-row`,``]]},template:function(i,n){i&1&&(Ms$1(0,`div`,19)(1,`div`,20)(2,`div`,21)(3,`mat-card`,22)(4,`mat-card-content`)(5,`gf-value`,23),l_(6,2),Hu()()()(),Ms$1(7,`div`,21)(8,`mat-card`,22)(9,`mat-card-content`)(10,`gf-value`,24),l_(11,3),Hu()()()(),Ms$1(12,`div`,25)(13,`mat-card`,22)(14,`mat-card-content`)(15,`gf-value`,26),l_(16,4),Hu()()()()(),Ms$1(17,`div`,27)(18,`div`,28)(19,`mat-card`,29)(20,`mat-card-content`)(21,`div`,30)(22,`div`,31),l_(23,5),Hu(),Ms$1(24,`div`,31)(25,`mat-slide-toggle`,32),Yy(`change`,function(A){return n.onEnableUserSignupModeChange(A)}),Hu()()(),gb(26,Bm,5,2,`div`,30),Ms$1(27,`div`,30)(28,`div`,31),l_(29,6),Hu(),Ms$1(30,`div`,31)(31,`mat-slide-toggle`,32),Yy(`change`,function(A){return n.onEnableDataGatheringChange(A)}),Hu()()(),gb(32,Jm,6,2,`div`,30),Ms$1(33,`div`,30)(34,`div`,31),l_(35,7),Hu(),Ms$1(36,`div`,31)(37,`div`,33),gb(38,jm,4,0,`button`,34),Ms$1(39,`button`,35),Yy(`click`,function(){return n.onFlushCache()}),by(40,`ion-icon`,36),Ms$1(41,`span`),l_(42,8),Hu()()()()()()()()(),gb(43,ld,44,11,`div`,27),Hu()),i&2&&(eT(5),Cy(`enableCopyToClipboardButton`,!0)(`isLoading`,n.isLoading)(`value`,n.version),eT(5),Cy(`isLoading`,n.isLoading)(`locale`,n.user?.settings?.locale)(`value`,n.userCount),eT(5),Cy(`isLoading`,n.isLoading)(`locale`,n.user?.settings?.locale)(`subLabel`,n.activitiesCountPerUser)(`value`,n.activitiesCount),eT(10),Cy(`checked`,n.isUserSignupEnabled)(`disabled`,n.isLoading),eT(),mb(n.hasPermissionToToggleReadOnlyMode?26:-1),eT(5),Cy(`checked`,n.isDataGatheringEnabled)(`disabled`,n.isLoading),eT(),mb(n.hasPermissionForSystemMessage?32:-1),eT(6),mb(n.hasPermissionToSyncDemoUserAccount?38:-1),eT(5),mb(n.hasPermissionForSubscription?43:-1))},dependencies:[A$1,lr,Xn$1,qn,Ln,on,rt$1,Y3,os$1,ns$1,G$1,k,L,z,B$1,T,en$1,I,G,$t$1,nn$1,Ge,en,J,oe,Re,me$1,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,K,B,Yn,La,ir],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .subscription[_ngcontent-%COMP%] .mat-mdc-form-field[_ngcontent-%COMP%]{max-width:100%}`]})}}return t})()});function sd(t,o){t&1&&(Ms$1(0,`h1`,8),l_(1,3),Hu())}function md(t,o){t&1&&(Ms$1(0,`h1`,8),l_(1,4),Hu())}function dd(t,o){if(t&1&&by(0,`gf-entity-logo`,13),t&2)Cy(`url`,p_().platformForm.get(`url`).value)}function cd(t,o){t&1&&(Uu(0),l_(1,5),Ys$1())}function fd(t,o){t&1&&(Uu(0),l_(1,6),Ys$1())}var fo;var B_=A(()=>{vo();Bo();e$1();An();za$1();tn();It();Ie();UM();tn();An();za$1();It();Ie();fo=(()=>{class t{constructor(e,i,n){this.data=e,this.dialogRef=i,this.formBuilder=n,this.platformForm=this.formBuilder.group({name:[this.data.platform?.name,me.required],url:[this.data.platform?.url??`https://`,me.required]})}onCancel(){this.dialogRef.close()}onSubmit(){return D(this,null,function*(){try{let e={name:this.platformForm.get(`name`)?.value,url:this.platformForm.get(`url`)?.value};this.data.platform?.id?(e.id=this.data.platform.id,yield ko({classDto:Tt,form:this.platformForm,object:e})):yield ko({classDto:Mt,form:this.platformForm,object:e}),this.dialogRef.close(e)}catch(e){console.error(e)}})}static{this.ɵfac=function(i){return new(i||t)(To(Ki$1),To(bt),To(bn))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-create-or-update-platform-dialog`]],hostAttrs:[1,`h-100`],decls:22,vars:5,consts:()=>{let e;e="Name";let i;i="Url";let n;n="Save";let s;s="Update platform";let A;A="Add platform";let O;O="Cancel";let h;return h="Close",[e,i,n,s,A,O,h,[1,`d-flex`,`flex-column`,`h-100`,3,`keyup.enter`,`ngSubmit`,`formGroup`],[`mat-dialog-title`,``],[`mat-dialog-content`,``,1,`flex-grow-1`,`py-3`],[`appearance`,`outline`,1,`w-100`],[`formControlName`,`name`,`matInput`,``,3,`keydown.enter`],[`formControlName`,`url`,`matInput`,``,3,`keydown.enter`],[`matSuffix`,``,1,`mat-icon`,3,`url`],[`mat-dialog-actions`,``,1,`justify-content-end`],[`mat-button`,``,`type`,`button`,3,`click`],[`color`,`primary`,`mat-flat-button`,``,`type`,`submit`,3,`disabled`]]},template:function(i,n){i&1&&(Ms$1(0,`form`,7),Yy(`keyup.enter`,function(){return n.platformForm.valid&&n.onSubmit()})(`ngSubmit`,function(){return n.onSubmit()}),gb(1,sd,2,0,`h1`,8)(2,md,2,0,`h1`,8),Ms$1(3,`div`,9)(4,`div`)(5,`mat-form-field`,10)(6,`mat-label`),l_(7,0),Hu(),Ms$1(8,`input`,11),Yy(`keydown.enter`,function(A){return A.
2stopPropagation()}),Hu(),eC(),Hu()(),Ms$1(9,`div`)(10,`mat-form-field`,10)(11,`mat-label`),l_(12,1),Hu(),Ms$1(13,`input`,12),Yy(`keydown.enter`,function(A){return A.stopPropagation()}),Hu(),eC(),gb(14,dd,1,1,`gf-entity-logo`,13),Hu()()(),Ms$1(15,`div`,14)(16,`button`,15),Yy(`click`,function(){return n.onCancel()}),gb(17,cd,2,0,`ng-container`)(18,fd,2,0,`ng-container`),Hu(),Ms$1(19,`button`,16),Uu(20),l_(21,2),Ys$1(),Hu()()()),i&2&&(Cy(`formGroup`,n.platformForm),eT(),mb(n.data.platform?.id?1:2),eT(7),nC(),eT(5),nC(),eT(),mb(n.platformForm.get(`url`)?.value?14:-1),eT(3),mb(n.platformForm.dirty?17:18),eT(2),Cy(`disabled`,!(n.platformForm.dirty&&n.platformForm.valid)))},dependencies:[Xn$1,qn,Xe,Hn,Ln,ri$1,os$1,ns$1,Rs$1,Ds$1,ks$1,Os$1,mn,Ge,W,At,at,ot,Yn,_n,mn$1],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:unset}`]})}}return t})()});function ud(t,o){t&1&&by(0,`th`,28)}function Ed(t,o){if(t&1&&(Ms$1(0,`td`,29),by(1,`gf-entity-logo`,30),Hu()),t&2){let e=o.$implicit;eT(),Cy(`hasPlaceholder`,!0)(`tooltip`,e.name)(`url`,e.url)}}function Td(t,o){t&1&&(Ms$1(0,`th`,31),Uu(1),l_(2,2),Ys$1(),Hu())}function pd(t,o){if(t&1&&(Ms$1(0,`td`,32),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.name,` `)}}function Pd(t,o){t&1&&(Ms$1(0,`th`,33),Uu(1),l_(2,3),Ys$1(),Hu())}function Md(t,o){if(t&1&&(Ms$1(0,`td`,32),G_$1(1),Hu()),t&2){let e=o.$implicit;eT(),qu(` `,e.url,` `)}}function Nd(t,o){t&1&&(Ms$1(0,`th`,34),Uu(1),l_(2,4),Ys$1(),Hu())}function gd(t,o){if(t&1&&(Ms$1(0,`td`,35),by(1,`gf-value`,36),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.locale())(`value`,e.accountCount)}}function Od(t,o){t&1&&by(0,`th`,37)}function Id(t,o){if(t&1){let e=_b();Ms$1(0,`td`,29)(1,`button`,38),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,39),Hu(),Ms$1(3,`mat-menu`,40,0)(5,`button`,41),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onUpdatePlatform(n))}),Ms$1(6,`span`,42),by(7,`ion-icon`,43),Ms$1(8,`span`),Uu(9),l_(10,5),Ys$1(),G_$1(11,`...`),Hu()()(),by(12,`hr`,44),Ms$1(13,`button`,45),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onDeletePlatform(n.id))}),Ms$1(14,`span`,42),by(15,`ion-icon`,46),Ms$1(16,`span`),l_(17,6),Hu()()()()()}if(t&2){let e=o.$implicit,i=D_$1(4);eT(),Cy(`matMenuTriggerFor`,i),eT(12),Cy(`disabled`,e.accountCount>0)}}function Dd(t,o){t&1&&by(0,`tr`,47)}function hd(t,o){t&1&&by(0,`tr`,48)}function Rd(t,o){t&1&&by(0,`ngx-skeleton-loader`,26),t&2&&Cy(`theme`,iM(1,Cd))}var Sd;var Ad;var Cd;var K_;var H_=A(()=>{Mn$1();Ry();a();H2();e$1();$t();it();e$2();UM();w$1();za$1();tn();St();vt();ot$1();Jt();za();G3();K3();J3();ft();U();B_();UM();za$1();St();vt();ot$1();Jt();U();za();Sd=()=>({createPlatformDialog:!0}),Ad=()=>[],Cd=()=>({height:`1.5rem`,width:`100%`});K_=(()=>{class t{constructor(){this.locale=IB(F2()),this.dataSource=new Ct,this.displayedColumns=[`icon`,`name`,`url`,`accounts`,`actions`],this.isLoading=!1,this.pageSize=Lut,this.deviceType=WE(()=>this.deviceDetectorService.deviceInfo().deviceType),this.paginator=DB.required(ft$1),this.sort=DB.required(rt),this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.deviceDetectorService=C(ut),this.dialog=C(Oe),this.notificationService=C(xt$1),this.route=C(ee),this.router=C(q),this.userService=C(Oi),this.route.queryParams.pipe(P(this.destroyRef)).subscribe(e=>{if(e.createPlatformDialog)this.openCreatePlatformDialog();else if(e.editPlatformDialog)if(this.platforms){let i=this.platforms.find(({id:n})=>n===e.platformId);i&&this.openUpdatePlatformDialog(i)}else this.router.navigate([`.`],{relativeTo:this.route})}),nt({createOutline:Tn,ellipsisHorizontal:$n,trashOutline:Di})}ngOnInit(){this.fetchPlatforms()}onDeletePlatform(e){this.notificationService.confirm({confirmFn:()=>{this.deletePlatform(e)},confirmType:m.Warn,title:"Do you really want to delete this platform?"})}onUpdatePlatform({id:e}){this.router.navigate([],{queryParams:{editPlatformDialog:!0,platformId:e}})}
2deletePlatform(e){this.adminService.deletePlatform(e).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchPlatforms()}})}fetchPlatforms(){this.isLoading=!0,this.adminService.fetchPlatforms().pipe(P(this.destroyRef)).subscribe(e=>{this.platforms=e,this.dataSource=new Ct(e),this.dataSource.paginator=this.paginator(),this.dataSource.sort=this.sort(),this.dataSource.sortingDataAccessor=IDt,this.dataService.updateInfo(),this.isLoading=!1,this.changeDetectorRef.markForCheck()})}openCreatePlatformDialog(){this.dialog.open(fo,{data:{},height:this.deviceType()===`mobile`?`98vh`:void 0,width:this.deviceType()===`mobile`?`100vw`:`50rem`}).afterClosed().pipe(P(this.destroyRef)).subscribe(i=>{i&&this.adminService.postPlatform(i).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchPlatforms()}}),this.router.navigate([`.`],{relativeTo:this.route})})}openUpdatePlatformDialog({id:e,name:i,url:n}){this.dialog.open(fo,{data:{platform:{id:e,name:i,url:n}},height:this.deviceType()===`mobile`?`98vh`:void 0,width:this.deviceType()===`mobile`?`100vw`:`50rem`}).afterClosed().pipe(P(this.destroyRef)).subscribe(A=>{A&&this.adminService.putPlatform(A).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchPlatforms()}}),this.router.navigate([`.`],{relativeTo:this.route})})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-platform`]],viewQuery:function(i,n){i&1&&nv(n.paginator,ft$1,5)(n.sort,rt,5),i&2&&E_(2)},inputs:{locale:[1,`locale`]},decls:24,vars:12,consts:()=>{let e;e=" Add Platform ";let i;i="Name";let n;n="Url";let s;s="Accounts";let A;A="Edit";let O;return O="Delete",[[`platformMenu`,`matMenu`],e,i,n,s,A,O,[1,`d-flex`,`justify-content-end`],[`color`,`primary`,`mat-flat-button`,``,3,`queryParams`,`routerLink`],[1,`overflow-x-auto`],[`mat-table`,``,`matSort`,``,`matSortActive`,`name`,`matSortDirection`,`asc`,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`icon`,`sticky`,``],[`class`,`px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1 text-center`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`name`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`name`,4,`matHeaderCellDef`],[`class`,`px-1 text-nowrap`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`url`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`url`,4,`matHeaderCellDef`],[`matColumnDef`,`accounts`],[`class`,`justify-content-end px-1`,`mat-header-cell`,``,`mat-sort-header`,`accountCount`,4,`matHeaderCellDef`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`class`,`px-1 text-center`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[3,`hidePageSize`,`pageSize`],[`mat-header-cell`,``,1,`px-1`],[`mat-cell`,``,1,`px-1`,`text-center`],[3,`hasPlaceholder`,`tooltip`,`url`],[`mat-header-cell`,``,`mat-sort-header`,`name`,1,`px-1`],[`mat-cell`,``,1,`px-1`,`text-nowrap`],[`mat-header-cell`,``,`mat-sort-header`,`url`,1,`px-1`],[`mat-header-cell`,``,`mat-sort-header`,`accountCount`,1,`justify-content-end`,`px-1`],[`mat-cell`,``,1,`px-1`,`text-right`],[1,`d-inline-block`,`justify-content-end`,3,`locale`,`value`],[`mat-header-cell`,``,1,`px-1`,`text-center`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`],[`mat-menu-item`,``,3,`click`],[1,`align-items-center`,`d-flex`],[`name`,`create-outline`,1,`mr-2`],[1,`m-0`],[`mat-menu-item`,``,3,`click`,`disabled`],[`name`,`trash-outline`,1,`mr-2`],[`mat-header-row`,``],[`mat-row`,``]]},template:function(i,n){i&1&&(Ms$1(0,`div`,7)(1,`a`,8),l_(2,1),Hu()(),Ms$1(3,`div`,9)(4,`table`,10),Uu(5,11),yy(6,ud,1,0,`th`,12)(7,Ed,2,3,`td`,13),Ys$1(),Uu(8,14),yy(9,Td,3,0,`th`,15)(10,pd,2,1,`td`,16),Ys$1(),Uu(11,17),yy(12,Pd,3,0,`th`,18)(13,Md,2,1,`td`,16),Ys$1(),Uu(14,19),yy(15,Nd,3,0,`th`,20)(16,gd,2,2,`td`,21),Ys$1(),Uu(17,22),yy(18,Od,1,0,`th`,23)(19,Id,18,2,`td`,13),Ys$1(),yy(20,Dd,1,0,`tr`,24)(21,hd,1,0,`tr`,25),Hu()(),gb(22,Rd,1,2,`ngx-skeleton-loader`,26),by(23,`mat-paginator`,27)),i&2&&(eT(),Cy(`queryParams`,iM(10,Sd))(`routerLink`,iM(11,Ad)),eT(3),Cy(`dataSource`,n.dataSource),eT(16),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),mb(n.isLoading?22:-1),eT(),cv(`d-none`,n.dataSource.data.length<=n.pageSize),Cy(`hidePageSize`,!0)(`pageSize`,n.pageSize))},dependencies:[ri$1,rt$1,Y3,os$1,ns$1,en$1,I,G,$t$1,Et$1,ft$1,At$1,rt,Et,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,K,B,La,ur],styles:[`[_nghost-%COMP%]{display:block}`]})}}return t})()});function Ld(t,o){t&1&&(Ms$1(0,`h1`,7),l_(1,2),Hu())}function bd(t,o){t&1&&(Ms$1(0,`h1`,7),l_(1,3),Hu())}function Gd(t,o){t&1&&(Uu(0),l_(1,4),Ys$1())}function vd(t,o){t&1&&(Uu(0),l_(1,5),Ys$1())}var So;var J_=A(()=>{vo();Bo();An();za$1();tn();It();Ie();UM();tn();An();za$1();It();Ie();So=(()=>{class t{constructor(e,i,n){this.data=e,this.dialogRef=i,this.formBuilder=n,this.tagForm=this.formBuilder.group({name:[this.data.tag?.name]})}onCancel(){this.dialogRef.close()}onSubmit(){return D(this,null,function*(){try{let e={name:this.tagForm.get(`name`)?.value};this.data.tag?.id?(e.id=this.data.tag.id,yield ko({classDto:vt$1,form:this.tagForm,object:e})):yield ko({classDto:At$3,form:this.tagForm,object:e}),this.dialogRef.close(e)}catch(e){console.error(e)}})}static{this.ɵfac=function(i){return new(i||t)(To(Ki$1),To(bt),To(bn))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-create-or-update-tag-dialog`]],hostAttrs:[1,`h-100`],decls:16,vars:4,consts:()=>{let e;e="Name";let i;i="Save";let n;n="Update tag";let s;s="Add tag";let A;A="Cancel";let O;return O="Close",[e,i,n,s,A,O,[1,`d-flex`,`flex-column`,`h-100`,3,`keyup.enter`,`ngSubmit`,`formGroup`],[`mat-dialog-title`,``],[`mat-dialog-content`,``,1,`flex-grow-1`,`py-3`],[`appearance`,`outline`,1,`w-100`],[`formControlName`,`name`,`matInput`,``,3,`keydown.enter`],[`mat-dialog-actions`,``,1,`justify-content-end`],[`mat-button`,``,`type`,`button`,3,`click`],[`color`,`primary`,`mat-flat-button`,``,`type`,`submit`,3,`disabled`]]},template:function(i,n){i&1&&(Ms$1(0,`form`,6),Yy(`keyup.enter`,function(){return n.tagForm.valid&&n.onSubmit()})(`ngSubmit`,function(){return n.onSubmit()}),gb(1,Ld,2,0,`h1`,7)(2,bd,2,0,`h1`,7),Ms$1(3,`div`,8)(4,`div`)(5,`mat-form-field`,9)(6,`mat-label`),l_(7,0),Hu(),Ms$1(8,`input`,10),Yy(`keydown.enter`,function(A){return A.
2stopPropagation()}),Hu(),eC(),Hu()()(),Ms$1(9,`div`,11)(10,`button`,12),Yy(`click`,function(){return n.onCancel()}),gb(11,Gd,2,0,`ng-container`)(12,vd,2,0,`ng-container`),Hu(),Ms$1(13,`button`,13),Uu(14),l_(15,1),Ys$1(),Hu()()()),i&2&&(Cy(`formGroup`,n.tagForm),eT(),mb(n.data.tag?.id?1:2),eT(7),nC(),eT(3),mb(n.tagForm.dirty?11:12),eT(2),Cy(`disabled`,!(n.tagForm.dirty&&n.tagForm.valid)))},dependencies:[Xn$1,qn,Xe,Hn,Ln,os$1,ns$1,Rs$1,Ds$1,ks$1,Os$1,mn,Ge,W,at,ot,Yn,_n,mn$1],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:unset}`]})}}return t})()});function xd(t,o){t&1&&(Ms$1(0,`th`,32),Uu(1),l_(2,2),Ys$1(),Hu())}function kd(t,o){if(t&1&&(Ms$1(0,`td`,33),G_$1(1),Hu()),t&2){let e=o.$implicit,i=p_();eT(),qu(` `,i.translate(e.name),` `)}}function wd(t,o){t&1&&(Ms$1(0,`th`,34),Uu(1),l_(2,3),Ys$1(),Hu())}function Ud(t,o){if(t&1&&(Ms$1(0,`td`,33)(1,`span`,35),G_$1(2),Hu()()),t&2){let e=o.$implicit;eT(2),yv(e.userId)}}function Xd(t,o){t&1&&(Ms$1(0,`th`,36),Uu(1),l_(2,4),Ys$1(),Hu())}function zd(t,o){if(t&1&&(Ms$1(0,`td`,37),by(1,`gf-value`,38),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.locale())(`value`,e.accountCount)}}function Vd(t,o){t&1&&(Ms$1(0,`th`,39),Uu(1),l_(2,5),Ys$1(),Hu())}function Bd(t,o){if(t&1&&(Ms$1(0,`td`,37),by(1,`gf-value`,38),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.locale())(`value`,e.activityCount)}}function Kd(t,o){t&1&&(Ms$1(0,`th`,40),Uu(1),l_(2,6),Ys$1(),Hu())}function Hd(t,o){if(t&1&&(Ms$1(0,`td`,37),by(1,`gf-value`,38),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.locale())(`value`,i.getTotalCount(e))}}function Jd(t,o){t&1&&by(0,`th`,41)}function jd(t,o){if(t&1){let e=_b();Ms$1(0,`td`,42)(1,`button`,43),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,44),Hu(),Ms$1(3,`mat-menu`,45,0)(5,`button`,46),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onUpdateTag(n))}),Ms$1(6,`span`,47),by(7,`ion-icon`,48),Ms$1(8,`span`),Uu(9),l_(10,7),Ys$1(),G_$1(11,`...`),Hu()()(),by(12,`hr`,49),Ms$1(13,`button`,46),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onDeleteTag(n.id))}),Ms$1(14,`span`,47),by(15,`ion-icon`,50),Ms$1(16,`span`),l_(17,8),Hu()()()()()}if(t&2){let e=o.$implicit,i=D_$1(4),n=p_();eT(),Cy(`matMenuTriggerFor`,i),eT(4),Cy(`disabled`,n.isSystemTag(e)),eT(8),Cy(`disabled`,e.accountCount>0||e.activityCount>0||n.isSystemTag(e))}}function Wd(t,o){t&1&&by(0,`tr`,51)}function qd(t,o){t&1&&by(0,`tr`,52)}function Qd(t,o){t&1&&by(0,`ngx-skeleton-loader`,30),t&2&&Cy(`theme`,iM(1,Fd))}var yd;var $d;var Fd;var j_;var W_=A(()=>{Mn$1();Ry();a();H2();G2();$t();it();e$2();UM();w$1();za$1();tn();St();vt();ot$1();Jt();za();G3();K3();J3();ft();U();J_();UM();za$1();St();vt();ot$1();Jt();U();za();yd=()=>({createTagDialog:!0}),$d=()=>[],Fd=()=>({height:`1.5rem`,width:`100%`});j_=(()=>{class t{constructor(){this.locale=IB(F2()),this.dataSource=new Ct,this.displayedColumns=[`name`,`userId`,`accounts`,`activities`,`total`,`actions`],this.isLoading=!1,this.isSystemTag=WDt,this.pageSize=Lut,this.translate=QDt,this.deviceType=WE(()=>this.deviceDetectorService.deviceInfo().deviceType),this.paginator=DB.required(ft$1),this.sort=DB.required(rt),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.deviceDetectorService=C(ut),this.dialog=C(Oe),this.notificationService=C(xt$1),this.route=C(ee),this.router=C(q),this.userService=C(Oi),this.route.queryParams.pipe(P(this.destroyRef)).subscribe(e=>{if(e.createTagDialog)this.openCreateTagDialog();else if(e.editTagDialog)if(this.tags){let i=this.tags.find(({id:n})=>n===e.tagId);i&&!WDt(i)&&this.openUpdateTagDialog(i)}else this.router.navigate([`.`],{relativeTo:this.route})}),nt({createOutline:Tn,ellipsisHorizontal:$n,trashOutline:Di})}ngOnInit(){this.fetchTags()}getTotalCount({accountCount:e,activityCount:i}){return e+i}onDeleteTag(e){this.notificationService.confirm({confirmFn:()=>{this.deleteTag(e)},confirmType:m.Warn,title:"Do you really want to delete this tag?"})}onUpdateTag({id:e}){this.router.navigate([],{queryParams:{editTagDialog:!0,tagId:e}})}
2deleteTag(e){this.dataService.deleteTag(e).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchTags()}})}fetchTags(){this.isLoading=!0,this.dataService.fetchTags().pipe(P(this.destroyRef)).subscribe(e=>{this.tags=e,this.dataSource=new Ct(this.tags),this.dataSource.paginator=this.paginator(),this.dataSource.sort=this.sort(),this.dataSource.sortingDataAccessor=(i,n)=>n===`name`?QDt(i.name).toLocaleLowerCase():n===`totalCount`?this.getTotalCount(i):IDt(i,n),this.dataService.updateInfo(),this.isLoading=!1,this.changeDetectorRef.markForCheck()})}openCreateTagDialog(){this.dialog.open(So,{data:{},height:this.deviceType()===`mobile`?`98vh`:void 0,width:this.deviceType()===`mobile`?`100vw`:`50rem`}).afterClosed().pipe(P(this.destroyRef)).subscribe(i=>{i&&this.dataService.postTag(i).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchTags()}}),this.router.navigate([`.`],{relativeTo:this.route})})}openUpdateTagDialog({id:e,name:i}){this.dialog.open(So,{data:{tag:{id:e,name:i}},height:this.deviceType()===`mobile`?`98vh`:void 0,width:this.deviceType()===`mobile`?`100vw`:`50rem`}).afterClosed().pipe(P(this.destroyRef)).subscribe(s=>{s&&this.dataService.putTag(s).pipe(P(this.destroyRef)).subscribe({next:()=>{this.userService.get(!0).pipe(P(this.destroyRef)).subscribe(),this.fetchTags()}}),this.router.navigate([`.`],{relativeTo:this.route})})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-tag`]],viewQuery:function(i,n){i&1&&nv(n.paginator,ft$1,5)(n.sort,rt,5),i&2&&E_(2)},inputs:{locale:[1,`locale`]},decls:27,vars:12,consts:()=>{let e;e=" Add Tag ";let i;i="Name";let n;n="User";let s;s="Accounts";let A;A="Activities";let O;O="Total";let h;h="Edit";let b;return b="Delete",[[`tagMenu`,`matMenu`],e,i,n,s,A,O,h,b,[1,`d-flex`,`justify-content-end`],[`color`,`primary`,`mat-flat-button`,``,3,`queryParams`,`routerLink`],[1,`overflow-x-auto`],[`mat-table`,``,`matSort`,``,`matSortActive`,`name`,`matSortDirection`,`asc`,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`name`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`name`,4,`matHeaderCellDef`],[`class`,`px-1 text-nowrap`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`userId`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`userId`,4,`matHeaderCellDef`],[`matColumnDef`,`accounts`],[`class`,`justify-content-end px-1`,`mat-header-cell`,``,`mat-sort-header`,`accountCount`,4,`matHeaderCellDef`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`activities`],[`class`,`justify-content-end px-1`,`mat-header-cell`,``,`mat-sort-header`,`activityCount`,4,`matHeaderCellDef`],[`matColumnDef`,`total`],[`class`,`justify-content-end px-1`,`mat-header-cell`,``,`mat-sort-header`,`totalCount`,4,`matHeaderCellDef`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`class`,`px-1 text-center`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1 text-center`,`mat-cell`,``,4,`matCellDef`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[3,`hidePageSize`,`pageSize`],[`mat-header-cell`,``,`mat-sort-header`,`name`,1,`px-1`],[`mat-cell`,``,1,`px-1`,`text-nowrap`],[`mat-header-cell`,``,`mat-sort-header`,`userId`,1,`px-1`],[1,`text-monospace`],[`mat-header-cell`,``,`mat-sort-header`,`accountCount`,1,`justify-content-end`,`px-1`],[`mat-cell`,``,1,`px-1`,`text-right`],[1,`d-inline-block`,`justify-content-end`,3,`locale`,`value`],[`mat-header-cell`,``,`mat-sort-header`,`activityCount`,1,`justify-content-end`,`px-1`],[`mat-header-cell`,``,`mat-sort-header`,`totalCount`,1,`justify-content-end`,`px-1`],[`mat-header-cell`,``,1,`px-1`,`text-center`],[`mat-cell`,``,1,`px-1`,`text-center`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`],[`mat-menu-item`,``,3,`click`,`disabled`],[1,`align-items-center`,`d-flex`],[`name`,`create-outline`,1,`mr-2`],[1,`m-0`],[`name`,`trash-outline`,1,`mr-2`],[`mat-header-row`,``],[`mat-row`,``]]},template:function(i,n){i&1&&(Ms$1(0,`div`,9)(1,`a`,10),l_(2,1),Hu()(),Ms$1(3,`div`,11)(4,`table`,12),Uu(5,13),yy(6,xd,3,0,`th`,14)(7,kd,2,1,`td`,15),Ys$1(),Uu(8,16),yy(9,wd,3,0,`th`,17)(10,Ud,3,1,`td`,15),Ys$1(),Uu(11,18),yy(12,Xd,3,0,`th`,19)(13,zd,2,2,`td`,20),Ys$1(),Uu(14,21),yy(15,Vd,3,0,`th`,22)(16,Bd,2,2,`td`,20),Ys$1(),Uu(17,23),yy(18,Kd,3,0,`th`,24)(19,Hd,2,2,`td`,20),Ys$1(),Uu(20,25),yy(21,Jd,1,0,`th`,26)(22,jd,18,3,`td`,27),Ys$1(),yy(23,Wd,1,0,`tr`,28)(24,qd,1,0,`tr`,29),Hu()(),gb(25,Qd,1,2,`ngx-skeleton-loader`,30),by(26,`mat-paginator`,31)),i&2&&(eT(),Cy(`queryParams`,iM(10,yd))(`routerLink`,iM(11,$d)),eT(3),Cy(`dataSource`,n.dataSource),eT(19),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),mb(n.isLoading?25:-1),eT(),cv(`d-none`,n.dataSource.data.length<=n.pageSize),Cy(`hidePageSize`,!0)(`pageSize`,n.pageSize))},dependencies:[rt$1,Y3,os$1,ns$1,en$1,I,G,$t$1,Et$1,ft$1,At$1,rt,Et,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,K,B,La,ur],styles:[`[_nghost-%COMP%]{display:block}`]})}}return t})()});function Zd(t,o){t&1&&(Ms$1(0,`span`,3),l_(1,0),Hu())}function ec(t,o){t&1&&(Ms$1(0,`span`,4),l_(1,1),Hu())}function tc(t,o){t&1&&gb(0,Zd,2,0,`span`,3)(1,ec,2,0,`span`,4),t&2&&mb(o.isHealthy?0:1)}function ic(t,o){t&1&&by(0,`ngx-skeleton-loader`,2),t&2&&Cy(`theme`,iM(1,Yd))}var Yd;var q_;var Q_=A(()=>{it();mr();w$1();U();pi();UM();it();U();mr();Yd=()=>({height:`1.5rem`,width:`100%`});q_=(()=>{class t{constructor(e,i){this.dataService=e,this.destroyRef=i}ngOnInit(){this.status$=this.dataService.fetchDataProviderHealth(this.dataSource).pipe(Pe(()=>({isHealthy:!0})),ba(()=>sI({isHealthy:!1})),P(this.destroyRef))}static{this.ɵfac=function(i){return new(i||t)(To(At$2),To(Me))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-data-provider-status`]],inputs:{dataSource:`dataSource`},decls:3,vars:3,consts:()=>{let e;e="Available";let i;
2return i="Unavailable",[e,i,[`animation`,`pulse`,3,`theme`],[1,`text-success`],[1,`text-danger`]]},template:function(i,n){if(i&1&&(gb(0,tc,2,1),fM(1,`async`),Vu(2,ic,1,2,`ngx-skeleton-loader`,2)),i&2){let s;mb((s=hM(1,1,n.status$))?0:2,s)}},dependencies:[lr,K,B,tr],encapsulation:2})}}return t})()});function oc(t,o){if(t&1&&(Ms$1(0,`mat-card`,22)(1,`mat-card-header`)(2,`mat-card-title`,43),G_$1(3,`Ghostfolio Premium `),by(4,`gf-premium-indicator`,44),Hu()(),Ms$1(5,`mat-card-content`,45),zy(6,4),by(7,`strong`)(8,`strong`)(9,`strong`)(10,`strong`),Qy(),Hu(),Ms$1(11,`mat-card-actions`,46)(12,`a`,47),Uu(13),l_(14,5),Ys$1(),Hu(),Ms$1(15,`div`,48)(16,`small`),l_(17,6),Hu()(),Ms$1(18,`a`,49),Uu(19),l_(20,7),Ys$1(),Hu()()()),t&2){let e=p_();eT(4),Cy(`enableLink`,!1),eT(8),Cy(`href`,e.premiumDataProviderMailHref,Jg),eT(6),Cy(`href`,e.pricingUrl,Jg)}}function ac(t,o){t&1&&by(0,`th`,50)}function rc(t,o){if(t&1&&(Ms$1(0,`td`,51),by(1,`gf-entity-logo`,52),Hu()),t&2){let e=o.$implicit;eT(),Cy(`hasPlaceholder`,!0)(`url`,e.url)}}function _c(t,o){t&1&&(Ms$1(0,`th`,53),Uu(1),l_(2,8),Ys$1(),Hu())}function lc(t,o){t&1&&(Ms$1(0,`span`,57),l_(1,9),Hu())}function sc(t,o){if(t&1&&(Ms$1(0,`div`,58)(1,`small`,59),Uu(2),l_(3,10),Ys$1(),G_$1(4),fM(5,`date`),Hu()()),t&2){let e=p_(3);eT(4),qu(` `,gM(5,1,e.ghostfolioApiStatus?.subscription?.expiresAt,e.defaultDateFormat),` `)}}function mc(t,o){if(t&1&&(Ms$1(0,`a`,55),G_$1(1,` Ghostfolio Premium `),by(2,`gf-premium-indicator`,56),gb(3,lc,2,0,`span`,57),Hu(),gb(4,sc,6,4,`div`,58)),t&2){let e=p_(2);Cy(`href`,e.pricingUrl,Jg),eT(2),Cy(`enableLink`,!1),eT(),mb(e.isGhostfolioApiKeyValid===!1?3:-1),eT(),mb(e.isGhostfolioApiKeyValid===!0?4:-1)}}function dc(t,o){if(t&1&&G_$1(0),t&2){let e=p_().$implicit;qu(` `,e.name,` `)}}function cc(t,o){if(t&1&&(Ms$1(0,`td`,54),gb(1,mc,5,4)(2,dc,1,1),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(i.isGhostfolioDataProvider(e)?1:2)}}function fc(t,o){t&1&&(Ms$1(0,`th`,50),Uu(1),l_(2,11),Ys$1(),Hu())}function Sc(t,o){t&1&&(Ms$1(0,`span`,61),l_(1,12),Hu())}function Ac(t,o){if(t&1&&by(0,`gf-data-provider-status`,62),t&2){let e=p_().$implicit;Cy(`dataSource`,e.dataSource)}}function Cc(t,o){if(t&1&&(Ms$1(0,`td`,60),gb(1,Sc,2,0,`span`,61)(2,Ac,1,1,`gf-data-provider-status`,62),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(i.hasGhostfolioApiKey&&i.isGhostfolioApiKeyValid===!1&&i.isGhostfolioDataProvider(e)?1:i.hasGhostfolioApiKey||!i.isGhostfolioDataProvider(e)?2:-1)}}function uc(t,o){t&1&&(Ms$1(0,`th`,63),Uu(1),l_(2,13),Ys$1(),Hu())}function Ec(t,o){if(t&1&&(Ms$1(0,`td`,64),by(1,`gf-value`,65),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.user?.settings?.locale)(`value`,e.assetProfileCount)}}function Tc(t,o){t&1&&by(0,`th`,50)}function pc(t,o){if(t&1&&(Ms$1(0,`div`,66),by(1,`mat-progress-bar`,67),Ms$1(2,`small`,59),G_$1(3),Uu(4),l_(5,14),Ys$1(),G_$1(6),Uu(7),l_(8,15),Ys$1(),Hu()()),t&2){let e=p_(2);Cy(`matTooltip`,e.ghostfolioApiStatusTooltip)(`matTooltipDisabled`,!e.ghostfolioApiStatus.isWithinSetupPeriod),eT(),Cy(`value`,100-e.ghostfolioApiStatus.dailyRequests/e.ghostfolioApiStatus.dailyRequestsMax*100),eT(2),qu(` `,e.ghostfolioApiStatus.dailyRequests,` `),eT(3),qu(` `,e.ghostfolioApiStatus.dailyRequestsMax,` `)}}function Pc(t,o){if(t&1&&(Ms$1(0,`td`,60),gb(1,pc,9,5,`div`,66),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(i.isGhostfolioDataProvider(e)&&i.isGhostfolioApiKeyValid===!0?1:-1)}}function Mc(t,o){t&1&&by(0,`th`,50)}function Nc(t,o){if(t&1){let e=_b();Ms$1(0,`button`,69),Yy(`click`,function(n){return n.stopPropagation()}),by(1,`ion-icon`,70),Hu(),Ms$1(2,`mat-menu`,71,0)(4,`button`,72),Yy(`click`,function(){Hp(e);return Bp(p_(3).onRemoveGhostfolioApiKey())}),Ms$1(5,`span`,73),by(6,`ion-icon`,74),Ms$1(7,`span`),l_(8,16),Hu()()()()}if(t&2)Cy(`matMenuTriggerFor`,D_$1(3))}function gc(t,o){if(t&1){let e=_b();Ms$1(0,`button`,75),Yy(`click`,function(){Hp(e);return Bp(p_(3).onSetGhostfolioApiKey())}),Uu(1),l_(2,17),Ys$1(),Hu()}}function Oc(t,o){if(t&1&&gb(0,Nc,9,1)(1,gc,3,0,`button`,68),t&2){let e=p_(2);mb(e.hasGhostfolioApiKey?0:e.hasGhostfolioApiKey===!1?1:-1)}}function Ic(t,o){if(t&1&&(Ms$1(0,`td`,64),gb(1,Oc,2,1),Hu()),t&2){let e=o.$implicit,i=p_();eT(),mb(i.isGhostfolioDataProvider(e)?1:-1)}}function Dc(t,o){t&1&&by(0,`tr`,76)}function hc(t,o){t&1&&by(0,`tr`,77)}function Rc(t,o){t&1&&by(0,`ngx-skeleton-loader`,40),t&2&&Cy(`theme`,iM(1,nc))}var nc;var Y_;var Z_=A(()=>{H_();W_();Q_();Mn$1();Ry();a();H2();s();e$1();$t();re();it();e$2();mr();w$1();za$1();M$1();St();C$1();ot$1();Jt();u$2();za();G3();K3();J3();Iy();U();pi();UM();it();$t();Mn$1();za$1();M$1();St();C$1();ot$1();Jt();u$2();U();mr();nc=()=>({height:`1.5rem`,width:`100%`});Y_=(()=>{class t{constructor(e,i,n,s,A,O){this.adminService=e,this.changeDetectorRef=i,this.dataService=n,this.destroyRef=s,this.notificationService=A,this.userService=O,this.dataSource=new Ct,this.displayedColumns=[`icon`,`name`,`status`,`assetProfileCount`,`usage`,`actions`],this.ghostfolioApiStatusTooltip="Additional requests are granted while you are setting up your instance",this.isLoading=!1,this.premiumDataProviderMailHref=`mailto:[email protected]?subject=Ghostfolio Premium Data Provider&body=${[`Hello,`,``,`I am interested in the Ghostfolio Premium data provider. Could you please give me access so I can try it for some time?`,``,`Kind regards`].join(But)}`,this.DEFAULT_LOCALE=Gi,nt({ellipsisHorizontal:$n,trashOutline:Di})}ngOnInit(){this.userService.stateChanged.pipe(P(this.destroyRef)).subscribe(e=>{if(e?.user){this.user=e.user,this.defaultDateFormat=L2(this.user.settings.locale);let i=this.user.settings.language;this.pricingUrl=`https://ghostfol.io/${i}/${u.pricing.path}`,this.changeDetectorRef.markForCheck()}}),this.initialize()}isGhostfolioDataProvider(e){return e.dataSource===`GHOSTFOLIO`}onRemoveGhostfolioApiKey(){this.notificationService.confirm({confirmFn:()=>{this.dataService.putAdminSetting(emt,{value:void 0}).subscribe(()=>{this.initialize()})},confirmType:m.Warn,title:"Do you really want to delete the API key?"})}onSetGhostfolioApiKey(){this.notificationService.prompt({confirmFn:e=>{let i=e?.trim();i&&this.dataService.putAdminSetting(emt,{value:i}).subscribe(()=>{this.initialize()})},title:"Please enter your Ghostfolio API key."})}initialize(){this.isLoading=!0,this.dataSource=new Ct,this.adminService.fetchAdminData().pipe(P(this.destroyRef)).subscribe(({dataProviders:e,settings:i})=>{let n=e.filter(({dataSource:A})=>A!==`MANUAL`);
2this.dataSource=new Ct(n),this.dataSource.sort=this.sort,this.dataSource.sortingDataAccessor=Lr;let s=i[emt];this.hasGhostfolioApiKey=!!s,s?this.adminService.fetchGhostfolioDataProviderStatus(s).pipe(ba(()=>(this.isGhostfolioApiKeyValid=!1,this.changeDetectorRef.markForCheck(),sI(null))),xn(A=>A!==null),P(this.destroyRef)).subscribe(A=>{this.ghostfolioApiStatus=A,this.isGhostfolioApiKeyValid=!0,this.changeDetectorRef.markForCheck()}):this.isGhostfolioApiKeyValid=!1,this.isLoading=!1,this.changeDetectorRef.markForCheck()})}static{this.ɵfac=function(i){return new(i||t)(To(Rt$1),To(bB),To(At$2),To(Me),To(xt$1),To(Oi))}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-settings`]],viewQuery:function(i,n){if(i&1&&ev(rt,5),i&2){let s;v_$1(s=I_$1())&&(n.sort=s.first)}},decls:39,vars:7,consts:()=>{let e;e="Data Providers";let i;i="Platforms";let n;n="Tags";let s;s=` Fuel your ${`[�#7�|�#8�|�#9�|�#10�]`}self-hosted Ghostfolio${`[�/#7�|�/#8�|�/#9�|�/#10�]`} with a ${`[�#7�|�#8�|�#9�|�#10�]`}powerful data provider${`[�/#7�|�/#8�|�/#9�|�/#10�]`} to access ${`[�#7�|�#8�|�#9�|�#10�]`}80,000+ tickers${`[�/#7�|�/#8�|�/#9�|�/#10�]`} from over ${`[�#7�|�#8�|�#9�|�#10�]`}50 exchanges${`[�/#7�|�/#8�|�/#9�|�/#10�]`} worldwide. `,s=f_(s);let A;A="Get Access";let O;O="or";let h;h="Learn more";let b;b="Name";let $;$="popular";let K;K="Valid until";let x;x="Status";let G;G="Invalid API key";let Y;Y="Asset Profiles";let X;X="of";let Ce;Ce="daily requests";let se;se="Remove API key";let ue;return ue="Set API key",[[`ghostfolioApiMenu`,`matMenu`],e,i,n,s,A,O,h,b,$,K,x,G,Y,X,Ce,se,ue,[1,`container`],[1,`mb-5`,`row`],[1,`col`],[1,`text-center`],[`appearance`,`outlined`,1,`my-3`,`special`],[1,`overflow-x-auto`],[`mat-table`,``,`matSort`,``,`matSortActive`,`name`,`matSortDirection`,`asc`,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`icon`,`sticky`,``],[`class`,`px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1 text-center`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`name`],[`class`,`px-1`,`mat-header-cell`,``,`mat-sort-header`,`name`,4,`matHeaderCellDef`],[`class`,`px-1 text-nowrap`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`status`],[`class`,`px-1`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`assetProfileCount`],[`class`,`justify-content-end px-1`,`mat-header-cell`,``,`mat-sort-header`,`assetProfileCount`,4,`matHeaderCellDef`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`usage`],[`matColumnDef`,`actions`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[3,`locale`],[1,`row`],[1,`align-items-center`,`d-flex`,`m-0`],[1,`d-inline-block`,`mx-1`,3,`enableLink`],[1,`gf-text-wrap-balance`,`py-3`],[1,`pb-3`,`pt-0`,`px-3`],[`mat-flat-button`,``,1,`special`,3,`href`],[1,`mx-3`,`text-muted`],[`color`,`accent`,`mat-stroked-button`,``,`target`,`_blank`,3,`href`],[`mat-header-cell`,``,1,`px-1`],[`mat-cell`,``,1,`px-1`,`text-center`],[3,`hasPlaceholder`,`url`],[`mat-header-cell`,``,`mat-sort-header`,`name`,1,`px-1`],[`mat-cell`,``,1,`px-1`,`text-nowrap`],[`target`,`_blank`,1,`align-items-center`,`d-inline-flex`,3,`href`],[1,`d-inline-block`,`ml-1`,3,`enableLink`],[1,`badge`,`badge-pill`,`badge-secondary`,`ml-2`,`text-uppercase`],[1,`line-height-1`],[1,`text-muted`],[`mat-cell`,``,1,`px-1`],[1,`text-danger`],[3,`dataSource`],[`mat-header-cell`,``,`mat-sort-header`,`assetProfileCount`,1,`justify-content-end`,`px-1`],[`mat-cell`,``,1,`px-1`,`text-right`],[1,`d-inline-block`,`justify-content-end`,3,`locale`,`value`],[3,`matTooltip`,`matTooltipDisabled`],[`mode`,`determinate`,3,`value`],[`mat-flat-button`,``,1,`special`,`text-nowrap`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`,1,`no-max-width`],[`mat-menu-item`,``,3,`click`],[1,`align-items-center`,`d-flex`],[`name`,`trash-outline`,1,`mr-2`],[`mat-flat-button`,``,1,`special`,`text-nowrap`,3,`click`],[`mat-header-row`,``],[`mat-row`,``]]},template:function(i,n){i&1&&(Ms$1(0,`div`,18)(1,`div`,19)(2,`div`,20)(3,`h2`,21),l_(4,1),Hu(),gb(5,oc,21,3,`mat-card`,22),Ms$1(6,`div`,23)(7,`table`,24),Uu(8,25),yy(9,ac,1,0,`th`,26)(10,rc,2,2,`td`,27),Ys$1(),Uu(11,28),yy(12,_c,3,0,`th`,29)(13,cc,3,1,`td`,30),Ys$1(),Uu(14,31),yy(15,fc,3,0,`th`,26)(16,Cc,3,1,`td`,32),Ys$1(),Uu(17,33),yy(18,uc,3,0,`th`,34)(19,Ec,2,2,`td`,35),Ys$1(),Uu(20,36),yy(21,Tc,1,0,`th`,26)(22,Pc,2,1,`td`,32),Ys$1(),Uu(23,37),yy(24,Mc,1,0,`th`,26)(25,Ic,2,1,`td`,35),Ys$1(),yy(26,Dc,1,0,`tr`,38)(27,hc,1,0,`tr`,39),Hu()(),gb(28,Rc,1,2,`ngx-skeleton-loader`,40),Hu()(),Ms$1(29,`div`,19)(30,`div`,20)(31,`h2`,21),l_(32,2),Hu(),by(33,`gf-admin-platform`,41),Hu()(),Ms$1(34,`div`,42)(35,`div`,20)(36,`h2`,21),l_(37,3),Hu(),by(38,`gf-admin-tag`,41),Hu()()()),i&2&&(eT(5),mb(n.isGhostfolioApiKeyValid===!1?5:-1),eT(2),Cy(`dataSource`,n.dataSource),eT(19),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),mb(n.isLoading?28:-1),eT(5),Cy(`locale`,n.user?.settings?.locale??n.DEFAULT_LOCALE),eT(5),Cy(`locale`,n.user?.settings?.locale??n.DEFAULT_LOCALE))},dependencies:[lr,K_,j_,q_,ri$1,_i,rt$1,Y3,os$1,ns$1,G$1,k,L,z,B$1,T,en$1,I,G,$t$1,q$1,U$1,At$1,rt,Et,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,v$1,Yt,K,B,La,rr],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] a.special[_ngcontent-%COMP%], [_nghost-%COMP%] button.special[_ngcontent-%COMP%]{background:linear-gradient(45deg,var(--%NS%oc-pink-5),var(--%NS%oc-violet-5));color:#fff}[_nghost-%COMP%] .mat-mdc-card[_ngcontent-%COMP%]{--%NS%gradient-opacity: 50%;--%NS%mat-card-outlined-outline-color: rgb(193, 219, 254);background-color:#fff;background-image:linear-gradient(109.6deg,color-mix(in srgb,rgb(255,255,255) 100%,transparent) 11.2%,color-mix(in srgb,rgba(221,108,241,.26) var(--%NS%gradient-opacity),transparent) 42%,color-mix(in srgb,rgba(229,106,253,.71) var(--%NS%gradient-opacity),transparent) 71.5%,color-mix(in srgb,rgb(123,183,253) var(--%NS%gradient-opacity),transparent));color:rgb(var(--%NS%dark-primary-text))}[_nghost-%COMP%] .mat-mdc-card[_ngcontent-%COMP%] .mat-mdc-card-actions[_ngcontent-%COMP%]{min-height:0}
2[_nghost-%COMP%] .mat-mdc-progress-bar[_ngcontent-%COMP%]{--%NS%mat-progress-bar-active-indicator-height: .5rem;--%NS%mat-progress-bar-track-height: .5rem;border-radius:.25rem}[_nghost-%COMP%] .mat-mdc-progress-bar[_ngcontent-%COMP%] .mdc-linear-progress__buffer-bar{background-color:rgb(var(--%NS%palette-background-unselected-chip))}.theme-dark[_nghost-%COMP%] .mat-mdc-card[_ngcontent-%COMP%], .theme-dark [_nghost-%COMP%] .mat-mdc-card[_ngcontent-%COMP%]{--%NS%mat-card-outlined-outline-color: white}`]})}}return t})()});function Xn({date:t,language:o}){if(t){let e=x6(ri(t),{addSuffix:!0,locale:ADt(o)});return Math.abs(Vu$1(ri(t),new Date))<60?"just now":e}return``}var Ao=A(()=>{H2();$l$1()});function vc(t,o){if(t&1&&(Ms$1(0,`div`,30)(1,`div`,31)(2,`gf-value`,35),l_(3,10),Hu()(),Ms$1(4,`div`,31)(5,`gf-value`,33),l_(6,11),Hu()()()),t&2){let e=p_();eT(2),Cy(`isLoading`,e.isLoading)(`locale`,e.data.locale)(`value`,e.user?.subscription?`Premium`:`Basic`),eT(3),Cy(`isLoading`,e.isLoading)(`value`,e.user?.country?e.getCountryName(sM(5,bc,e.user.country)):`-`)}}function yc(t,o){t&1&&(Ms$1(0,`th`,57),Uu(1),l_(2,16),Ys$1(),Hu())}function $c(t,o){if(t&1&&(Ms$1(0,`td`,58),by(1,`gf-value`,59),Hu()),t&2){let e=o.$implicit,i=p_(3);eT(),Cy(`isDate`,!0)(`locale`,i.data.locale)(`value`,e.createdAt)}}function Fc(t,o){t&1&&(Ms$1(0,`td`,60),l_(1,17),Hu())}function xc(t,o){t&1&&(Ms$1(0,`th`,57),Uu(1),l_(2,18),Ys$1(),Hu())}function kc(t,o){if(t&1&&(Ms$1(0,`td`,58),G_$1(1),Hu()),t&2){let e=o.$implicit,i=p_(3);eT(),qu(` `,i.getType(e),` `)}}function wc(t,o){t&1&&by(0,`td`,60)}function Uc(t,o){t&1&&(Ms$1(0,`th`,61),Uu(1),l_(2,19),Ys$1(),Hu())}function Xc(t,o){if(t&1&&(Ms$1(0,`span`),G_$1(1,`â`),Hu(),Ms$1(2,`span`,64),G_$1(3),Hu()),t&2){let e=p_(4);eT(3),yv(e.baseCurrency)}}function zc(t,o){if(t&1&&by(0,`gf-value`,63),t&2){let e=p_().$implicit,i=p_(3);Cy(`isCurrency`,!0)(`locale`,i.data.locale)(`unit`,i.baseCurrency)(`value`,e.price)}}function Vc(t,o){if(t&1&&(Ms$1(0,`td`,62),gb(1,Xc,4,1)(2,zc,1,4,`gf-value`,63),Hu()),t&2){let e=o.$implicit;eT(),mb(e.price===null?1:2)}}function Bc(t,o){if(t&1&&(Ms$1(0,`td`,65),by(1,`gf-value`,63),Hu()),t&2){let e=p_(3);eT(),Cy(`isCurrency`,!0)(`locale`,e.data.locale)(`unit`,e.baseCurrency)(`value`,e.getSum())}}function Kc(t,o){t&1&&(Ms$1(0,`th`,57),Uu(1),l_(2,20),Ys$1(),Hu())}function Hc(t,o){if(t&1&&(Ms$1(0,`td`,58),by(1,`gf-value`,59),Hu()),t&2){let e=o.$implicit,i=p_(3);eT(),Cy(`isDate`,!0)(`locale`,i.data.locale)(`value`,e.expiresAt)}}function Jc(t,o){t&1&&by(0,`td`,60)}function jc(t,o){t&1&&by(0,`tr`,66)}function Wc(t,o){t&1&&by(0,`tr`,67)}function qc(t,o){t&1&&by(0,`tr`,68)}function Qc(t,o){if(t&1&&(Ms$1(0,`div`,39)(1,`div`,40)(2,`h2`,41),l_(3,15),Hu(),Ms$1(4,`div`,42)(5,`table`,43),Uu(6,44),yy(7,yc,3,0,`th`,45)(8,$c,2,3,`td`,46)(9,Fc,2,0,`td`,47),Ys$1(),Uu(10,48),yy(11,xc,3,0,`th`,45)(12,kc,2,1,`td`,46)(13,wc,1,0,`td`,47),Ys$1(),Uu(14,49),yy(15,Uc,3,0,`th`,50)(16,Vc,3,1,`td`,51)(17,Bc,2,4,`td`,52),Ys$1(),Uu(18,53),yy(19,Kc,3,0,`th`,45)(20,Hc,2,3,`td`,46)(21,Jc,1,0,`td`,47),Ys$1(),yy(22,jc,1,0,`tr`,54)(23,Wc,1,0,`tr`,55)(24,qc,1,0,`tr`,56),Hu()()()()),t&2){let e=p_(2);eT(5),Cy(`dataSource`,e.subscriptionsDataSource),eT(17),Cy(`matHeaderRowDef`,e.subscriptionsDisplayedColumns),eT(),Cy(`matRowDefColumns`,e.subscriptionsDisplayedColumns),eT(),Cy(`matFooterRowDef`,e.subscriptionsDisplayedColumns)}}function Yc(t,o){if(t&1&&(Ms$1(0,`div`,30)(1,`div`,31)(2,`gf-value`,38),l_(3,12),Hu()(),Ms$1(4,`div`,31)(5,`gf-value`,35),l_(6,13),Hu()()(),Ms$1(7,`div`,30)(8,`div`,31)(9,`gf-value`,33),l_(10,14),Hu()()(),gb(11,Qc,25,4,`div`,39)),t&2){let e=p_();eT(2),Cy(`isLoading`,e.isLoading)(`locale`,e.data.locale)(`precision`,0)(`value`,e.user?.engagement),eT(3),Cy(`isLoading`,e.isLoading)(`locale`,e.data.locale)(`value`,e.user?.dailyApiRequests),eT(4),Cy(`isLoading`,e.isLoading)(`value`,e.formatRelativeTime(aM(10,Gc,e.user?.lastActivity,e.data.language))||`-`),eT(2),mb(e.subscriptionsDataSource.data.length>0?11:-1)}}var Lc;var bc;var Gc;var el;var tl=A(()=>{Ao();H2();it();e$2();UM();w$1();za$1();tn();tn();St();Jt();G3();Hy();$l$1();K3();J3();pi();gh();UM();za$1();tn();St();Jt();Lc=(t,o)=>({currentUserId:t,userId:o}),bc=t=>({code:t}),Gc=(t,o)=>({date:t,language:o});el=(()=>{class t{constructor(){this.canDeleteUser=dDt,this.formatRelativeTime=Xn,this.getCountryName=SDt,this.isLoading=!0,this.subscriptionsDataSource=new Ct,this.subscriptionsDisplayedColumns=[`createdAt`,`type`,`price`,`expiresAt`],this.data=C(Ki$1),this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.dialogRef=C(bt),this.baseCurrency=this.dataService.fetchInfo().baseCurrency,nt({ellipsisVertical:Fn})}ngOnInit(){this.initialize()}deleteUser(){this.dialogRef.close({action:`delete`,userId:this.data.userId})}getSum(){return NDt(this.subscriptionsDataSource.data.filter(({price:e})=>e!==null).map(({price:e})=>new Xi(e??0))).toNumber()}getType({createdAt:e,expiresAt:i,price:n}){return n?"Paid":Ru(i,e)<=90?"Trial":"Coupon"}initialize(){this.isLoading=!0,this.adminService.fetchUserById(this.data.userId).pipe(P(this.destroyRef),ba(()=>(this.dialogRef.close(),Vt))).subscribe(e=>{this.user=e,this.subscriptionsDataSource.data=this.user.subscriptions??[],this.isLoading=!1,this.changeDetectorRef.markForCheck()})}onClose(){this.dialogRef.close()}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-user-detail-dialog`]],hostAttrs:[1,`d-flex`,`flex-column`,`h-100`],decls:41,vars:25,consts:()=>{let e;e="Refresh";let i;i="Delete";let n;n="User ID";let s;s="Role";let A;A="Registration Date";let O;O="Authentication";let h;h="Accounts";let b;b="Activities";let $;$="Close";let K;K="Membership";let x;x="Country";let G;G="Engagement per Day";let Y;Y="API Requests Today";let X;X="Last Request";let Ce;Ce="Subscription History";let se;se="Creation";let ue;ue=" Total ";let N;N="Type";let Ut;Ut="Price";let j;return j="Expiration",[[`userDetailActionsMenu`,`matMenu`],e,i,n,s,A,O,h,b,$,
2K,x,G,Y,X,Ce,se,ue,N,Ut,j,[`mat-dialog-title`,``,1,`align-items-center`,`d-flex`,`justify-content-end`],[`mat-button`,``,`type`,`button`,1,`ml-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-vertical`],[`xPosition`,`before`,1,`no-max-width`],[`mat-menu-item`,``,`type`,`button`,3,`click`],[1,`m-0`],[`mat-menu-item`,``,`type`,`button`,3,`click`,`disabled`],[`mat-dialog-content`,``,1,`flex-grow-1`],[1,`container`,`p-0`],[1,`mb-3`,`row`],[1,`col-6`,`mb-3`],[`size`,`medium`,3,`enableCopyToClipboardButton`,`isLoading`,`value`],[`size`,`medium`,3,`isLoading`,`value`],[`size`,`medium`,3,`isDate`,`isLoading`,`locale`,`value`],[`size`,`medium`,3,`isLoading`,`locale`,`value`],[`mat-dialog-actions`,``,1,`justify-content-end`],[`mat-button`,``,`type`,`button`,3,`click`],[`size`,`medium`,3,`isLoading`,`locale`,`precision`,`value`],[1,`row`],[1,`col`],[1,`h6`],[1,`overflow-x-auto`],[`mat-table`,``,1,`gf-table`,`w-100`,3,`dataSource`],[`matColumnDef`,`createdAt`],[`class`,`px-1`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1`,`mat-cell`,``,4,`matCellDef`],[`class`,`px-1`,`mat-footer-cell`,``,4,`matFooterCellDef`],[`matColumnDef`,`type`],[`matColumnDef`,`price`],[`class`,`px-1 text-right`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`px-1 text-right`,`mat-cell`,``,4,`matCellDef`],[`class`,`px-1 text-right`,`mat-footer-cell`,``,4,`matFooterCellDef`],[`matColumnDef`,`expiresAt`],[`mat-header-row`,``,4,`matHeaderRowDef`],[`mat-row`,``,4,`matRowDef`,`matRowDefColumns`],[`mat-footer-row`,``,4,`matFooterRowDef`],[`mat-header-cell`,``,1,`px-1`],[`mat-cell`,``,1,`px-1`],[3,`isDate`,`locale`,`value`],[`mat-footer-cell`,``,1,`px-1`],[`mat-header-cell`,``,1,`px-1`,`text-right`],[`mat-cell`,``,1,`px-1`,`text-right`],[1,`d-inline-block`,`justify-content-end`,3,`isCurrency`,`locale`,`unit`,`value`],[1,`ml-1`],[`mat-footer-cell`,``,1,`px-1`,`text-right`],[`mat-header-row`,``],[`mat-row`,``],[`mat-footer-row`,``]]},template:function(i,n){if(i&1&&(Ms$1(0,`div`,21)(1,`button`,22),Yy(`click`,function(A){return A.stopPropagation()}),by(2,`ion-icon`,23),Hu(),Ms$1(3,`mat-menu`,24,0)(5,`button`,25),Yy(`click`,function(){return n.initialize()}),Uu(6),l_(7,1),Ys$1(),Hu(),by(8,`hr`,26),Ms$1(9,`button`,27),Yy(`click`,function(){return n.deleteUser()}),Uu(10),l_(11,2),Ys$1(),Hu()()(),Ms$1(12,`div`,28)(13,`div`,29)(14,`div`,30)(15,`div`,31)(16,`gf-value`,32),l_(17,3),Hu()(),Ms$1(18,`div`,31)(19,`gf-value`,33),l_(20,4),Hu()()(),Ms$1(21,`div`,30)(22,`div`,31)(23,`gf-value`,34),l_(24,5),Hu()(),Ms$1(25,`div`,31)(26,`gf-value`,35),l_(27,6),Hu()()(),gb(28,vc,7,7,`div`,30),Ms$1(29,`div`,30)(30,`div`,31)(31,`gf-value`,35),l_(32,7),Hu()(),Ms$1(33,`div`,31)(34,`gf-value`,35),l_(35,8),Hu()()(),gb(36,Yc,12,13),Hu()(),Ms$1(37,`div`,36)(38,`button`,37),Yy(`click`,function(){return n.onClose()}),Uu(39),l_(40,9),Ys$1(),Hu()()),i&2){let s=D_$1(4);eT(),Cy(`matMenuTriggerFor`,s),eT(8),Cy(`disabled`,!n.canDeleteUser(aM(22,Lc,n.data.currentUserId,n.data.userId))),eT(7),Cy(`enableCopyToClipboardButton`,!0)(`isLoading`,n.isLoading)(`value`,n.user?.id),eT(3),Cy(`isLoading`,n.isLoading)(`value`,n.user?.role),eT(4),Cy(`isDate`,!0)(`isLoading`,n.isLoading)(`locale`,n.data.locale)(`value`,n.user?.createdAt),eT(3),Cy(`isLoading`,n.isLoading)(`locale`,n.data.locale)(`value`,n.user?.provider),eT(2),mb(n.data.hasPermissionForSubscription?28:-1),eT(3),Cy(`isLoading`,n.isLoading)(`locale`,n.data.locale)(`value`,n.user?.accountCount),eT(3),Cy(`isLoading`,n.isLoading)(`locale`,n.data.locale)(`value`,n.user?.activityCount),eT(2),mb(n.data.hasPermissionForSubscription?36:-1)}},dependencies:[rt$1,Y3,os$1,ns$1,Rs$1,Ds$1,ks$1,Os$1,en$1,I,G,$t$1,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,$i,Yi,qi,Ki$2,Gi$1,Ji,to,eo],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .mat-mdc-dialog-content[_ngcontent-%COMP%]{max-height:unset}[_nghost-%COMP%] .mat-mdc-dialog-title[_ngcontent-%COMP%]{padding-right:.5rem!important}`]})}}return t})()});function i1(t,o){t&1&&(Ms$1(0,`th`,35),Uu(1),l_(2,1),Ys$1(),Hu())}function n1(t,o){if(t&1&&(Ms$1(0,`gf-premium-indicator`,41),fM(1,`date`),u_(2,13),Hu()),t&2){let e=p_().$implicit,i=p_();Zy(i.formatRelativeTime(aM(6,Co,e.subscription.expiresAt,i.user?.settings?.language)))(gM(1,3,e.subscription.expiresAt,i.defaultDateFormat)),d_(2),Cy(`enableLink`,!1)}}function o1(t,o){if(t&1&&(Ms$1(0,`td`,36)(1,`div`,37)(2,`span`,38),G_$1(3),Hu(),Ms$1(4,`span`,39),G_$1(5),fM(6,`slice`),Hu(),gb(7,n1,3,9,`gf-premium-indicator`,40),Hu()()),t&2){let e=o.$implicit;eT(2),cv(`text-line-through`,e.role===`INACTIVE`),eT(),yv(e.id),eT(),cv(`text-line-through`,e.role===`INACTIVE`),eT(),yv(`${mM(6,7,e.id,0,5)}...`),eT(2),mb(e.subscription?.expiresAt?7:-1)}}function a1(t,o){t&1&&(Ms$1(0,`th`,35),Uu(1),l_(2,2),Ys$1(),Hu())}function r1(t,o){if(t&1&&(Ms$1(0,`td`,36)(1,`span`,42),G_$1(2),Hu()()),t&2){let e=o.$implicit,i=p_(2);eT(),Cy(`title`,i.getCountryName(sM(2,Zc,e.country))),eT(),yv(i.getEmojiFlag(e.country))}}function _1(t,o){t&1&&(Uu(0,22),yy(1,a1,3,0,`th`,20)(2,r1,3,4,`td`,21),Ys$1())}function l1(t,o){t&1&&(Ms$1(0,`th`,35),Uu(1),l_(2,3),Ys$1(),Hu())}function s1(t,o){if(t&1&&(Ms$1(0,`td`,43),G_$1(1),Hu()),t&2){let e=o.$implicit,i=p_();eT(),qu(` `,i.formatRelativeTime(aM(1,Co,e.createdAt,i.user?.settings?.language)),` `)}}function m1(t,o){t&1&&(Ms$1(0,`th`,44),Uu(1),l_(2,4),Ys$1(),Hu())}function d1(t,o){if(t&1&&(Ms$1(0,`td`,45),by(1,`gf-value`,46),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.user?.settings?.locale)(`value`,e.accountCount)}
2}function c1(t,o){t&1&&(Ms$1(0,`th`,44),Uu(1),l_(2,5),Ys$1(),Hu())}function f1(t,o){if(t&1&&(Ms$1(0,`td`,45),by(1,`gf-value`,46),Hu()),t&2){let e=o.$implicit,i=p_();eT(),Cy(`locale`,i.user?.settings?.locale)(`value`,e.activityCount)}}function S1(t,o){t&1&&(Ms$1(0,`th`,44),Uu(1),l_(2,6),Ys$1(),Hu())}function A1(t,o){if(t&1&&(Ms$1(0,`td`,45),by(1,`gf-value`,49),Hu()),t&2){let e=o.$implicit,i=p_(2);eT(),Cy(`locale`,i.user?.settings?.locale)(`precision`,0)(`value`,e.engagement)}}function C1(t,o){t&1&&(Ms$1(0,`th`,44),Uu(1),l_(2,7),Ys$1(),Hu())}function u1(t,o){if(t&1&&(Ms$1(0,`td`,45),by(1,`gf-value`,49),Hu()),t&2){let e=o.$implicit,i=p_(2);eT(),Cy(`locale`,i.user?.settings?.locale)(`precision`,0)(`value`,e.dailyApiRequests)}}function E1(t,o){t&1&&(Uu(0,47),yy(1,S1,3,0,`th`,26)(2,A1,2,3,`td`,27),Ys$1(),Uu(3,48),yy(4,C1,3,0,`th`,26)(5,u1,2,3,`td`,27),Ys$1())}function T1(t,o){t&1&&(Ms$1(0,`th`,35),Uu(1),l_(2,8),Ys$1(),Hu())}function p1(t,o){if(t&1&&(Ms$1(0,`td`,43),G_$1(1),Hu()),t&2){let e=o.$implicit,i=p_(2);eT(),qu(` `,i.formatRelativeTime(aM(1,Co,e.lastActivity,i.user?.settings?.language)),` `)}}function P1(t,o){t&1&&(Uu(0,29),yy(1,T1,3,0,`th`,20)(2,p1,2,4,`td`,24),Ys$1())}function M1(t,o){t&1&&by(0,`th`,44)}function N1(t,o){if(t&1){let e=_b();Ms$1(0,`button`,57),Yy(`click`,function(){Hp(e);let n=p_().$implicit;return Bp(p_().onImpersonateUser(n.id))}),Ms$1(1,`span`,54),by(2,`ion-icon`,62),Ms$1(3,`span`),l_(4,12),Hu()()()}}function g1(t,o){if(t&1){let e=_b();Ms$1(0,`td`,45)(1,`button`,50),Yy(`click`,function(n){return n.stopPropagation()}),by(2,`ion-icon`,51),Hu(),Ms$1(3,`mat-menu`,52,0)(5,`a`,53)(6,`span`,54),by(7,`ion-icon`,55),Ms$1(8,`span`),Uu(9),l_(10,9),Ys$1(),G_$1(11,`...`),Hu()()(),gb(12,N1,5,0,`button`,56),Ms$1(13,`button`,57),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onGenerateAccessToken(n.id))}),Ms$1(14,`span`,54),by(15,`ion-icon`,58),Ms$1(16,`span`),l_(17,10),Hu()()(),by(18,`hr`,59),Ms$1(19,`button`,60),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onDeleteUser(n.id))}),Ms$1(20,`span`,54),by(21,`ion-icon`,61),Ms$1(22,`span`),l_(23,11),Hu()()()()()}if(t&2){let e=o.$implicit,i=D_$1(4),n=p_();eT(),Cy(`matMenuTriggerFor`,i),eT(4),Cy(`routerLink`,n.routerLinkAdminControlUsers.concat(e.id)),eT(7),mb(n.hasPermissionToImpersonateAllUsers?12:-1),eT(7),Cy(`disabled`,!n.canDeleteUser(aM(4,e1,n.user?.id,e.id)))}}function O1(t,o){t&1&&by(0,`tr`,63)}function I1(t,o){if(t&1){let e=_b();Ms$1(0,`tr`,64),Yy(`click`,function(){let n=Hp(e).$implicit;return Bp(p_().onOpenUserDetailDialog(n.id))}),Hu()}}function D1(t,o){t&1&&by(0,`ngx-skeleton-loader`,34),t&2&&Cy(`theme`,iM(1,t1))}var Co;var Zc;var e1;var t1;var il;var nl=A(()=>{tl();h();Mn$1();Ao();Ry();a();H2();l();s();$t();re();it();e$2();mr();UM();w$1();za$1();tn();St();vt();Jt();za();G3();K3();J3();Oy();ft();U();pi();gh();UM();za$1();St();vt();Jt();U();za();mr();Co=(t,o)=>({date:t,language:o}),Zc=t=>({code:t}),e1=(t,o)=>({currentUserId:t,userId:o}),t1=()=>({height:`1.5rem`,width:`100%`});il=(()=>{class t{constructor(){this.dataSource=new Ct,this.displayedColumns=[],this.canDeleteUser=dDt,this.formatRelativeTime=Xn,this.getCountryName=SDt,this.getEmojiFlag=EDt,this.isLoading=!1,this.pageSize=Lut,this.routerLinkAdminControlUsers=c.adminControl.subRoutes.users.routerLink,this.totalItems=0,this.deviceType=WE(()=>this.deviceDetectorService.deviceInfo().deviceType),this.paginator=DB.required(ft$1),this.adminService=C(Rt$1),this.changeDetectorRef=C(bB),this.dataService=C(At$2),this.destroyRef=C(Me),this.deviceDetectorService=C(ut),this.dialog=C(Oe),this.impersonationStorageService=C(p),this.notificationService=C(xt$1),this.route=C(ee),this.router=C(q),this.userService=C(Oi),this.info=this.dataService.fetchInfo(),this.hasPermissionForSubscription=n(this.info?.globalPermissions,a$1.enableSubscription),this.hasPermissionForSubscription?this.displayedColumns=[`user`,`country`,`registration`,`accounts`,`activities`,`engagementPerDay`,`dailyApiRequests`,`lastRequest`,`actions`]:this.displayedColumns=[`user`,`registration`,`accounts`,`activities`,`actions`],this.userService.stateChanged.pipe(P(this.destroyRef),Zf(e=>{e?.user&&(this.user=e.user,this.defaultDateFormat=L2(this.user.settings.locale),this.hasPermissionToImpersonateAllUsers=n(this.user.permissions,a$1.impersonateAllUsers),this.changeDetectorRef.markForCheck())}),Gf(()=>this.route.paramMap),Pe(e=>e.get(`userId`)),jI()).subscribe(e=>{e&&this.openUserDetailDialog(e)}
2),nt({contractOutline:Dn,ellipsisHorizontal:$n,keyOutline:Jn,personOutline:pi$1,trashOutline:Di})}ngOnInit(){this.fetchUsers(),RI(xt(`30 seconds`)).pipe(P(this.destroyRef)).subscribe(()=>{this.fetchUsers({pageIndex:this.paginator().pageIndex,showLoading:!1}),this.changeDetectorRef.markForCheck()})}onChangePage(e){this.fetchUsers({pageIndex:e.pageIndex})}onDeleteUser(e){this.notificationService.confirm({confirmFn:()=>{this.dataService.deleteUser(e).pipe(P(this.destroyRef)).subscribe(()=>{this.router.navigate(this.routerLinkAdminControlUsers),this.fetchUsers({pageIndex:this.paginator().pageIndex,showLoading:!1})})},confirmType:m.Warn,discardFn:()=>{this.router.navigate(this.routerLinkAdminControlUsers)},title:"Do you really want to delete this user?"})}onGenerateAccessToken(e){this.notificationService.confirm({confirmFn:()=>{this.dataService.updateUserAccessToken(e).pipe(P(this.destroyRef)).subscribe(({accessToken:i})=>{this.notificationService.alert({discardFn:()=>{e===this.user.id&&(this.userService.signOut(),document.location.href=`/${document.documentElement.lang}`)},message:i,title:"Security token"})})},confirmType:m.Warn,title:"Do you really want to generate a new security token for this user?"})}onImpersonateUser(e){e?this.impersonationStorageService.setId(e):this.impersonationStorageService.removeId(),window.location.reload()}onOpenUserDetailDialog(e){this.router.navigate(this.routerLinkAdminControlUsers.concat(e))}fetchUsers({pageIndex:e=0,showLoading:i=!0}={}){i&&(this.isLoading=!0),e===0&&this.paginator()&&(this.paginator().pageIndex=0),this.adminService.fetchUsers({skip:e*this.pageSize,take:this.pageSize}).pipe(P(this.destroyRef)).subscribe(({count:n,users:s})=>{this.dataSource.data=s,this.totalItems=n,this.isLoading=!1,this.changeDetectorRef.markForCheck()})}openUserDetailDialog(e){this.dialog.open(el,{autoFocus:!1,data:{currentUserId:this.user?.id,deviceType:this.deviceType(),hasPermissionForSubscription:this.hasPermissionForSubscription,language:this.user?.settings?.language,locale:this.user?.settings?.locale??Gi,userId:e},height:this.deviceType()===`mobile`?`98vh`:`60vh`,width:this.deviceType()===`mobile`?`100vw`:`50rem`}).afterClosed().pipe(P(this.destroyRef)).subscribe(n=>{n?.action===`delete`&&n?.userId?this.onDeleteUser(n.userId):this.router.navigate(this.routerLinkAdminControlUsers)})}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-users`]],viewQuery:function(i,n){i&1&&nv(n.paginator,ft$1,5),i&2&&E_()},decls:27,vars:13,consts:()=>{let e;e="User";let i;i=`Expires ${`�0�`} (${`�1�`})`;let n;n="Country";let s;s="Registration";let A;A="Accounts";let O;O="Activities";let h;h="Engagement per Day";let b;b="API Requests Today";let $;$="Last Request";let K;K="View Details";let x;x="Generate Security Token";let G;G="Delete";let Y;return Y="Impersonate User",[[`userMenu`,`matMenu`],e,n,s,A,O,h,b,$,K,x,G,Y,[`title`,i],[1,`container`],[1,`row`],[1,`col`],[1,`overflow-x-auto`],[`mat-table`,``,1,`gf-table`,3,`dataSource`],[`matColumnDef`,`user`],[`class`,`mat-mdc-header-cell px-1 py-2`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`mat-mdc-cell px-1 py-2`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`country`],[`matColumnDef`,`registration`],[`class`,`mat-mdc-cell px-1 py-2 text-nowrap`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`accounts`],[`class`,`mat-mdc-header-cell px-1 py-2 text-right`,`mat-header-cell`,``,4,`matHeaderCellDef`],[`class`,`mat-mdc-cell px-1 py-2 text-right`,`mat-cell`,``,4,`matCellDef`],[`matColumnDef`,`activities`],[`matColumnDef`,`lastRequest`],[`matColumnDef`,`actions`,`stickyEnd`,``],[`class`,`mat-mdc-header-row`,`mat-header-row`,``,4,`matHeaderRowDef`],[`class`,`cursor-pointer mat-mdc-row`,`mat-row`,``,3,`click`,4,`matRowDef`,`matRowDefColumns`],[3,`page`,`hidePageSize`,`length`,`pageSize`,`showFirstLastButtons`],[`animation`,`pulse`,1,`px-4`,`py-3`,3,`theme`],[`mat-header-cell`,``,1,`mat-mdc-header-cell`,`px-1`,`py-2`],[`mat-cell`,``,1,`mat-mdc-cell`,`px-1`,`py-2`],[1,`align-items-center`,`d-flex`,`text-nowrap`],[1,`d-none`,`d-sm-inline-block`,`text-monospace`],[1,`d-inline-block`,`d-sm-none`,`text-monospace`],[1,`ml-1`,3,`title`,`enableLink`],[1,`ml-1`,3,`enableLink`,6,`title`],[1,`h5`,3,`title`],[`mat-cell`,``,1,`mat-mdc-cell`,`px-1`,`py-2`,`text-nowrap`],[`mat-header-cell`,``,1,`mat-mdc-header-cell`,`px-1`,`py-2`,`text-right`],[`mat-cell`,``,1,`mat-mdc-cell`,`px-1`,`py-2`,`text-right`],[1,`d-inline-block`,`justify-content-end`,3,`locale`,`value`],[`matColumnDef`,`engagementPerDay`],[`matColumnDef`,`dailyApiRequests`],[1,`d-inline-block`,`justify-content-end`,3,`locale`,`precision`,`value`],[`mat-button`,``,1,`mx-1`,`no-min-width`,`px-2`,3,`click`,`matMenuTriggerFor`],[`name`,`ellipsis-horizontal`],[`xPosition`,`before`],[`mat-menu-item`,``,3,`routerLink`],[1,`align-items-center`,`d-flex`],[`name`,`person-outline`,1,`mr-2`],[`mat-menu-item`,``],[`mat-menu-item`,``,3,`click`],[`name`,`key-outline`,1,`mr-2`],[1,`m-0`],[`mat-menu-item`,``,3,`click`,`disabled`],[`name`,`trash-outline`,1,`mr-2`],[`name`,`contract-outline`,1,`mr-2`],[`mat-header-row`,``,1,`mat-mdc-header-row`],[`mat-row`,``,1,`cursor-pointer`,`mat-mdc-row`,3,`click`]]},template:function(i,n){i&1&&(Ms$1(0,`div`,14)(1,`div`,15)(2,`div`,16)(3,`div`,17)(4,`table`,18),Uu(5,19),yy(6,i1,3,0,`th`,20)(7,o1,8,11,`td`,21),Ys$1(),gb(8,_1,3,0,`ng-container`,22),Uu(9,23),yy(10,l1,3,0,`th`,20)(11,s1,2,4,`td`,24),Ys$1(),Uu(12,25),yy(13,m1,3,0,`th`,26)(14,d1,2,2,`td`,27),Ys$1(),Uu(15,28),yy(16,c1,3,0,`th`,26)(17,f1,2,2,`td`,27),Ys$1(),gb(18,E1,6,0),gb(19,P1,3,0,`ng-container`,29),Uu(20,30),yy(21,M1,1,0,`th`,26)(22,g1,24,7,`td`,27),Ys$1(),yy(23,O1,1,0,`tr`,31)(24,I1,1,0,`tr`,32),Hu()(),Ms$1(25,`mat-paginator`,33),Yy(`page`,function(A){return n.onChangePage(A)}),Hu(),gb(26,D1,1,2,`ngx-skeleton-loader`,34),Hu()()()),i&2&&(eT(4),Cy(`dataSource`,n.dataSource),eT(4),mb(n.hasPermissionForSubscription?8:-1),eT(10),mb(n.hasPermissionForSubscription?18:-1),eT(),mb(n.hasPermissionForSubscription?19:-1),eT(4),Cy(`matHeaderRowDef`,n.displayedColumns),eT(),Cy(`matRowDefColumns`,n.displayedColumns),eT(),cv(`d-none`,n.isLoading&&n.totalItems===0||n.totalItems<=n.pageSize),Cy(`hidePageSize`,!0)(`length`,n.totalItems)(`pageSize`,n.pageSize)(`showFirstLastButtons`,!0),eT(),mb(n.isLoading?26:-1))},dependencies:[lr,_i,rt$1,Y3,os$1,ns$1,en$1,I,G,$t$1,Et$1,ft$1,io,Ui,Qi,Xi$1,Wi,Vi$2,Zi$1,qi,Ki$2,Ji,to,K,B,La,ur,dr,rr],styles:[`[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .gf-table[_ngcontent-%COMP%]{min-width:100%}[_nghost-%COMP%] .gf-table[_ngcontent-%COMP%] .mat-mdc-row[_ngcontent-%COMP%], [_nghost-%COMP%] .gf-table[_ngcontent-%COMP%] .mat-mdc-header-row[_ngcontent-%COMP%]{width:100%}`]})}}return t})()});var ol;var al=A(()=>{c$1();Mn$1();Ry();l();s();dt();UM();w$1();K3();J3();UM();ol=(()=>{class t{constructor(){this.tabs=[],this.changeDetectorRef=C(bB),this.tokenStorageService=C(w$2),this.userService=C(Oi),this.userService.stateChanged.pipe(P()).subscribe(e=>{this.user=e?.user,this.initializeTabs(),this.changeDetectorRef.markForCheck()}),nt({flashOutline:Un,peopleOutline:hi,readerOutline:fi,serverOutline:Ai,settingsOutline:Si})}initializeTabs(){let e=n(this.user?.permissions,a$1.accessAdminControlBullBoard);this.tabs=[{iconName:`reader-outline`,label:"Overview",routerLink:c.adminControl.routerLink},{iconName:`settings-outline`,label:c.adminControl.subRoutes.settings.title,routerLink:c.adminControl.subRoutes.settings.routerLink},{iconName:`server-outline`,label:c.adminControl.subRoutes.marketData.title,routerLink:c.adminControl.subRoutes.marketData.routerLink},e?{iconName:`flash-outline`,label:"Job Queue",onClick:()=>{this.onOpenBullBoard()}}:{iconName:`flash-outline`,label:c.adminControl.subRoutes.jobs.title,routerLink:c.adminControl.subRoutes.jobs.routerLink},{iconName:`people-outline`,label:c.adminControl.subRoutes.users.title,routerLink:c.adminControl.subRoutes.users.routerLink}]}onOpenBullBoard(){let e=this.tokenStorageService.getToken();document.cookie=[`${Eut}=${encodeURIComponent(e??``)}`,`path=/`,`SameSite=Strict`].join(`; `),window.open(Tut,`_blank`)}static{this.ɵfac=function(i){return new(i||t)}}static{this.ɵcmp=UC({type:t,selectors:[[`gf-admin-page`]],hostAttrs:[1,`page`],decls:1,vars:1,consts:[[3,`tabs`]],template:function(i,n){i&1&&by(0,`gf-page-tabs`,0),i&2&&Cy(`tabs`,n.tabs)},dependencies:[St$1],styles:[`[_nghost-%COMP%]{color:rgb(var(--%NS%dark-primary-text))}.theme-dark[_nghost-%COMP%], .theme-dark [_nghost-%COMP%]{color:rgb(var(--%NS%light-primary-text))}`]})}}return t})()});var rl;var _l;var h1;var TT;A(()=>{I_();G_();w_();V_();Z_();nl();M();s();al();({create:rl,update:_l}=c.adminControl.subRoutes.marketData.subRoutes),h1=t=>t[0]?.path!==c.adminControl.subRoutes.users.path||t.length>2?null:t.length===2?{consumed:t,posParams:{userId:t[1]}}:{consumed:t},TT=[{canActivate:[Z$1],children:[{path:``,component:z_,title:c.adminControl.title},{path:c.adminControl.subRoutes.jobs.path,component:O_,title:c.adminControl.subRoutes.jobs.title},{children:[{component:co,data:{mode:`create`},path:rl.path,title:rl.title},{children:[{component:co,data:{mode:`update`},path:_l.path,title:_l.title}],path:`:dataSource/:symbol`}],component:b_,path:c.adminControl.subRoutes.marketData.path,title:c.adminControl.subRoutes.marketData.title},{path:c.adminControl.subRoutes.settings.path,component:Y_,title:c.adminControl.subRoutes.settings.title},{component:il,matcher:h1,title:c.adminControl.subRoutes.users.title}],component:ol,path:``}]})();export{TT as routes};
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.