cic-staff-client/docs/compodoc/components/AccountDetailsComponent.html

2693 lines
137 KiB
HTML
Raw Normal View History

2021-05-10 20:56:20 +02:00
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>CICADA</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top visible-xs">
<a href="../" class="navbar-brand">CICADA</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="hidden-xs menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content component">
<div class="content-data">
<ol class="breadcrumb">
<li>Components</li>
<li>AccountDetailsComponent</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="active">
<a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a>
</li>
<li >
<a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a>
</li>
<li >
<a href="#templateData" role="tab" id="templateData-tab" data-toggle="tab" data-link="template">Template</a>
</li>
<li >
<a href="#styleData" role="tab" id="styleData-tab" data-toggle="tab" data-link="style">Styles</a>
</li>
<li >
<a href="#tree" role="tab" id="tree-tab" data-toggle="tab" data-link="dom-tree">DOM Tree</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="c-info"><p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/app/pages/accounts/account-details/account-details.component.ts</code>
</p>
<p class="comment">
<h3>Implements</h3>
</p>
<p class="comment">
<code><a href="https://angular.io/api/core/OnInit" target="_blank" >OnInit</a></code>
</p>
<section>
<h3>Metadata</h3>
<table class="table table-sm table-hover">
<tbody>
<tr>
<td class="col-md-3">changeDetection</td>
<td class="col-md-9"><code>ChangeDetectionStrategy.OnPush</code></td>
</tr>
<tr>
<td class="col-md-3">selector</td>
<td class="col-md-9"><code>app-account-details</code></td>
</tr>
<tr>
<td class="col-md-3">styleUrls</td>
<td class="col-md-9"><code>./account-details.component.scss</code></td>
</tr>
<tr>
<td class="col-md-3">templateUrl</td>
<td class="col-md-9"><code>./account-details.component.html</code></td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Properties</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#account">account</a>
</li>
<li>
<a href="#accountAddress">accountAddress</a>
</li>
<li>
<a href="#accountInfoForm">accountInfoForm</a>
</li>
<li>
<a href="#accounts">accounts</a>
</li>
<li>
<a href="#accountStatus">accountStatus</a>
</li>
<li>
<a href="#accountsType">accountsType</a>
</li>
<li>
<a href="#accountTypes">accountTypes</a>
</li>
<li>
<a href="#areaNames">areaNames</a>
</li>
<li>
<a href="#areaTypes">areaTypes</a>
</li>
<li>
<a href="#bloxbergLink">bloxbergLink</a>
</li>
<li>
<a href="#categories">categories</a>
</li>
<li>
<a href="#genders">genders</a>
</li>
<li>
<a href="#matcher">matcher</a>
</li>
<li>
<a href="#submitted">submitted</a>
</li>
<li>
<a href="#transaction">transaction</a>
</li>
<li>
<a href="#transactions">transactions</a>
</li>
<li>
<a href="#transactionsDataSource">transactionsDataSource</a>
</li>
<li>
<a href="#transactionsDefaultPageSize">transactionsDefaultPageSize</a>
</li>
<li>
<a href="#transactionsDisplayedColumns">transactionsDisplayedColumns</a>
</li>
<li>
<a href="#transactionsPageSizeOptions">transactionsPageSizeOptions</a>
</li>
<li>
<a href="#transactionsType">transactionsType</a>
</li>
<li>
<a href="#transactionsTypes">transactionsTypes</a>
</li>
<li>
<a href="#transactionTablePaginator">transactionTablePaginator</a>
</li>
<li>
<a href="#transactionTableSort">transactionTableSort</a>
</li>
<li>
<a href="#userDataSource">userDataSource</a>
</li>
<li>
<a href="#userDisplayedColumns">userDisplayedColumns</a>
</li>
<li>
<a href="#usersDefaultPageSize">usersDefaultPageSize</a>
</li>
<li>
<a href="#usersPageSizeOptions">usersPageSizeOptions</a>
</li>
<li>
<a href="#userTablePaginator">userTablePaginator</a>
</li>
<li>
<a href="#userTableSort">userTableSort</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#copyAddress">copyAddress</a>
</li>
<li>
<a href="#doTransactionFilter">doTransactionFilter</a>
</li>
<li>
<a href="#doUserFilter">doUserFilter</a>
</li>
<li>
<a href="#downloadCsv">downloadCsv</a>
</li>
<li>
<a href="#filterAccounts">filterAccounts</a>
</li>
<li>
<a href="#filterTransactions">filterTransactions</a>
</li>
<li>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
<a href="#resetPin">resetPin</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#saveInfo">saveInfo</a>
</li>
<li>
<a href="#viewAccount">viewAccount</a>
</li>
<li>
<a href="#viewTransaction">viewTransaction</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Accessors</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#accountInfoFormStub">accountInfoFormStub</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(formBuilder: <a href="https://angular.io/api/forms/FormBuilder" target="_blank">FormBuilder</a>, locationService: <a href="../injectables/LocationService.html">LocationService</a>, transactionService: <a href="../injectables/TransactionService.html">TransactionService</a>, userService: <a href="../injectables/UserService.html">UserService</a>, route: <a href="https://angular.io/api/router/ActivatedRoute" target="_blank">ActivatedRoute</a>, router: <a href="https://angular.io/api/router/Router" target="_blank">Router</a>, tokenService: <a href="../injectables/TokenService.html">TokenService</a>, loggingService: <a href="../injectables/LoggingService.html">LoggingService</a>, blockSyncService: <a href="../injectables/BlockSyncService.html">BlockSyncService</a>, cdr: <a href="https://angular.io/api/core/ChangeDetectorRef" target="_blank">ChangeDetectorRef</a>, snackBar: MatSnackBar)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="53" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:53</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>formBuilder</td>
<td>
<code><a href="https://angular.io/api/forms/FormBuilder" target="_blank" >FormBuilder</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>locationService</td>
<td>
<code><a href="../injectables/LocationService.html" target="_self" >LocationService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>transactionService</td>
<td>
<code><a href="../injectables/TransactionService.html" target="_self" >TransactionService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>userService</td>
<td>
<code><a href="../injectables/UserService.html" target="_self" >UserService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>route</td>
<td>
<code><a href="https://angular.io/api/router/ActivatedRoute" target="_blank" >ActivatedRoute</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>router</td>
<td>
<code><a href="https://angular.io/api/router/Router" target="_blank" >Router</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>tokenService</td>
<td>
<code><a href="../injectables/TokenService.html" target="_self" >TokenService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>loggingService</td>
<td>
<code><a href="../injectables/LoggingService.html" target="_self" >LoggingService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>blockSyncService</td>
<td>
<code><a href="../injectables/BlockSyncService.html" target="_self" >BlockSyncService</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>cdr</td>
<td>
<code><a href="https://angular.io/api/core/ChangeDetectorRef" target="_blank" >ChangeDetectorRef</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>snackBar</td>
<td>
<code>MatSnackBar</code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="copyAddress"></a>
<span class="name">
<b>
copyAddress
</b>
<a href="#copyAddress"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>copyAddress()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="202"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:202</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="doTransactionFilter"></a>
<span class="name">
<b>
doTransactionFilter
</b>
<a href="#doTransactionFilter"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>doTransactionFilter(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="132"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:132</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="doUserFilter"></a>
<span class="name">
<b>
doUserFilter
</b>
<a href="#doUserFilter"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>doUserFilter(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="136"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:136</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="downloadCsv"></a>
<span class="name">
<b>
downloadCsv
</b>
<a href="#downloadCsv"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>downloadCsv(data: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>, filename: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="198"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:198</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>data</td>
<td>
<code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>filename</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="filterAccounts"></a>
<span class="name">
<b>
filterAccounts
</b>
<a href="#filterAccounts"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>filterAccounts()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="169"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:169</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="filterTransactions"></a>
<span class="name">
<b>
filterTransactions
</b>
<a href="#filterTransactions"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>filterTransactions()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="180"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:180</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="ngOnInit"></a>
<span class="name">
<b>
ngOnInit
</b>
<a href="#ngOnInit"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="116"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:116</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="resetPin"></a>
<span class="name">
<b>
resetPin
</b>
<a href="#resetPin"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>resetPin()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="191"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:191</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="saveInfo"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
saveInfo
</b>
<a href="#saveInfo"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>saveInfo()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="150"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:150</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="viewAccount"></a>
<span class="name">
<b>
viewAccount
</b>
<a href="#viewAccount"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>viewAccount(account)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="144"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:144</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>account</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="viewTransaction"></a>
<span class="name">
<b>
viewTransaction
</b>
<a href="#viewTransaction"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>viewTransaction(transaction)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="140"
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:140</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>transaction</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="inputs">
Properties
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="account"></a>
<span class="name">
<b>
account</b>
<a href="#account"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/AccountDetails.html" target="_self" >AccountDetails</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="37" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:37</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountAddress"></a>
<span class="name">
<b>
accountAddress</b>
<a href="#accountAddress"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="38" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:38</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountInfoForm"></a>
<span class="name">
<b>
accountInfoForm</b>
<a href="#accountInfoForm"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://angular.io/api/forms/FormGroup" target="_blank" >FormGroup</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="36" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:36</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accounts"></a>
<span class="name">
<b>
accounts</b>
<a href="#accounts"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/AccountDetails.html" target="_self" >Array&lt;AccountDetails&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="40" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:40</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountStatus"></a>
<span class="name">
<b>
accountStatus</b>
<a href="#accountStatus"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="39" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:39</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountsType"></a>
<span class="name">
<b>
accountsType</b>
<a href="#accountsType"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>&#x27;all&#x27;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="41" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:41</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountTypes"></a>
<span class="name">
<b>
accountTypes</b>
<a href="#accountTypes"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;string&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="48" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:48</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="areaNames"></a>
<span class="name">
<b>
areaNames</b>
<a href="#areaNames"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/AreaName.html" target="_self" >Array&lt;AreaName&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="43" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:43</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="areaTypes"></a>
<span class="name">
<b>
areaTypes</b>
<a href="#areaTypes"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/AreaType.html" target="_self" >Array&lt;AreaType&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="44" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:44</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="bloxbergLink"></a>
<span class="name">
<b>
bloxbergLink</b>
<a href="#bloxbergLink"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="53" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:53</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="categories"></a>
<span class="name">
<b>
categories</b>
<a href="#categories"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/Category.html" target="_self" >Array&lt;Category&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="42" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:42</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="genders"></a>
<span class="name">
<b>
genders</b>
<a href="#genders"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;string&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="50" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:50</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="matcher"></a>
<span class="name">
<b>
matcher</b>
<a href="#matcher"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../classes/CustomErrorStateMatcher.html" target="_self" >CustomErrorStateMatcher</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>new CustomErrorStateMatcher()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="51" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:51</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="submitted"></a>
<span class="name">
<b>
submitted</b>
<a href="#submitted"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="52" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:52</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transaction"></a>
<span class="name">
<b>
transaction</b>
<a href="#transaction"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="45" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:45</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactions"></a>
<span class="name">
<b>
transactions</b>
<a href="#transactions"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../classes/Transaction.html" target="_self" >Array&lt;Transaction&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="46" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:46</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsDataSource"></a>
<span class="name">
<b>
transactionsDataSource</b>
<a href="#transactionsDataSource"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatTableDataSource&lt;any&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:22</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsDefaultPageSize"></a>
<span class="name">
<b>
transactionsDefaultPageSize</b>
<a href="#transactionsDefaultPageSize"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>10</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="24" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:24</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsDisplayedColumns"></a>
<span class="name">
<b>
transactionsDisplayedColumns</b>
<a href="#transactionsDisplayedColumns"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;string&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[&#x27;sender&#x27;, &#x27;recipient&#x27;, &#x27;value&#x27;, &#x27;created&#x27;, &#x27;type&#x27;]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="23" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:23</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsPageSizeOptions"></a>
<span class="name">
<b>
transactionsPageSizeOptions</b>
<a href="#transactionsPageSizeOptions"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;number&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[10, 20, 50, 100]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="25" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:25</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsType"></a>
<span class="name">
<b>
transactionsType</b>
<a href="#transactionsType"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>&#x27;all&#x27;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="47" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:47</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionsTypes"></a>
<span class="name">
<b>
transactionsTypes</b>
<a href="#transactionsTypes"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;string&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="49" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:49</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionTablePaginator"></a>
<span class="name">
<b>
transactionTablePaginator</b>
<a href="#transactionTablePaginator"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatPaginator</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Decorators : </b>
<br />
<code>
@ViewChild(&#x27;TransactionTablePaginator&#x27;, {static: true})<br />
</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="26" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:26</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="transactionTableSort"></a>
<span class="name">
<b>
transactionTableSort</b>
<a href="#transactionTableSort"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatSort</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Decorators : </b>
<br />
<code>
@ViewChild(&#x27;TransactionTableSort&#x27;, {static: true})<br />
</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="27" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:27</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="userDataSource"></a>
<span class="name">
<b>
userDataSource</b>
<a href="#userDataSource"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatTableDataSource&lt;any&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="29" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:29</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="userDisplayedColumns"></a>
<span class="name">
<b>
userDisplayedColumns</b>
<a href="#userDisplayedColumns"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;string&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[&#x27;name&#x27;, &#x27;phone&#x27;, &#x27;created&#x27;, &#x27;balance&#x27;, &#x27;location&#x27;]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="30" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:30</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="usersDefaultPageSize"></a>
<span class="name">
<b>
usersDefaultPageSize</b>
<a href="#usersDefaultPageSize"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>10</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="31" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:31</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="usersPageSizeOptions"></a>
<span class="name">
<b>
usersPageSizeOptions</b>
<a href="#usersPageSizeOptions"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;number&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>[10, 20, 50, 100]</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="32" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:32</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="userTablePaginator"></a>
<span class="name">
<b>
userTablePaginator</b>
<a href="#userTablePaginator"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatPaginator</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Decorators : </b>
<br />
<code>
@ViewChild(&#x27;UserTablePaginator&#x27;, {static: true})<br />
</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:33</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="userTableSort"></a>
<span class="name">
<b>
userTableSort</b>
<a href="#userTableSort"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>MatSort</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Decorators : </b>
<br />
<code>
@ViewChild(&#x27;UserTableSort&#x27;, {static: true})<br />
</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:34</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="accessors">
Accessors
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="accountInfoFormStub"></a>
<span class="name"><b>accountInfoFormStub</b><a href="#accountInfoFormStub"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>accountInfoFormStub()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="148" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:148</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="c-source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, ViewChild} from &#x27;@angular/core&#x27;;
import {MatTableDataSource} from &#x27;@angular/material/table&#x27;;
import {MatPaginator} from &#x27;@angular/material/paginator&#x27;;
import {MatSort} from &#x27;@angular/material/sort&#x27;;
import {BlockSyncService, LocationService, LoggingService, TokenService, TransactionService, UserService} from &#x27;@app/_services&#x27;;
import {ActivatedRoute, Params, Router} from &#x27;@angular/router&#x27;;
import {first} from &#x27;rxjs/operators&#x27;;
import {FormBuilder, FormGroup, Validators} from &#x27;@angular/forms&#x27;;
import {copyToClipboard, CustomErrorStateMatcher, exportCsv} from &#x27;@app/_helpers&#x27;;
import {MatSnackBar} from &#x27;@angular/material/snack-bar&#x27;;
import {add0x, strip0x} from &#x27;@src/assets/js/ethtx/dist/hex&#x27;;
import {environment} from &#x27;@src/environments/environment&#x27;;
import {AccountDetails, AreaName, AreaType, Category, Transaction} from &#x27;@app/_models&#x27;;
@Component({
selector: &#x27;app-account-details&#x27;,
templateUrl: &#x27;./account-details.component.html&#x27;,
styleUrls: [&#x27;./account-details.component.scss&#x27;],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class AccountDetailsComponent implements OnInit {
transactionsDataSource: MatTableDataSource&lt;any&gt;;
transactionsDisplayedColumns: Array&lt;string&gt; &#x3D; [&#x27;sender&#x27;, &#x27;recipient&#x27;, &#x27;value&#x27;, &#x27;created&#x27;, &#x27;type&#x27;];
transactionsDefaultPageSize: number &#x3D; 10;
transactionsPageSizeOptions: Array&lt;number&gt; &#x3D; [10, 20, 50, 100];
@ViewChild(&#x27;TransactionTablePaginator&#x27;, {static: true}) transactionTablePaginator: MatPaginator;
@ViewChild(&#x27;TransactionTableSort&#x27;, {static: true}) transactionTableSort: MatSort;
userDataSource: MatTableDataSource&lt;any&gt;;
userDisplayedColumns: Array&lt;string&gt; &#x3D; [&#x27;name&#x27;, &#x27;phone&#x27;, &#x27;created&#x27;, &#x27;balance&#x27;, &#x27;location&#x27;];
usersDefaultPageSize: number &#x3D; 10;
usersPageSizeOptions: Array&lt;number&gt; &#x3D; [10, 20, 50, 100];
@ViewChild(&#x27;UserTablePaginator&#x27;, {static: true}) userTablePaginator: MatPaginator;
@ViewChild(&#x27;UserTableSort&#x27;, {static: true}) userTableSort: MatSort;
accountInfoForm: FormGroup;
account: AccountDetails;
accountAddress: string;
accountStatus: any;
accounts: Array&lt;AccountDetails&gt; &#x3D; [];
accountsType: string &#x3D; &#x27;all&#x27;;
categories: Array&lt;Category&gt;;
areaNames: Array&lt;AreaName&gt;;
areaTypes: Array&lt;AreaType&gt;;
transaction: any;
transactions: Array&lt;Transaction&gt;;
transactionsType: string &#x3D; &#x27;all&#x27;;
accountTypes: Array&lt;string&gt;;
transactionsTypes: Array&lt;string&gt;;
genders: Array&lt;string&gt;;
matcher: CustomErrorStateMatcher &#x3D; new CustomErrorStateMatcher();
submitted: boolean &#x3D; false;
bloxbergLink: string;
constructor(
private formBuilder: FormBuilder,
private locationService: LocationService,
private transactionService: TransactionService,
private userService: UserService,
private route: ActivatedRoute,
private router: Router,
private tokenService: TokenService,
private loggingService: LoggingService,
private blockSyncService: BlockSyncService,
private cdr: ChangeDetectorRef,
private snackBar: MatSnackBar,
) {
this.accountInfoForm &#x3D; this.formBuilder.group({
name: [&#x27;&#x27;, Validators.required],
phoneNumber: [&#x27;&#x27;, Validators.required],
age: [&#x27;&#x27;, Validators.required],
type: [&#x27;&#x27;, Validators.required],
bio: [&#x27;&#x27;, Validators.required],
gender: [&#x27;&#x27;, Validators.required],
businessCategory: [&#x27;&#x27;, Validators.required],
userLocation: [&#x27;&#x27;, Validators.required],
location: [&#x27;&#x27;, Validators.required],
locationType: [&#x27;&#x27;, Validators.required],
});
this.route.paramMap.subscribe(async (params: Params) &#x3D;&gt; {
this.accountAddress &#x3D; add0x(params.get(&#x27;id&#x27;));
this.bloxbergLink &#x3D; &#x27;https://blockexplorer.bloxberg.org/address/&#x27; + this.accountAddress + &#x27;/transactions&#x27;;
(await this.userService.getAccountByAddress(this.accountAddress, 100)).subscribe(async res &#x3D;&gt; {
if (res !&#x3D;&#x3D; undefined) {
this.account &#x3D; res;
this.cdr.detectChanges();
this.loggingService.sendInfoLevelMessage(this.account);
// this.userService.getAccountStatus(this.account.vcard?.tel[0].value).pipe(first())
// .subscribe(response &#x3D;&gt; this.accountStatus &#x3D; response);
this.accountInfoForm.patchValue({
name: this.account.vcard?.fn[0].value,
phoneNumber: this.account.vcard?.tel[0].value,
age: this.account.age,
type: this.account.type,
bio: this.account.products,
gender: this.account.gender,
businessCategory: this.account.category,
userLocation: this.account.location.area_name,
location: this.account.location.area,
locationType: this.account.location.area_type,
});
} else {
alert(&#x27;Account not found!&#x27;);
}
});
this.blockSyncService.blockSync(this.accountAddress);
});
this.userService.getCategories().pipe(first()).subscribe(res &#x3D;&gt; this.categories &#x3D; res);
this.locationService.getAreaNames().pipe(first()).subscribe(res &#x3D;&gt; this.areaNames &#x3D; res);
this.locationService.getAreaTypes().pipe(first()).subscribe(res &#x3D;&gt; this.areaTypes &#x3D; res);
this.userService.getAccountTypes().pipe(first()).subscribe(res &#x3D;&gt; this.accountTypes &#x3D; res);
this.userService.getTransactionTypes().pipe(first()).subscribe(res &#x3D;&gt; this.transactionsTypes &#x3D; res);
this.userService.getGenders().pipe(first()).subscribe(res &#x3D;&gt; this.genders &#x3D; res);
}
ngOnInit(): void {
this.userService.accountsSubject.subscribe(accounts &#x3D;&gt; {
this.userDataSource &#x3D; new MatTableDataSource&lt;any&gt;(accounts);
this.userDataSource.paginator &#x3D; this.userTablePaginator;
this.userDataSource.sort &#x3D; this.userTableSort;
this.accounts &#x3D; accounts;
});
this.transactionService.transactionsSubject.subscribe(transactions &#x3D;&gt; {
this.transactionsDataSource &#x3D; new MatTableDataSource&lt;any&gt;(transactions);
this.transactionsDataSource.paginator &#x3D; this.transactionTablePaginator;
this.transactionsDataSource.sort &#x3D; this.transactionTableSort;
this.transactions &#x3D; transactions;
});
}
doTransactionFilter(value: string): void {
this.transactionsDataSource.filter &#x3D; value.trim().toLocaleLowerCase();
}
doUserFilter(value: string): void {
this.userDataSource.filter &#x3D; value.trim().toLocaleLowerCase();
}
viewTransaction(transaction): void {
this.transaction &#x3D; transaction;
}
viewAccount(account): void {
this.router.navigateByUrl(&#x60;/accounts/${strip0x(account.identities.evm[&#x60;bloxberg:${environment.bloxbergChainId}&#x60;][0])}&#x60;);
}
get accountInfoFormStub(): any { return this.accountInfoForm.controls; }
async saveInfo(): Promise&lt;void&gt; {
this.submitted &#x3D; true;
if (this.accountInfoForm.invalid || !confirm(&#x27;Change user\&#x27;s profile information?&#x27;)) { return; }
const accountKey &#x3D; await this.userService.changeAccountInfo(
this.accountAddress,
this.accountInfoFormStub.name.value,
this.accountInfoFormStub.phoneNumber.value,
this.accountInfoFormStub.age.value,
this.accountInfoFormStub.type.value,
this.accountInfoFormStub.bio.value,
this.accountInfoFormStub.gender.value,
this.accountInfoFormStub.businessCategory.value,
this.accountInfoFormStub.userLocation.value,
this.accountInfoFormStub.location.value,
this.accountInfoFormStub.locationType.value
);
this.submitted &#x3D; false;
}
filterAccounts(): void {
if (this.accountsType &#x3D;&#x3D;&#x3D; &#x27;all&#x27;) {
this.userService.accountsSubject.subscribe(accounts &#x3D;&gt; {
this.userDataSource.data &#x3D; accounts;
this.accounts &#x3D; accounts;
});
} else {
this.userDataSource.data &#x3D; this.accounts.filter(account &#x3D;&gt; account.type &#x3D;&#x3D;&#x3D; this.accountsType);
}
}
filterTransactions(): void {
if (this.transactionsType &#x3D;&#x3D;&#x3D; &#x27;all&#x27;) {
this.transactionService.transactionsSubject.subscribe(transactions &#x3D;&gt; {
this.transactionsDataSource.data &#x3D; transactions;
this.transactions &#x3D; transactions;
});
} else {
this.transactionsDataSource.data &#x3D; this.transactions.filter(transaction &#x3D;&gt; transaction.type &#x3D;&#x3D;&#x3D; this.transactionsType);
}
}
resetPin(): void {
if (!confirm(&#x27;Reset user\&#x27;s pin?&#x27;)) { return; }
this.userService.resetPin(this.account.vcard.tel[0].value).pipe(first()).subscribe(res &#x3D;&gt; {
this.loggingService.sendInfoLevelMessage(&#x60;Response: ${res}&#x60;);
});
}
downloadCsv(data: any, filename: string): void {
exportCsv(data, filename);
}
copyAddress(): void {
if (copyToClipboard(this.accountAddress)) {
this.snackBar.open(this.accountAddress + &#x27; copied successfully!&#x27;, &#x27;Close&#x27;, { duration: 3000 });
}
}
}
</code></pre>
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;!-- Begin page --&gt;
&lt;div class&#x3D;&quot;wrapper&quot;&gt;
&lt;app-sidebar&gt;&lt;/app-sidebar&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;!-- Start Page Content here --&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;div id&#x3D;&quot;content&quot;&gt;
&lt;app-topbar&gt;&lt;/app-topbar&gt;
&lt;!-- Start Content--&gt;
&lt;div class&#x3D;&quot;container-fluid&quot; appMenuSelection&gt;
&lt;nav aria-label&#x3D;&quot;breadcrumb&quot;&gt;
&lt;ol class&#x3D;&quot;breadcrumb&quot;&gt;
&lt;li class&#x3D;&quot;breadcrumb-item&quot;&gt;&lt;a routerLink&#x3D;&quot;/home&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
&lt;li class&#x3D;&quot;breadcrumb-item&quot;&gt;&lt;a routerLink&#x3D;&quot;/accounts&quot;&gt;Accounts&lt;/a&gt;&lt;/li&gt;
&lt;li *ngIf&#x3D;&quot;account&quot; class&#x3D;&quot;breadcrumb-item active&quot; aria-current&#x3D;&quot;page&quot;&gt;{{account?.vcard?.fn[0].value}}&lt;/li&gt;
&lt;/ol&gt;
&lt;/nav&gt;
&lt;div *ngIf&#x3D;&quot;!account&quot; class&#x3D;&quot;text-center&quot;&gt;
&lt;div class&#x3D;&quot;spinner-grow text-primary m-1&quot; role&#x3D;&quot;status&quot; style&#x3D;&quot;width: 3rem; height: 3rem;&quot;&gt;
&lt;span class&#x3D;&quot;sr-only&quot;&gt;Loading...&lt;/span&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;spinner-grow text-primary m-1&quot; role&#x3D;&quot;status&quot; style&#x3D;&quot;width: 3rem; height: 3rem;&quot;&gt;
&lt;span class&#x3D;&quot;sr-only&quot;&gt;Loading...&lt;/span&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;spinner-grow text-primary m-1&quot; role&#x3D;&quot;status&quot; style&#x3D;&quot;width: 3rem; height: 3rem;&quot;&gt;
&lt;span class&#x3D;&quot;sr-only&quot;&gt;Loading...&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div *ngIf&#x3D;&quot;account&quot; class&#x3D;&quot;card mb-3&quot;&gt;
&lt;div class&#x3D;&quot;row card-body&quot;&gt;
&lt;h3&gt;
&lt;strong&gt; {{account?.vcard?.fn[0].value}} &lt;/strong&gt;
&lt;/h3&gt;
&lt;span class&#x3D;&quot;ml-auto&quot;&gt;&lt;strong&gt;Balance:&lt;/strong&gt; {{account?.balance | tokenRatio}} SRF&lt;/span&gt;
&lt;span class&#x3D;&quot;ml-2&quot;&gt;&lt;strong&gt;Created:&lt;/strong&gt; {{account?.date_registered | date}}&lt;/span&gt;
&lt;span class&#x3D;&quot;ml-2&quot;&gt;&lt;strong&gt;Address:&lt;/strong&gt;
&lt;a href&#x3D;&quot;{{bloxbergLink}}&quot; target&#x3D;&quot;_blank&quot;&gt; {{accountAddress}} &lt;/a&gt;
&lt;img src&#x3D;&quot;assets/images/checklist.svg&quot; class&#x3D;&quot;ml-2&quot; height&#x3D;&quot;20rem&quot; (click)&#x3D;&quot;copyAddress()&quot; alt&#x3D;&quot;Copy&quot;&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div *ngIf&#x3D;&quot;account&quot; class&#x3D;&quot;card mt-3 mb-3&quot;&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;form [formGroup]&#x3D;&quot;accountInfoForm&quot; (ngSubmit)&#x3D;&quot;saveInfo()&quot;&gt;
&lt;div class&#x3D;&quot;row form-inline&quot;&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt;Name(s): *&lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; id&#x3D;&quot;givenNames&quot; placeholder&#x3D;&quot;{{account?.vcard?.fn[0].value}}&quot;
value&#x3D;&quot;{{account?.vcard?.fn[0].value}}&quot; formControlName&#x3D;&quot;name&quot; [errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.name.errors&quot;&gt;Name is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt;Phone Number: &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; id&#x3D;&quot;phoneNumber&quot; placeholder&#x3D;&quot;{{account?.vcard?.tel[0].value}}&quot;
value&#x3D;&quot;{{account?.vcard?.tel[0].value}}&quot; formControlName&#x3D;&quot;phoneNumber&quot; [errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.phoneNumber.errors&quot;&gt;Phone Number is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt;Age: &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; id&#x3D;&quot;age&quot; placeholder&#x3D;&quot;{{account?.age}}&quot;
value&#x3D;&quot;{{account?.age}}&quot; formControlName&#x3D;&quot;age&quot; [errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.age.errors&quot;&gt;Age is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; ACCOUNT TYPE: &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;accountType&quot; [(value)]&#x3D;&quot;account.type&quot; formControlName&#x3D;&quot;type&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-option *ngFor&#x3D;&quot;let accountType of accountTypes&quot; [value]&#x3D;&quot;accountType&quot;&gt;
{{accountType | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.type.errors&quot;&gt;Type is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt;Bio: &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; id&#x3D;&quot;bio&quot; placeholder&#x3D;&quot;{{account?.products}}&quot; value&#x3D;&quot;{{account?.products}}&quot;
formControlName&#x3D;&quot;bio&quot; [errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.bio.errors&quot;&gt;Bio is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; GENDER: &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;gender&quot; [(value)]&#x3D;&quot;account.gender&quot; formControlName&#x3D;&quot;gender&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-option *ngFor&#x3D;&quot;let gender of genders&quot; [value]&#x3D;&quot;gender&quot;&gt;
{{gender | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.gender.errors&quot;&gt;Gender is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; BUSINESS CATEGORY: &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;businessCategory&quot; [(value)]&#x3D;&quot;account.category&quot; formControlName&#x3D;&quot;businessCategory&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-option *ngFor&#x3D;&quot;let category of categories&quot; [value]&#x3D;&quot;category&quot;&gt;
{{category | titlecase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.businessCategory.errors&quot;&gt;
Category is required.
&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt;User Location: &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; id&#x3D;&quot;userLocation&quot; placeholder&#x3D;&quot;{{account?.location.area_name}}&quot;
value&#x3D;&quot;{{account?.location.area_name}}&quot; formControlName&#x3D;&quot;userLocation&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.userLocation.errors&quot;&gt;
User Location is required.
&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; LOCATION: &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;location&quot; [(value)]&#x3D;&quot;account.location.area&quot; formControlName&#x3D;&quot;location&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-option *ngFor&#x3D;&quot;let area of areaNames&quot; [value]&#x3D;&quot;area&quot;&gt;
{{area | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.location.errors&quot;&gt;Location is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; LOCATION TYPE: &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;locationType&quot; [(value)]&#x3D;&quot;account.location.area_type&quot; formControlName&#x3D;&quot;locationType&quot;
[errorStateMatcher]&#x3D;&quot;matcher&quot;&gt;
&lt;mat-option *ngFor&#x3D;&quot;let type of areaTypes&quot; [value]&#x3D;&quot;type&quot;&gt;
{{type | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;mat-error *ngIf&#x3D;&quot;submitted &amp;&amp; accountInfoFormStub.locationType.errors&quot;&gt;Location Type is required.&lt;/mat-error&gt;
&lt;/mat-form-field&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-primary mb-3&quot;&gt;
Add User KYC
&lt;/button&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-success mb-3&quot;
(click)&#x3D;&quot;resetPin()&quot;&gt;
Reset Pin
&lt;/button&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;warn&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-danger mb-3&quot;&gt;
Delete User
&lt;/button&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;col-md-6 col-lg-4&quot;&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;submit&quot; class&#x3D;&quot;btn btn-outline-primary&quot;&gt;
SAVE DETAILS
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;card mb-3&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header&quot;&gt;
USER
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;div class&#x3D;&quot;table-responsive&quot;&gt;
&lt;table class&#x3D;&quot;table table-striped table-bordered table-hover&quot;&gt;
&lt;caption&gt; 1 user &lt;/caption&gt;
&lt;thead class&#x3D;&quot;thead-dark&quot;&gt;
&lt;tr&gt;
&lt;th scope&#x3D;&quot;col&quot;&gt;NAME&lt;/th&gt;
&lt;th scope&#x3D;&quot;col&quot;&gt;BALANCE&lt;/th&gt;
&lt;th scope&#x3D;&quot;col&quot;&gt;CREATED&lt;/th&gt;
&lt;th scope&#x3D;&quot;col&quot;&gt;STATUS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;{{account?.vcard?.fn[0].value}}&lt;/td&gt;
&lt;td&gt;{{account?.balance | tokenRatio}}&lt;/td&gt;
&lt;td&gt;{{account?.date_registered | date}}&lt;/td&gt;
&lt;td&gt;
&lt;span *ngIf&#x3D;&quot;accountStatus &#x3D;&#x3D;&#x3D; &#x27;active&#x27;&quot; class&#x3D;&quot;badge badge-success badge-pill&quot;&gt;
{{accountStatus}}
&lt;/span&gt;
&lt;span *ngIf&#x3D;&quot;accountStatus &#x3D;&#x3D;&#x3D; &#x27;blocked&#x27;&quot; class&#x3D;&quot;badge badge-danger badge-pill&quot;&gt;
{{accountStatus}}
&lt;/span&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;mat-tab-group *ngIf&#x3D;&quot;account&quot; dynamicHeight mat-align-tabs&#x3D;&quot;start&quot;&gt;
&lt;mat-tab label&#x3D;&quot;Transactions&quot;&gt;
&lt;app-transaction-details [transaction]&#x3D;&quot;transaction&quot;&gt;&lt;/app-transaction-details&gt;
&lt;div class&#x3D;&quot;card mt-1&quot;&gt;
&lt;div class&#x3D;&quot;card-header&quot;&gt;
&lt;div class&#x3D;&quot;row&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; TRANSACTION TYPE &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;transferSelect&quot; [(value)]&#x3D;&quot;transactionsType&quot; (selectionChange)&#x3D;&quot;filterTransactions()&quot;&gt;
&lt;mat-option value&#x3D;&quot;all&quot;&gt;ALL TRANSFERS&lt;/mat-option&gt;
&lt;mat-option *ngFor&#x3D;&quot;let transactionType of transactionsTypes&quot; [value]&#x3D;&quot;transactionType&quot;&gt;
{{transactionType | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;/mat-form-field&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-primary ml-auto mr-2&quot; (click)&#x3D;&quot;downloadCsv(transactions, &#x27;transactions&#x27;)&quot;&gt; EXPORT &lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; Filter &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; (keyup)&#x3D;&quot;doTransactionFilter($event.target.value)&quot; placeholder&#x3D;&quot;Filter&quot;&gt;
&lt;mat-icon matSuffix&gt;search&lt;/mat-icon&gt;
&lt;/mat-form-field&gt;
&lt;mat-table class&#x3D;&quot;mat-elevation-z10&quot; [dataSource]&#x3D;&quot;transactionsDataSource&quot; matSort matSortActive&#x3D;&quot;created&quot;
#TransactionTableSort&#x3D;&quot;matSort&quot; matSortDirection&#x3D;&quot;asc&quot; matSortDisableClear&gt;
&lt;ng-container matColumnDef&#x3D;&quot;sender&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Sender &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.sender?.vcard.fn[0].value}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;recipient&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Recipient &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.recipient?.vcard.fn[0].value}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;value&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Value &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;transaction&#x27;&quot;&gt;{{transaction?.value | tokenRatio}}&lt;/span&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;conversion&#x27;&quot;&gt;{{transaction?.toValue | tokenRatio}}&lt;/span&gt;
&lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;created&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Created &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.tx.timestamp | date}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;type&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; TYPE &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt;
&lt;span class&#x3D;&quot;badge badge-success badge-pill&quot;&gt; {{transaction?.type}} &lt;/span&gt;
&lt;/td&gt;
&lt;/ng-container&gt;
&lt;mat-header-row *matHeaderRowDef&#x3D;&quot;transactionsDisplayedColumns&quot;&gt;&lt;/mat-header-row&gt;
&lt;mat-row *matRowDef&#x3D;&quot;let transaction; columns: transactionsDisplayedColumns&quot; matRipple
(click)&#x3D;&quot;viewTransaction(transaction)&quot;&gt;&lt;/mat-row&gt;
&lt;/mat-table&gt;
&lt;mat-paginator #TransactionTablePaginator&#x3D;&quot;matPaginator&quot; [pageSize]&#x3D;&quot;transactionsDefaultPageSize&quot;
[pageSizeOptions]&#x3D;&quot;transactionsPageSizeOptions&quot; showFirstLastButtons&gt;&lt;/mat-paginator&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/mat-tab&gt;
&lt;mat-tab label&#x3D;&quot;Users&quot;&gt;
&lt;div class&#x3D;&quot;card mt-1&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header&quot;&gt;
Accounts
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;div class&#x3D;&quot;row card-header&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; ACCOUNT TYPE &lt;/mat-label&gt;
&lt;mat-select id&#x3D;&quot;typeSelect&quot; [(value)]&#x3D;&quot;accountsType&quot; (selectionChange)&#x3D;&quot;filterAccounts()&quot;&gt;
&lt;mat-option value&#x3D;&quot;all&quot;&gt;ALL&lt;/mat-option&gt;
&lt;mat-option *ngFor&#x3D;&quot;let accountType of accountTypes&quot; [value]&#x3D;&quot;accountType&quot;&gt;
{{accountType | uppercase}}
&lt;/mat-option&gt;
&lt;/mat-select&gt;
&lt;/mat-form-field&gt;
&lt;button mat-raised-button color&#x3D;&quot;primary&quot; type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-primary ml-auto mr-2&quot; (click)&#x3D;&quot;downloadCsv(accounts, &#x27;accounts&#x27;)&quot;&gt; EXPORT &lt;/button&gt;
&lt;/div&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; Filter &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; (keyup)&#x3D;&quot;doUserFilter($event.target.value)&quot; placeholder&#x3D;&quot;Filter&quot;&gt;
&lt;mat-icon matSuffix&gt;search&lt;/mat-icon&gt;
&lt;/mat-form-field&gt;
&lt;mat-table class&#x3D;&quot;mat-elevation-z10&quot; [dataSource]&#x3D;&quot;userDataSource&quot; matSort #UserTableSort&#x3D;&quot;matSort&quot;
matSortActive&#x3D;&quot;created&quot; matSortDirection&#x3D;&quot;desc&quot; matSortDisableClear&gt;
&lt;ng-container matColumnDef&#x3D;&quot;name&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; NAME &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.vcard.fn[0].value}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;phone&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; PHONE NUMBER &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.vcard.tel[0].value}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;created&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; CREATED &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.date_registered | date}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;balance&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; BALANCE &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.balance}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;location&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; LOCATION &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.location.area_name}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;mat-header-row *matHeaderRowDef&#x3D;userDisplayedColumns&gt;&lt;/mat-header-row&gt;
&lt;mat-row *matRowDef&#x3D;&quot;let account; columns: userDisplayedColumns&quot; (click)&#x3D;&quot;viewAccount(account)&quot;
matRipple&gt;&lt;/mat-row&gt;
&lt;/mat-table&gt;
&lt;mat-paginator #UserTablePaginator&#x3D;&quot;matPaginator&quot; [pageSize]&#x3D;&quot;usersDefaultPageSize&quot;
[pageSizeOptions]&#x3D;&quot;usersPageSizeOptions&quot; showFirstLastButtons&gt;&lt;/mat-paginator&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/mat-tab&gt;
&lt;/mat-tab-group&gt;
&lt;/div&gt;
&lt;app-footer appMenuSelection&gt;&lt;/app-footer&gt;
&lt;/div&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;!-- End Page content --&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;/div&gt;
</code></pre>
</div>
<div class="tab-pane fade " id="c-styleData">
<p class="comment">
<code>./account-details.component.scss</code>
</p>
<pre class="line-numbers"><code class="language-scss"></code></pre>
</div>
<div class="tab-pane fade " id="c-tree">
<div id="tree-container"></div>
<div class="tree-legend">
<div class="title">
<b>Legend</b>
</div>
<div>
<div class="color htmlelement"></div><span>Html element</span>
</div>
<div>
<div class="color component"></div><span>Component</span>
</div>
<div>
<div class="color directive"></div><span>Html element with directive</span>
</div>
</div>
</div>
</div>
<script src="../js/libs/vis.min.js"></script>
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><!-- Begin page --><div class="wrapper"> <app-sidebar></app-sidebar> <!-- ============================================================== --> <!-- Start Page Content here --> <!-- ============================================================== --> <div id="content"> <app-topbar></app-topbar> <!-- Start Content--> <div class="container-fluid" appMenuSelection> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a routerLink="/home">Home</a></li> <li class="breadcrumb-item"><a routerLink="/accounts">Accounts</a></li> <li *ngIf="account" class="breadcrumb-item active" aria-current="page">{{account?.vcard?.fn[0].value}}</li> </ol> </nav> <div *ngIf="!account" class="text-center"> <div class="spinner-grow text-primary m-1" role="status" style="width: 3rem; height: 3rem;"> <span class="sr-only">Loading...</span> </div> <div class="spinner-grow text-primary m-1" role="status" style="width: 3rem; height: 3rem;"> <span class="sr-only">Loading...</span> </div> <div class="spinner-grow text-primary m-1" role="status" style="width: 3rem; height: 3rem;"> <span class="sr-only">Loading...</span> </div> </div> <div *ngIf="account" class="card mb-3"> <div class="row card-body"> <h3> <strong> {{account?.vcard?.fn[0].value}} </strong> </h3> <span class="ml-auto"><strong>Balance:</strong> {{account?.balance | tokenRatio}} SRF</span> <span class="ml-2"><strong>Created:</strong> {{account?.date_registered | date}}</span> <span class="ml-2"><strong>Address:</strong> <a href="{{bloxbergLink}}" target="_blank"> {{accountAddress}} </a> <img src="assets/images/checklist.svg" class="ml-2" height="20rem" (click)="copyAddress()" alt="Copy"> </span> </div> </div> <div *ngIf="account" class="card mt-3 mb-3"> <div class="card-body"> <form [formGroup]="accountInfoForm" (ngSubmit)="saveInfo()"> <div class="row form-inline"> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>Name(s): *</mat-label> <input matInput type="text" id="givenNames" placeholder="{{account?.vcard?.fn[0].value}}" value="{{account?.vcard?.fn[0].value}}" formControlName="name" [errorStateMatcher]="matcher"> <mat-error *ngIf="submitted && accountInfoFormStub.name.errors">Name is required.</mat-error> </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>Phone Number: </mat-label> <input matInput type="text" id="phoneNumber" placeholder="{{account?.vcard?.tel[0].value}}" value="{{account?.vcard?.tel[0].value}}" formControlName="phoneNumber" [errorStateMatcher]="matcher"> <mat-error *ngIf="submitted && accountInfoFormStub.phoneNumber.errors">Phone Number is required.</mat-error> </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>Age: </mat-label> <input matInput type="text" id="age" placeholder="{{account?.age}}" value="{{account?.age}}" formControlName="age" [errorStateMatcher]="matcher"> <mat-error *ngIf="submitted && accountInfoFormStub.age.errors">Age is required.</mat-error> </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label> ACCOUNT TYPE: </mat-label> <mat-select id="accountType" [(value)]="account.type" formControlName="type" [errorStateMatcher]="matcher">
var COMPONENTS = [{'name': 'AccountDetailsComponent', 'selector': 'app-account-details'},{'name': 'AccountsComponent', 'selector': 'app-accounts'},{'name': 'AccountSearchComponent', 'selector': 'app-account-search'},{'name': 'AdminComponent', 'selector': 'app-admin'},{'name': 'AppComponent', 'selector': 'app-root'},{'name': 'AuthComponent', 'selector': 'app-auth'},{'name': 'CreateAccountComponent', 'selector': 'app-create-account'},{'name': 'ErrorDialogComponent', 'selector': 'app-error-dialog'},{'name': 'FooterComponent', 'selector': 'app-footer'},{'name': 'FooterStubComponent', 'selector': 'app-footer'},{'name': 'OrganizationComponent', 'selector': 'app-organization'},{'name': 'PagesComponent', 'selector': 'app-pages'},{'name': 'SettingsComponent', 'selector': 'app-settings'},{'name': 'SidebarComponent', 'selector': 'app-sidebar'},{'name': 'SidebarStubComponent', 'selector': 'app-sidebar'},{'name': 'TokenDetailsComponent', 'selector': 'app-token-details'},{'name': 'TokensComponent', 'selector': 'app-tokens'},{'name': 'TopbarComponent', 'selector': 'app-topbar'},{'name': 'TopbarStubComponent', 'selector': 'app-topbar'},{'name': 'TransactionDetailsComponent', 'selector': 'app-transaction-details'},{'name': 'TransactionsComponent', 'selector': 'app-transactions'}];
var DIRECTIVES = [{'name': 'MenuSelectionDirective', 'selector': '[appMenuSelection]'},{'name': 'MenuToggleDirective', 'selector': '[appMenuToggle]'},{'name': 'PasswordToggleDirective', 'selector': '[appPasswordToggle]'},{'name': 'RouterLinkDirectiveStub', 'selector': '[routerLink]'}];
var ACTUAL_COMPONENT = {'name': 'AccountDetailsComponent'};
</script>
<script src="../js/tree.js"></script>
</div><div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> result-matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
<!-- END CONTENT -->
</div>
</div>
<script>
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
var COMPODOC_CURRENT_PAGE_CONTEXT = 'component';
var COMPODOC_CURRENT_PAGE_URL = 'AccountDetailsComponent.html';
var MAX_SEARCH_RESULTS = 15;
</script>
<script src="../js/libs/custom-elements.min.js"></script>
<script src="../js/libs/lit-html.js"></script>
<!-- Required to polyfill modern browsers as code is ES5 for IE... -->
<script src="../js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script>
<script src="../js/menu-wc.js" defer></script>
<script src="../js/libs/bootstrap-native.js"></script>
<script src="../js/libs/es6-shim.min.js"></script>
<script src="../js/libs/EventDispatcher.js"></script>
<script src="../js/libs/promise.min.js"></script>
<script src="../js/libs/zepto.min.js"></script>
<script src="../js/compodoc.js"></script>
<script src="../js/tabs.js"></script>
<script src="../js/menu.js"></script>
<script src="../js/libs/clipboard.min.js"></script>
<script src="../js/libs/prism.js"></script>
<script src="../js/sourceCode.js"></script>
<script src="../js/search/search.js"></script>
<script src="../js/search/lunr.min.js"></script>
<script src="../js/search/search-lunr.js"></script>
<script src="../js/search/search_index.js"></script>
<script src="../js/lazy-load-graphs.js"></script>
</body>
</html>