PageSourceSearch

https://app.follacapital.com/6124.bce14bab0ca65113.js

js follacapital.com collected 2026-10-04 21:23:43 UTC 21,750 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[6124],{6507:(et,R,s)=>{s.d(R,{B:()=>v});var D=s(10467),E=s(26450),A=s(94092),M=s(17782),I=s(44818),P=s(58811),e=s(68480),g=s(97359),y=s(62831),t=s(54438),C=s(5430),U=s(99213),u=s(90416),x=s(60177),S=s(99053),w=s(59856);function G(o,r){1&o&&(t.j41(0,"mat-header-cell",19),t.EFF(1," Asset "),t.k0s())}function L(o,r){if(1&o&&t.nrm(0,"img",23),2&o){const n=t.XpG().$implicit;t.Y8G("src",n.toImage,t.B4B)}}function B(o,r){if(1&o){const n=t.RV6();t.j41(0,"mat-cell",19)(1,"span",20),t.bIt("click",function(){const f=t.eBV(n).$implicit,c=t.XpG(2);return t.Njj(c.viewAsset(f.asset))}),t.DNE(2,L,1,1,"img",21),t.j41(3,"a",22),t.EFF(4),t.k0s()()()}if(2&o){const n=r.$implicit;t.R7$(2),t.Y8G("ngIf",n.toImage),t.R7$(2),t.JRh(n.to)}}function j(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Investment (Cost Basis) "),t.k0s())}function V(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"number"),t.nI1(3,"dropZero"),t.k0s()),2&o){const n=r.$implicit,m=t.XpG(2);t.R7$(),t.Lme(" ",t.bMT(3,5,t.i5U(2,2,n.amount,"1.2-2"))," ",m.selectedCurrency||n.currencySymbol,"")}}function $(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Current Value "),t.k0s())}function k(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"number"),t.nI1(3,"dropZero"),t.k0s()),2&o){const n=r.$implicit,m=t.XpG(2);t.R7$(),t.Lme(" ",t.bMT(3,5,t.i5U(2,2,n.currValue,"1.2-2"))," ",m.selectedCurrency||n.currencySymbol,"")}}function X(o,r){if(1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1),t.k0s()),2&o){const n=t.XpG(2);t.R7$(),t.SpI(" # ",n.sharesLabel," ")}}function K(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"number"),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.SpI(" ",t.i5U(2,1,n.shares,"1.0-10"),"")}}function W(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Distributions "),t.k0s())}function N(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"number"),t.nI1(3,"dropZero"),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.Lme(" ",t.bMT(3,5,t.i5U(2,2,n.distribution,"1.2-2"))," ",n.currencySymbol,"")}}function Y(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Redemptions "),t.k0s())}function z(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"number"),t.nI1(3,"dropZero"),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.Lme(" ",t.bMT(3,5,t.i5U(2,2,n.redemption,"1.2-2"))," ",n.currencySymbol,"")}}function H(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Return "),t.k0s())}function Z(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.SpI(" ",n.weightedReturn,"%")}}function Q(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Last Transaction Date "),t.k0s())}function J(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.EFF(1),t.nI1(2,"date"),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.SpI(" ",t.i5U(2,1,n.date,"M/d/yy, h:mm a")," ")}}function q(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Cancel "),t.k0s())}function i(o,r){if(1&o&&(t.j41(0,"a",25),t.EFF(1,"Cancel"),t.k0s()),2&o){const n=t.XpG().$implicit;t.Y8G("navigate",n.confirmationRoute)}}function h(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.DNE(1,i,2,1,"a",24),t.k0s()),2&o){const n=r.$implicit;t.R7$(),t.Y8G("ngIf",n.canCancel)}}function a(o,r){1&o&&(t.j41(0,"mat-header-cell"),t.EFF(1," Auto Invest "),t.k0s())}function l(o,r){if(1&o){const n=t.RV6();t.j41(0,"a",27),t.bIt("click",function(){t.eBV(n);const f=t.XpG().$implicit,c=t.XpG(2);return t.Njj(c.editAutoInvest(f))}),t.EFF(1),t.j41(2,"mat-icon",28),t.EFF(3,"settings"),t.k0s()()}if(2&o){const n=t.XpG().$implicit;t.AVh("inactive",!n.autoTransaction),t.R7$(),t.SpI(" ",n.autoTransaction?"Active":"Enable"," ")}}function _(o,r){if(1&o&&(t.j41(0,"mat-cell"),t.DNE(1,l,4,3,"a",26),t.k0s()),2&o){const n=r.$implicit,m=t.XpG(2);t.R7$(),t.Y8G("ngIf",n.autoTransaction||m.canAutoInvest(n.asset))}}function d(o,r){1&o&&t.nrm(0,"mat-header-row")}function p(o,r){1&o&&t.nrm(0,"mat-row")}function b(o,r){if(1&o&&(t.j41(0,"div",1)(1,"mat-table",2),t.qex(2,3),t.DNE(3,G,2,0,"mat-header-cell",4)(4,B,5,2,"mat-cell",5),t.bVm(),t.qex(5,6),t.DNE(6,j,2,0,"mat-header-cell",7)(7,V,4,7,"mat-cell",8),t.bVm(),t.qex(8,9),t.DNE(9,$,2,0,"mat-header-cell",7)(10,k,4,7,"mat-cell",8),t.bVm(),t.qex(11,10),t.DNE(12,X,2,1,"mat-header-cell",7)(13,K,3,4,"mat-cell",8),t.bVm(),t.qex(14,11),t.DNE(15,W,2,0,"mat-header-cell",7)(16,N,4,7,"mat-cell",8),t.bVm(),t.qex(17,12),t.DNE(18,Y,2,0,"mat-header-cell",7)(19,z,4,7,"mat-cell",8),t.bVm(),t.qex(20,13),t.DNE(21,H,2,0,"mat-header-cell",7)(22,Z,2,1,"mat-cell",8),t.bVm(),t.qex(23,14),t.DNE(24,Q,2,0,"mat-header-cell",7)(25,J,3,4,"mat-cell",8),t.bVm(),t.qex(26,15),t.DNE(27,q,2,0,"mat-header-cell",7)(28,h,2,1,"mat-cell",8),t.bVm(),t.qex(29,16),t.DNE(30,a,2,0,"mat-header-cell",7)(31,_,2,1,"mat-cell",8),t.bVm(),t.DNE(32,d,1,0,"mat-header-row",17)(33,p,1,0,"mat-row",18),t.k0s()()),2&o){const n=t.XpG();t.R7$(),t.Y8G("dataSource",n.dataSource),t.R7$(31),t.Y8G("matHeaderRowDef",n.displayedColumns),t.R7$(),t.Y8G("matRowDefColumns",n.displayedColumns)}}let v=(()=>{class o extends A.$G{constructor(n,m,f,c,O,T,F){super(n),this.autoTransactionService=m,this.assetModelService=f,this.platformService=c,this.transactionService=O,this.accountModelService=T,this.portfolioModelService=F,this.displayedColumns=["asset","cost","value","date"]}ngOnInit(){this.baseCurrency=this.platformService.getBaseCurrency(),this.account||(this.account=this.accountModelService.selectedAccount),this.portfolio?this.initTable():this.onAccountChange()}onAccountChange(){this.portfolioModelService.getPortfolio(this.account.id).then(n=>{this.portfolio=n,this.initTable()})}initTable(){var n=this;return(0,D.A)(function*(){n.tableData=[];const m=g.y.getStatementFromPortfolio(n.portfolio);m.items=m.items.filter(f=>0!==Math.round(f.currentValue));for(let c,f=0;c=m.items[f];f++){const O=c.transaction,T=n.assetModelService.lookup(c.symbol);let F=!1;if(n.sharesLabel=n.assetModelService.getSharesLabel(T,!0),!n.hasAutoInvest&&!n.readonly&&T.investmentSettings.steps.some(tt=>tt.type===M.Gav.AutoInvest)&&(n.hasAutoInvest=!0,n.displayedColumns.push("autoInvest")),n.hasAutoInvest&&!n.contractAutoTransMap){const tt=yield n.autoTransactionService.getTransactions(n.account.id);
1n.contractAutoTransMap=y.y.arrayToHashTable(tt,"tid")}c.distribution&&!n.hasDistributions&&(n.hasDistributions=!0,n.displayedColumns.splice(3,0,"distribution")),c.redemption&&!n.hasRedemptions&&(n.hasRedemptions=!0,n.displayedColumns.splice(3,0,"redemption")),c.rawPrice&&!n.hasShares&&(n.hasShares=!0,n.displayedColumns.splice(3,0,"return"),n.displayedColumns.splice(3,0,"shares")),n.transactionService.canCancel(O,O.data,T)&&(F=!0,!n.readonly&&!n.hasCancels&&(n.hasCancels=!0,n.displayedColumns.push("cancel")));const nt=n.transactionService.getConfirmationRouteInfo(P.qh.AssetPageTab.path,c.symbol,O,!0),ot={to:T.name,toImage:n.assetModelService.getImageUrl(T),asset:n.assetModelService.lookup(c.symbol),currencySymbol:c.currencySymbol,amount:n.getCurrencyValue(c.amount),currValue:n.getCurrencyValue(c.currentValue),shares:c.shares,distribution:n.getCurrencyValue(c.distribution),redemption:n.getCurrencyValue(c.redemption),statementBalance:n.getCurrencyValue(c.statementBalance),return:c.return,weightedReturn:c.weightedReturn,date:c.date,canCancel:F,confirmationRoute:[nt,nt.params],transaction:O};n.contractAutoTransMap&&n.contractAutoTransMap[O.tid]&&(ot.autoTransaction=n.contractAutoTransMap[O.tid]),n.tableData.push(ot)}n.dataSource=new E.I6(n.tableData)})()}editAutoInvest(n){this.appService.notify(new I.U2({component:e.u,size:"large",model:{autoTransaction:n.autoTransaction,relatedTransaction:n.transaction,asset:n.asset,modal:!0,managePaymentMethod:!0},eventHandlers:{done:()=>{this.appService.notify(new I.YB(null)),this.contractAutoTransMap=null,this.initTable()}}}))}getCurrencyValue(n){return this.selectedCurrency!==this.baseCurrency&&(n/=this.assetModelService.lookup(this.selectedCurrency).price),y.y.round(n,2)}viewAsset(n){this.appService.navigate(P.qh.AssetPageTab,{symbol:n.alias||n.symbol.toLowerCase(),tab:"details"})}canAutoInvest(n){return n.investmentSettings.steps.some(m=>m.type===M.Gav.AutoInvest)}static{this.\u0275fac=function(m){return new(m||o)(t.rXU(C.d3),t.rXU(C.Ze),t.rXU(C.RH),t.rXU(C.fP),t.rXU(C.kK),t.rXU(C.UF),t.rXU(C.lv))}}static{this.\u0275cmp=t.VBU({type:o,selectors:[["wb-portfolio-investment-table"]],inputs:{account:"account",portfolio:"portfolio",selectedCurrency:"selectedCurrency",readonly:"readonly"},features:[t.Vt3],decls:1,vars:1,consts:[["class","responsive-table",4,"ngIf"],[1,"responsive-table"],[3,"dataSource"],["matColumnDef","asset"],["class","asset-cell",4,"matHeaderCellDef"],["class","asset-cell",4,"matCellDef"],["matColumnDef","cost"],[4,"matHeaderCellDef"],[4,"matCellDef"],["matColumnDef","value"],["matColumnDef","shares"],["matColumnDef","distribution"],["matColumnDef","redemption"],["matColumnDef","return"],["matColumnDef","date"],["matColumnDef","cancel"],["matColumnDef","autoInvest"],[4,"matHeaderRowDef"],[4,"matRowDef","matRowDefColumns"],[1,"asset-cell"],[3,"click"],[3,"src",4,"ngIf"],["href","javascript:void(0)"],[3,"src"],[3,"navigate",4,"ngIf"],[3,"navigate"],["href","javascript:void(0)",3,"inactive","click",4,"ngIf"],["href","javascript:void(0)",3,"click"],[1,"settings"]],template:function(m,f){1&m&&t.DNE(0,b,34,3,"div",0),2&m&&t.Y8G("ngIf",f.dataSource)},dependencies:[U.An,u.MS,u.Aw,u.mS,u.j4,u.lM,u.p_,u.bO,u.cK,u.BE,u.OP,x.bT,S.cF,S.TX,S.xx,x.QX,x.vh,w.wC],styles:["[_ngcontent-%COMP%]:root{--brand-primary: #100001;--brand-secondary: #100006;--brand-alert: #100011;--brand-success: #100016;--brand-warn: #100021;--brand-shout: #100026;--border-default: #edeef0}html[_ngcontent-%COMP%]{font-size:62.5%}body[_ngcontent-%COMP%]{font-size:1.4rem}h1[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-weight:inherit}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{line-height:1.1}h1[_ngcontent-%COMP%]{font-size:2.9rem;font-weight:500}h2[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:500}h3[_ngcontent-%COMP%]{font-size:2.1rem;font-weight:500}h4[_ngcontent-%COMP%]{font-size:1.7rem;font-weight:400}h5[_ngcontent-%COMP%]{font-size:1.3rem;font-weight:400}h6[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:500;text-transform:uppercase}.responsive-table[_ngcontent-%COMP%]   .asset-cell[_ngcontent-%COMP%]{min-width:300px}.responsive-table[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{height:22px;margin-right:10px;position:relative;top:5px}@media (max-width: 800px){.responsive-table[_ngcontent-%COMP%]{overflow-x:auto!important}.mat-table[_ngcontent-%COMP%]{min-width:800px}.mat-header-cell[_ngcontent-%COMP%], .mat-cell[_ngcontent-%COMP%]{min-width:120px}}mat-icon.warning[_ngcontent-%COMP%]{color:#100011;margin-left:5px}mat-icon.history[_ngcontent-%COMP%]{opacity:.7;filter:alpha(opacity=70);margin-left:5px}a.inactive[_ngcontent-%COMP%]{color:#ccc}mat-icon.settings[_ngcontent-%COMP%]{font-size:1.7rem;position:relative;top:3px;margin-left:2px}"]})}}return o}
1)()},26329:(et,R,s)=>{s.d(R,{_:()=>q});var D=s(10467),E=s(94092),A=s(58811),M=s(17782),I=s(81361),P=s(97359),e=s(54438),g=s(5430),y=s(20962),t=s(84579),C=s(60177),U=s(96582),u=s(96702),x=s(91018),S=s(3294),w=s(18216),G=s(6507);function L(i,h){if(1&i&&(e.qex(0),e.nrm(1,"wb-report-dashboard",7),e.bVm()),2&i){const a=e.XpG(2);e.R7$(),e.Y8G("dashboard",a.dashboard)("accountIds",a.dashboardAccountIds)("preview",!0)}}function B(i,h){if(1&i&&(e.j41(0,"span"),e.EFF(1),e.nI1(2,"date"),e.k0s()),2&i){const a=e.XpG(6);e.R7$(),e.SpI(" (estimated as of ",e.i5U(2,1,a.statement.date,"mediumDate"),") ")}}function j(i,h){if(1&i&&(e.j41(0,"h1"),e.EFF(1),e.nI1(2,"currency"),e.DNE(3,B,3,4,"span",13),e.k0s()),2&i){const a=e.XpG(5);e.R7$(),e.SpI(" ",e.bMT(2,2,a.statement.currentValue)," "),e.R7$(2),e.Y8G("ngIf",a.statement.date)}}function V(i,h){1&i&&(e.j41(0,"h1"),e.EFF(1,"N/A"),e.k0s())}function $(i,h){if(1&i&&(e.j41(0,"h1"),e.EFF(1),e.k0s()),2&i){const a=e.XpG(5);e.R7$(),e.SpI("",a.statement.weightedReturn,"%")}}function k(i,h){1&i&&(e.j41(0,"h1"),e.EFF(1,"N/A"),e.k0s())}function X(i,h){if(1&i&&e.nrm(0,"wb-chart",18),2&i){const a=e.XpG(6);e.Y8G("options",a.valueChartOptions)}}function K(i,h){if(1&i&&e.nrm(0,"wb-chart",18),2&i){const a=e.XpG(6);e.Y8G("options",a.allocChartOptions)}}function W(i,h){if(1&i&&(e.j41(0,"div",14)(1,"div",15)(2,"mat-card",11),e.DNE(3,X,1,1,"wb-chart",16),e.k0s()(),e.j41(4,"div",17)(5,"mat-card",11),e.DNE(6,K,1,1,"wb-chart",16),e.k0s()()()),2&i){const a=e.XpG(5);e.R7$(3),e.Y8G("ngIf",a.valueChartOptions),e.R7$(3),e.Y8G("ngIf",a.allocChartOptions)}}function N(i,h){if(1&i&&(e.qex(0),e.j41(1,"div",9)(2,"div",10)(3,"mat-card",11)(4,"div"),e.EFF(5,"Total Invested (Cost Basis)"),e.k0s(),e.j41(6,"h1"),e.EFF(7),e.nI1(8,"currency"),e.k0s()()(),e.j41(9,"div",10)(10,"mat-card",11)(11,"div"),e.EFF(12,"Current Value of Assets"),e.k0s(),e.DNE(13,j,4,4,"h1",6)(14,V,2,0,"ng-template",null,3,e.C5r),e.k0s()(),e.j41(16,"div",10)(17,"mat-card",11)(18,"div"),e.EFF(19,"Return (Time Weighted)"),e.k0s(),e.DNE(20,$,2,1,"h1",6)(21,k,2,0,"ng-template",null,4,e.C5r),e.k0s()()(),e.DNE(23,W,7,2,"div",12),e.bVm()),2&i){const a=e.sdS(15),l=e.sdS(22),_=e.XpG(4);e.R7$(7),e.JRh(e.bMT(8,6,_.statement.totalInvested)),e.R7$(6),e.Y8G("ngIf",_.hasAssetMetrics())("ngIfElse",a),e.R7$(7),e.Y8G("ngIf",_.hasReturnMetrics())("ngIfElse",l),e.R7$(3),e.Y8G("ngIf",_.allocChartOptions)}}function Y(i,h){1&i&&(e.j41(0,"div",20),e.nrm(1,"mat-progress-bar",21),e.k0s())}function z(i,h){if(1&i&&e.DNE(0,Y,2,0,"div",19),2&i){const a=e.XpG(4);e.Y8G("ngIf",!a.chartsLoaded)}}function H(i,h){if(1&i&&(e.qex(0),e.DNE(1,N,24,8,"ng-container",6)(2,z,1,1,"ng-template",null,2,e.C5r),e.j41(4,"div"),e.nrm(5,"wb-portfolio-investment-table",8),e.k0s(),e.bVm()),2&i){const a=e.sdS(3),l=e.XpG(3);e.R7$(),e.Y8G("ngIf",l.valueChartOptions&&l.allocChartOptions)("ngIfElse",a),e.R7$(4),e.Y8G("portfolio",l.portfolio)("account",l.account)("readonly",l.readonly)("selectedCurrency",l.selectedCurrency)}}function Z(i,h){if(1&i&&e.DNE(0,H,6,6,"ng-container",6),2&i){e.XpG();const a=e.sdS(4),l=e.XpG();e.Y8G("ngIf",l.statement.items.length>0)("ngIfElse",a)}}function Q(i,h){if(1&i&&(e.j41(0,"div",22)(1,"h3"),e.EFF(2,"Your portfolio is currently empty"),e.k0s(),e.j41(3,"wb-button",23),e.EFF(4,"START INVESTING NOW"),e.k0s()()),2&i){const a=e.XpG(2);e.R7$(3),e.Y8G("navigate",a.Route.Marketplace)}}function J(i,h){if(1&i&&e.DNE(0,L,2,3,"ng-container",6)(1,Z,1,2,"ng-template",null,0,e.C5r)(3,Q,5,1,"ng-template",null,1,e.C5r),2&i){const a=e.sdS(2),l=e.XpG();e.Y8G("ngIf",!!l.dashboard)("ngIfElse",a)}}let q=(()=>{class i extends E.$G{constructor(a,l,_,d,p,b,v,o){super(a),this.portfolioModelService=l,this.accountModelService=_,this.assetModelService=d,this.reportService=p,this.platformService=b,this.transactionService=v,this.accountListService=o,this.selectedAccount=null,this.selectedTabIndex=0,this.TransactionStatus=M.x8r,this.Route=A.qh}ngOnInit(){var a=this;return(0,D.A)(function*(){a.baseCurrency=a.platformService.getBaseCurrency(),a.selectedCurrency||(a.selectedCurrency=a.baseCurrency),a.account||(a.account=a.accountModelService.selectedAccount);const l=yield a.reportService.getPortfolioDashboards();if(l)for(let d,_=0;d=l[_];_++)if(yield a.isOnList(d.settings.portfolioListIds)){a.dashboard=d,a.setDashboardAccountIds();break}a.dashboard||(a.portfolio?a.resetCharts():a.onAccountChange(a.account))})()}ngAfterViewInit(){setTimeout(()=>{this.viewInitialized=!0,this.buildCharts()},500)}isOnList(a){var l=this;return(0,D.A)(function*(){return l.accountListService.isOnList(l.accountModelService.selectedAccount,a)})()}setDashboardAccountIds(){this.dashboardAccountIds=this.accounts&&this.accounts.length>0?this.accounts.map(a=>a.id):[this.account.id]}buildCharts(){0===this.selectedTabIndex&&this.portfolio&&this.viewInitialized&&!this.allocChartOptions&&this.initCharts()}resetCharts(){this.allocChartOptions=this.valueChartOptions=null,this.chartsLoaded=!1,this.buildCharts()}initCharts(){this.statement=P.y.getStatementFromPortfolio(this.portfolio),this.statement.items=this.statement.items.filter(a=>0!==Math.round(a.currentValue)),this.allocChartOptions=this.valueChartOptions=null,setTimeout(()=>{this.initMetrics(),this.initValueChart(),this.initAllocationChart()},500)}initMetrics(){for(let l,a=0;l=this.statement.items[a];a++){const _=l.transaction,d=this.assetModelService.lookup(l.symbol);!this.hasAutoInvest&&!this.readonly&&d.investmentSettings.steps.some(p=>p.type===M.Gav.AutoInvest)&&(this.hasAutoInvest=!0),l.distribution&&!this.hasDistributions&&(this.hasDistributions=!0),l.redemption&&!this.hasRedemptions&&(this.hasRedemptions=!0),l.rawPrice&&!this.hasShares&&(this.hasShares=!0),this.transactionService.canCancel(_,_.data,d)&&!this.readonly&&!this.hasCancels&&(this.hasCancels=!0)}}initValueChart(){const a={};for(let d,_=0;d=this.statement.items[_];_++)if(this.transactionService.isAssetValue(d.transaction.type)){const b=this.assetModelService.lookup(d.symbol),v=I.y_.round(d.currentValue,2);0!==v&&(a[b.name]=I.y_.round(v,2))}this.valueChartOptions={type:E.NB.column,series:[{name:`Asset Value (${this.selectedCurrency})`,data:a}],title:`Asset Value (${this.selectedCurrency})`,disableLegend:!1,disableRangeSelector:!0,yAxis:{allowDecimals:!1,unitLabel:this.selectedCurrency}}}initAllocationChart(){const a={};let l=0;for(let p,d=0;p=this.statement.items[d];d++)if(this.transactionService.isAssetValue(p.transaction.type)&&0!==p.currentValue){const v=this.assetModelService.lookup(p.symbol).tags[0]||"Other";a[v]||(a[v]=0),a[v]+=p.currentValue,l+=p.currentValue}l>0&&(this.allocChartOptions={type:E.NB.pie,series:[{name:"Asset Allocation",data:a}],title:"Asset Allocation (%)",disableLegend:!1,disableRangeSelector:!0,yAxis:{allowDecimals:!1}}),this.chartsLoaded=!0}onAccountChange(a){this.portfolioModelService.getPortfolio(a.id).then(l=>{this.portfolio=l,this.resetCharts()})}hasAssetMetrics(){return this.hasShares||this.hasDistributions||this.hasCurrentValue||this.hasRedemptions||!!this.statement.date}hasReturnMetrics(){return(this.hasShares||this.hasDistributions||this.hasCurrentValue||!!this.statement.date)&&isFinite(this.statement.weightedReturn)}static{this.\u0275fac=function(l){return new(l||i)(e.rXU(g.d3),e.rXU(g.lv),e.rXU(g.UF),e.rXU(g.RH),e.rXU(g.GN),e.rXU(g.fP),e.rXU(g.kK),e.rXU(g.LW))}}static{this.\u0275cmp=e.VBU({type:i,selectors:[["wb-portfolio-investments"]],inputs:{account:"account",accounts:"accounts",portfolio:"portfolio",selectedCurrency:"selectedCurrency",readonly:"readonly"},features:[e.Vt3],decls:3,vars:1,consts:[["notCustomTemplate",""],["emptyTemplate",""],["chartLoadingTemplate",""],["naAssetsTemplate",""],["naReturnTemplate",""],[3,"initialized"],[4,"ngIf","ngIfElse"],[3,"dashboard","accountIds","preview"],[3,"portfolio","account","readonly","selectedCurrency"],[1,"row","portfolio-header"],[1,"col","s12","l4"],[1,"mat-elevation-z5"],["class","row charts",4,"ngIf"],[4,"ngIf"],[1,"row","charts"],[1,"col","s12","m8"],[3,"options",4,"ngIf"],[1,"col","s12","m4"],[3,"options"],["class","chart-loader",4,"ngIf"],[1,"chart-loader"],["mode","indeterminate"],[1,"empty"],["type","action","size","large",3,"navigate"]],template:function(l,_){1&l&&(e.j41(0,"wb-page",5),e.DNE(1,J,5,2,"ng-template"),e.k0s(),e.nrm(2,"wb-modal")),2&l&&e.Y8G("initialized",!!_.statement||!!_.dashboard)},dependencies:[y._m,t.oM,C.bT,U.z,u.Q,x.H,S.Qe,w.Y,G.B,C.oe,C.vh],styles:["[_ngcontent-%COMP%]:root{--brand-primary: #100001;--brand-secondary: #100006;--brand-alert: #100011;--brand-success: #100016;--brand-warn: #100021;--brand-shout: #100026;--border-default: #edeef0}html[_ngcontent-%COMP%]{font-size:62.5%}body[_ngcontent-%COMP%]{font-size:1.4rem}h1[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h2[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h3[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h4[_ng
1content-%COMP%]   a[_ngcontent-%COMP%], h5[_ngcontent-%COMP%]   a[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-weight:inherit}h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%], h5[_ngcontent-%COMP%], h6[_ngcontent-%COMP%]{line-height:1.1}h1[_ngcontent-%COMP%]{font-size:2.9rem;font-weight:500}h2[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:500}h3[_ngcontent-%COMP%]{font-size:2.1rem;font-weight:500}h4[_ngcontent-%COMP%]{font-size:1.7rem;font-weight:400}h5[_ngcontent-%COMP%]{font-size:1.3rem;font-weight:400}h6[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:500;text-transform:uppercase}.portfolio-header[_ngcontent-%COMP%]   .mat-card[_ngcontent-%COMP%]{color:#737f8b}@media (max-width: 600px){.portfolio-header[_ngcontent-%COMP%]   .mat-card[_ngcontent-%COMP%]{margin-bottom:10px}}.portfolio-header[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]{margin-top:15px}.portfolio-header[_ngcontent-%COMP%]   h1[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-size:1.2rem;font-weight:400;position:relative;top:-1px}.charts[_ngcontent-%COMP%]   mat-card[_ngcontent-%COMP%]{margin-bottom:10px}.charts[_ngcontent-%COMP%]   wb-chart[_ngcontent-%COMP%]{display:block;height:350px}.chart-loader[_ngcontent-%COMP%]{padding:50px}.empty[_ngcontent-%COMP%]{text-align:center;padding:2rem 5rem}.empty[_ngcontent-%COMP%]   h3[_ngcontent-%COMP%]{margin:5rem 0;font-weight:400}"]})}}return i})()},96708:(et,R,s)=>{s.d(R,{u:()=>I});var D=s(19757),E=s(2630),A=s(67131),M=s(54438);let I=(()=>{class P{static{this.\u0275fac=function(y){return new(y||P)}}static{this.\u0275mod=M.$C({type:P})}static{this.\u0275inj=M.G2t({imports:[D.Gg,E.d,A.O]})}}return P})()}}]);

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.