3010 lines
149 KiB
HTML
3010 lines
149 KiB
HTML
<!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="#tokenSymbol">tokenSymbol</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>
|
|
<span class="modifier">Async</span>
|
|
<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="67" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:67</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="285"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:285</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="200"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:200</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="204"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:204</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="281"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:281</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="243"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:243</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="256"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:256</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>
|
|
<span class="modifier">Async</span>
|
|
ngOnInit
|
|
</b>
|
|
<a href="#ngOnInit"><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>ngOnInit()</code>
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="89"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:89</a></div>
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td class="col-md-4">
|
|
|
|
<div class="io-description">
|
|
<b>Returns : </b> <code>Promise<void></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="269"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:269</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="222"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:222</a></div>
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td class="col-md-4">
|
|
|
|
<div class="io-description">
|
|
<b>Returns : </b> <code>Promise<void></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="212"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:212</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="208"
|
|
class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:208</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="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="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="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="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="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="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<AccountDetails></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="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="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="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="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>'all'</code>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="54" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:54</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<string></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="61" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:61</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<AreaName></a></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="56" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:56</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<AreaType></a></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="57" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:57</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="66" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:66</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<Category></a></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="55" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:55</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<string></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="63" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:63</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="64" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:64</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="65" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:65</a></div>
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm table-bordered">
|
|
<tbody>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<a name="tokenSymbol"></a>
|
|
<span class="name">
|
|
<b>
|
|
tokenSymbol</b>
|
|
<a href="#tokenSymbol"><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="67" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:67</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="58" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:58</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="../interfaces/Transaction.html" target="_self" >Array<Transaction></a></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="59" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:59</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<any></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="35" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:35</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="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="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<string></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<i>Default value : </i><code>['sender', 'recipient', 'value', 'created', 'type']</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="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<number></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="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="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>'all'</code>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="60" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:60</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<string></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<div class="io-line">Defined in <a href="" data-line="62" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:62</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('TransactionTablePaginator', {static: true})<br />
|
|
</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="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('TransactionTableSort', {static: true})<br />
|
|
</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="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<any></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="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<string></code>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="col-md-4">
|
|
<i>Default value : </i><code>['name', 'phone', 'created', 'balance', 'location']</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="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="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="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<number></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="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="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('UserTablePaginator', {static: true})<br />
|
|
</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="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('UserTableSort', {static: true})<br />
|
|
</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>
|
|
</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="218" class="link-to-prism">src/app/pages/accounts/account-details/account-details.component.ts:218</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 '@angular/core';
|
|
import { MatTableDataSource } from '@angular/material/table';
|
|
import { MatPaginator } from '@angular/material/paginator';
|
|
import { MatSort } from '@angular/material/sort';
|
|
import {
|
|
BlockSyncService,
|
|
LocationService,
|
|
LoggingService,
|
|
TokenService,
|
|
TransactionService,
|
|
UserService,
|
|
} from '@app/_services';
|
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
|
import { first } from 'rxjs/operators';
|
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
|
import { copyToClipboard, CustomErrorStateMatcher, exportCsv } from '@app/_helpers';
|
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
import { add0x, strip0x } from '@src/assets/js/ethtx/dist/hex';
|
|
import { environment } from '@src/environments/environment';
|
|
import { AccountDetails, AreaName, AreaType, Category, Transaction } from '@app/_models';
|
|
|
|
@Component({
|
|
selector: 'app-account-details',
|
|
templateUrl: './account-details.component.html',
|
|
styleUrls: ['./account-details.component.scss'],
|
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
})
|
|
export class AccountDetailsComponent implements OnInit {
|
|
transactionsDataSource: MatTableDataSource<any>;
|
|
transactionsDisplayedColumns: Array<string> = ['sender', 'recipient', 'value', 'created', 'type'];
|
|
transactionsDefaultPageSize: number = 10;
|
|
transactionsPageSizeOptions: Array<number> = [10, 20, 50, 100];
|
|
@ViewChild('TransactionTablePaginator', { static: true }) transactionTablePaginator: MatPaginator;
|
|
@ViewChild('TransactionTableSort', { static: true }) transactionTableSort: MatSort;
|
|
|
|
userDataSource: MatTableDataSource<any>;
|
|
userDisplayedColumns: Array<string> = ['name', 'phone', 'created', 'balance', 'location'];
|
|
usersDefaultPageSize: number = 10;
|
|
usersPageSizeOptions: Array<number> = [10, 20, 50, 100];
|
|
@ViewChild('UserTablePaginator', { static: true }) userTablePaginator: MatPaginator;
|
|
@ViewChild('UserTableSort', { static: true }) userTableSort: MatSort;
|
|
|
|
accountInfoForm: FormGroup;
|
|
account: AccountDetails;
|
|
accountAddress: string;
|
|
accountStatus: any;
|
|
accounts: Array<AccountDetails> = [];
|
|
accountsType: string = 'all';
|
|
categories: Array<Category>;
|
|
areaNames: Array<AreaName>;
|
|
areaTypes: Array<AreaType>;
|
|
transaction: any;
|
|
transactions: Array<Transaction>;
|
|
transactionsType: string = 'all';
|
|
accountTypes: Array<string>;
|
|
transactionsTypes: Array<string>;
|
|
genders: Array<string>;
|
|
matcher: CustomErrorStateMatcher = new CustomErrorStateMatcher();
|
|
submitted: boolean = false;
|
|
bloxbergLink: string;
|
|
tokenSymbol: 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.route.paramMap.subscribe((params: Params) => {
|
|
this.accountAddress = add0x(params.get('id'));
|
|
this.bloxbergLink =
|
|
'https://blockexplorer.bloxberg.org/address/' + this.accountAddress + '/transactions';
|
|
});
|
|
}
|
|
|
|
async ngOnInit(): Promise<void> {
|
|
this.accountInfoForm = this.formBuilder.group({
|
|
firstName: ['', Validators.required],
|
|
lastName: ['', Validators.required],
|
|
phoneNumber: ['', Validators.required],
|
|
age: ['', Validators.required],
|
|
type: ['', Validators.required],
|
|
bio: ['', Validators.required],
|
|
gender: ['', Validators.required],
|
|
businessCategory: ['', Validators.required],
|
|
userLocation: ['', Validators.required],
|
|
location: ['', Validators.required],
|
|
locationType: ['', Validators.required],
|
|
});
|
|
await this.blockSyncService.init();
|
|
await this.tokenService.init();
|
|
await this.transactionService.init();
|
|
await this.userService.init();
|
|
await this.blockSyncService.blockSync(this.accountAddress);
|
|
this.userService.resetAccountsList();
|
|
(await this.userService.getAccountByAddress(this.accountAddress, 100)).subscribe(
|
|
async (res) => {
|
|
if (res !== undefined) {
|
|
this.account = res;
|
|
this.cdr.detectChanges();
|
|
this.loggingService.sendInfoLevelMessage(this.account);
|
|
const fullName = this.account.vcard?.fn[0].value.split(' ');
|
|
this.accountInfoForm.patchValue({
|
|
firstName: fullName[0].split(',')[0],
|
|
lastName: fullName.slice(1).join(' '),
|
|
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 ||
|
|
this.userService.getCategoryByProduct(this.account.products[0]),
|
|
userLocation: this.account.location.area_name,
|
|
location:
|
|
this.account.location.area ||
|
|
this.locationService
|
|
.getAreaNameByLocation(this.account.location.area_name)
|
|
.pipe(first())
|
|
.subscribe((response) => {
|
|
return response;
|
|
}),
|
|
locationType:
|
|
this.account.location.area_type ||
|
|
this.locationService
|
|
.getAreaTypeByArea(this.accountInfoFormStub.location.value)
|
|
.pipe(first())
|
|
.subscribe((response) => {
|
|
return response;
|
|
}),
|
|
});
|
|
this.userService
|
|
.getAccountStatus(this.account.vcard?.tel[0].value)
|
|
.pipe(first())
|
|
.subscribe((response) => (this.accountStatus = response.status));
|
|
} else {
|
|
alert('Account not found!');
|
|
}
|
|
}
|
|
);
|
|
this.userService.accountsSubject.subscribe((accounts) => {
|
|
this.userDataSource = new MatTableDataSource<any>(accounts);
|
|
this.userDataSource.paginator = this.userTablePaginator;
|
|
this.userDataSource.sort = this.userTableSort;
|
|
this.accounts = accounts;
|
|
this.cdr.detectChanges();
|
|
});
|
|
|
|
this.transactionService.transactionsSubject.subscribe((transactions) => {
|
|
this.transactionsDataSource = new MatTableDataSource<any>(transactions);
|
|
this.transactionsDataSource.paginator = this.transactionTablePaginator;
|
|
this.transactionsDataSource.sort = this.transactionTableSort;
|
|
this.transactions = transactions;
|
|
this.cdr.detectChanges();
|
|
});
|
|
this.userService
|
|
.getCategories()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.categories = res));
|
|
this.locationService
|
|
.getAreaNames()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.areaNames = res));
|
|
this.locationService
|
|
.getAreaTypes()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.areaTypes = res));
|
|
this.userService
|
|
.getAccountTypes()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.accountTypes = res));
|
|
this.userService
|
|
.getTransactionTypes()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.transactionsTypes = res));
|
|
this.userService
|
|
.getGenders()
|
|
.pipe(first())
|
|
.subscribe((res) => (this.genders = res));
|
|
this.tokenService.load.subscribe(async (status: boolean) => {
|
|
if (status) {
|
|
this.tokenSymbol = await this.tokenService.getTokenSymbol();
|
|
}
|
|
});
|
|
}
|
|
|
|
doTransactionFilter(value: string): void {
|
|
this.transactionsDataSource.filter = value.trim().toLocaleLowerCase();
|
|
}
|
|
|
|
doUserFilter(value: string): void {
|
|
this.userDataSource.filter = value.trim().toLocaleLowerCase();
|
|
}
|
|
|
|
viewTransaction(transaction): void {
|
|
this.transaction = transaction;
|
|
}
|
|
|
|
viewAccount(account): void {
|
|
this.router.navigateByUrl(
|
|
`/accounts/${strip0x(account.identities.evm[`bloxberg:${environment.bloxbergChainId}`][0])}`
|
|
);
|
|
}
|
|
|
|
get accountInfoFormStub(): any {
|
|
return this.accountInfoForm.controls;
|
|
}
|
|
|
|
async saveInfo(): Promise<void> {
|
|
this.submitted = true;
|
|
if (this.accountInfoForm.invalid || !confirm(`Change user's profile information?`)) {
|
|
return;
|
|
}
|
|
const accountKey = await this.userService.changeAccountInfo(
|
|
this.accountAddress,
|
|
this.accountInfoFormStub.firstName.value + ', ' + this.accountInfoFormStub.lastName.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 = false;
|
|
}
|
|
|
|
filterAccounts(): void {
|
|
if (this.accountsType === 'all') {
|
|
this.userService.accountsSubject.subscribe((accounts) => {
|
|
this.userDataSource.data = accounts;
|
|
this.accounts = accounts;
|
|
});
|
|
} else {
|
|
this.userDataSource.data = this.accounts.filter(
|
|
(account) => account.type === this.accountsType
|
|
);
|
|
}
|
|
}
|
|
|
|
filterTransactions(): void {
|
|
if (this.transactionsType === 'all') {
|
|
this.transactionService.transactionsSubject.subscribe((transactions) => {
|
|
this.transactionsDataSource.data = transactions;
|
|
this.transactions = transactions;
|
|
});
|
|
} else {
|
|
this.transactionsDataSource.data = this.transactions.filter(
|
|
(transaction) => transaction.type === this.transactionsType
|
|
);
|
|
}
|
|
}
|
|
|
|
resetPin(): void {
|
|
if (!confirm(`Reset user's pin?`)) {
|
|
return;
|
|
}
|
|
this.userService
|
|
.resetPin(this.account.vcard.tel[0].value)
|
|
.pipe(first())
|
|
.subscribe((res) => {
|
|
this.loggingService.sendInfoLevelMessage(`Response: ${res}`);
|
|
});
|
|
}
|
|
|
|
downloadCsv(data: any, filename: string): void {
|
|
exportCsv(data, filename);
|
|
}
|
|
|
|
copyAddress(): void {
|
|
if (copyToClipboard(this.accountAddress)) {
|
|
this.snackBar.open(this.accountAddress + ' copied successfully!', 'Close', {
|
|
duration: 3000,
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</code></pre>
|
|
</div>
|
|
|
|
<div class="tab-pane fade " id="c-templateData">
|
|
<pre class="line-numbers"><code class="language-html"><!-- 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 }}
|
|
{{ tokenSymbol | uppercase }}</span
|
|
>
|
|
<span class="ml-2"
|
|
><strong>Created:</strong> {{ account?.date_registered | unixDate }}</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>First Name: *</mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
id="firstName"
|
|
placeholder="{{ account?.vcard?.fn[0].value.split(' ')[0] }}"
|
|
value="{{ account?.vcard?.fn[0].value.split(' ')[0] }}"
|
|
formControlName="firstName"
|
|
[errorStateMatcher]="matcher"
|
|
/>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.firstName.errors"
|
|
>First Name is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label>Last Name(s): *</mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
id="lastName"
|
|
placeholder="{{ account?.vcard?.fn[0].value.split(' ').slice(1).join(' ') }}"
|
|
value="{{ account?.vcard?.fn[0].value.split(' ').slice(1).join(' ') }}"
|
|
formControlName="lastName"
|
|
[errorStateMatcher]="matcher"
|
|
/>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.lastName.errors"
|
|
>Last 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"
|
|
>
|
|
<mat-option *ngFor="let accountType of accountTypes" [value]="accountType">
|
|
{{ accountType | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.type.errors"
|
|
>Type is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label>Bio: </mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
id="bio"
|
|
placeholder="{{ account?.products }}"
|
|
value="{{ account?.products }}"
|
|
formControlName="bio"
|
|
[errorStateMatcher]="matcher"
|
|
/>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.bio.errors"
|
|
>Bio is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> GENDER: </mat-label>
|
|
<mat-select
|
|
id="gender"
|
|
[(value)]="account.gender"
|
|
formControlName="gender"
|
|
[errorStateMatcher]="matcher"
|
|
>
|
|
<mat-option *ngFor="let gender of genders" [value]="gender">
|
|
{{ gender | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.gender.errors"
|
|
>Gender is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> BUSINESS CATEGORY: </mat-label>
|
|
<mat-select
|
|
id="businessCategory"
|
|
[(value)]="account.category"
|
|
formControlName="businessCategory"
|
|
[errorStateMatcher]="matcher"
|
|
>
|
|
<mat-option *ngFor="let category of categories" [value]="category">
|
|
{{ category | titlecase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.businessCategory.errors">
|
|
Category is required.
|
|
</mat-error>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label>User Location: </mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
id="userLocation"
|
|
placeholder="{{ account?.location.area_name }}"
|
|
value="{{ account?.location.area_name }}"
|
|
formControlName="userLocation"
|
|
[errorStateMatcher]="matcher"
|
|
/>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.userLocation.errors">
|
|
User Location is required.
|
|
</mat-error>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> LOCATION: </mat-label>
|
|
<mat-select
|
|
id="location"
|
|
[(value)]="account.location.area"
|
|
formControlName="location"
|
|
[errorStateMatcher]="matcher"
|
|
>
|
|
<mat-option *ngFor="let area of areaNames" [value]="area">
|
|
{{ area | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.location.errors"
|
|
>Location is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> LOCATION TYPE: </mat-label>
|
|
<mat-select
|
|
id="locationType"
|
|
[(value)]="account.location.area_type"
|
|
formControlName="locationType"
|
|
[errorStateMatcher]="matcher"
|
|
>
|
|
<mat-option *ngFor="let type of areaTypes" [value]="type">
|
|
{{ type | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
<mat-error *ngIf="submitted && accountInfoFormStub.locationType.errors"
|
|
>Location Type is required.</mat-error
|
|
>
|
|
</mat-form-field>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<button
|
|
mat-raised-button
|
|
color="primary"
|
|
type="button"
|
|
class="btn btn-outline-primary mb-3"
|
|
>
|
|
Add User KYC
|
|
</button>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<button
|
|
mat-raised-button
|
|
color="primary"
|
|
type="button"
|
|
class="btn btn-outline-success mb-3"
|
|
(click)="resetPin()"
|
|
>
|
|
Reset Pin
|
|
</button>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<button
|
|
mat-raised-button
|
|
color="warn"
|
|
type="button"
|
|
class="btn btn-outline-danger mb-3"
|
|
>
|
|
Delete User
|
|
</button>
|
|
</div>
|
|
|
|
<div class="col-md-6 col-lg-4">
|
|
<button
|
|
mat-raised-button
|
|
color="primary"
|
|
type="submit"
|
|
class="btn btn-outline-primary"
|
|
>
|
|
SAVE DETAILS
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mb-3">
|
|
<mat-card-title class="card-header"> USER </mat-card-title>
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-striped table-bordered table-hover">
|
|
<caption>
|
|
1 user
|
|
</caption>
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<th scope="col">NAME</th>
|
|
<th scope="col">BALANCE</th>
|
|
<th scope="col">CREATED</th>
|
|
<th scope="col">STATUS</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>{{ account?.vcard?.fn[0].value }}</td>
|
|
<td>{{ account?.balance | tokenRatio }} {{ tokenSymbol | uppercase }}</td>
|
|
<td>{{ account?.date_registered | unixDate }}</td>
|
|
<td>
|
|
<span class="badge badge-success badge-pill">
|
|
{{ accountStatus }}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<mat-tab-group *ngIf="account" dynamicHeight mat-align-tabs="start">
|
|
<mat-tab label="Transactions">
|
|
<app-transaction-details
|
|
[transaction]="transaction"
|
|
(closeWindow)="transaction = $event"
|
|
></app-transaction-details>
|
|
<div class="card mt-1">
|
|
<div class="card-header">
|
|
<div class="row">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> TRANSACTION TYPE </mat-label>
|
|
<mat-select
|
|
id="transferSelect"
|
|
[(value)]="transactionsType"
|
|
(selectionChange)="filterTransactions()"
|
|
>
|
|
<mat-option value="all">ALL TRANSFERS</mat-option>
|
|
<mat-option
|
|
*ngFor="let transactionType of transactionsTypes"
|
|
[value]="transactionType"
|
|
>
|
|
{{ transactionType | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
</mat-form-field>
|
|
<button
|
|
mat-raised-button
|
|
color="primary"
|
|
type="button"
|
|
class="btn btn-outline-primary ml-auto mr-2"
|
|
(click)="downloadCsv(transactions, 'transactions')"
|
|
>
|
|
EXPORT
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> Filter </mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
(keyup)="doTransactionFilter($event.target.value)"
|
|
placeholder="Filter"
|
|
/>
|
|
<mat-icon matSuffix>search</mat-icon>
|
|
</mat-form-field>
|
|
|
|
<table
|
|
mat-table
|
|
class="mat-elevation-z10"
|
|
[dataSource]="transactionsDataSource"
|
|
matSort
|
|
matSortActive="created"
|
|
#TransactionTableSort="matSort"
|
|
matSortDirection="asc"
|
|
matSortDisableClear
|
|
>
|
|
<ng-container matColumnDef="sender">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Sender</th>
|
|
<td mat-cell *matCellDef="let transaction">
|
|
{{ transaction?.sender?.vcard.fn[0].value || transaction.from }}
|
|
</td>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="recipient">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Recipient</th>
|
|
<td mat-cell *matCellDef="let transaction">
|
|
{{ transaction?.recipient?.vcard.fn[0].value || transaction.to }}
|
|
</td>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="value">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Value</th>
|
|
<td mat-cell *matCellDef="let transaction">
|
|
<span *ngIf="transaction.type == 'transaction'"
|
|
>{{ transaction?.value | tokenRatio }} {{ tokenSymbol | uppercase }}</span
|
|
>
|
|
<span *ngIf="transaction.type == 'conversion'"
|
|
>{{ transaction?.toValue | tokenRatio }} {{ tokenSymbol | uppercase }}</span
|
|
>
|
|
</td>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="created">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>Created</th>
|
|
<td mat-cell *matCellDef="let transaction">
|
|
{{ transaction?.tx.timestamp | unixDate }}
|
|
</td>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="type">
|
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>TYPE</th>
|
|
<td mat-cell *matCellDef="let transaction">
|
|
<span class="badge badge-success badge-pill"> {{ transaction?.type }} </span>
|
|
</td>
|
|
</ng-container>
|
|
|
|
<tr mat-header-row *matHeaderRowDef="transactionsDisplayedColumns"></tr>
|
|
<tr
|
|
mat-row
|
|
*matRowDef="let transaction; columns: transactionsDisplayedColumns"
|
|
matRipple
|
|
(click)="viewTransaction(transaction)"
|
|
></tr>
|
|
</table>
|
|
|
|
<mat-paginator
|
|
#TransactionTablePaginator="matPaginator"
|
|
[pageSize]="transactionsDefaultPageSize"
|
|
[pageSizeOptions]="transactionsPageSizeOptions"
|
|
showFirstLastButtons
|
|
></mat-paginator>
|
|
</div>
|
|
</div>
|
|
</mat-tab>
|
|
|
|
<mat-tab label="Users">
|
|
<div class="card mt-1">
|
|
<mat-card-title class="card-header"> Accounts </mat-card-title>
|
|
<div class="card-body">
|
|
<div class="row card-header">
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> ACCOUNT TYPE </mat-label>
|
|
<mat-select
|
|
id="typeSelect"
|
|
[(value)]="accountsType"
|
|
(selectionChange)="filterAccounts()"
|
|
>
|
|
<mat-option value="all">ALL</mat-option>
|
|
<mat-option *ngFor="let accountType of accountTypes" [value]="accountType">
|
|
{{ accountType | uppercase }}
|
|
</mat-option>
|
|
</mat-select>
|
|
</mat-form-field>
|
|
<button
|
|
mat-raised-button
|
|
color="primary"
|
|
type="button"
|
|
class="btn btn-outline-primary ml-auto mr-2"
|
|
(click)="downloadCsv(accounts, 'accounts')"
|
|
>
|
|
EXPORT
|
|
</button>
|
|
</div>
|
|
|
|
<mat-form-field appearance="outline">
|
|
<mat-label> Filter </mat-label>
|
|
<input
|
|
matInput
|
|
type="text"
|
|
(keyup)="doUserFilter($event.target.value)"
|
|
placeholder="Filter"
|
|
/>
|
|
<mat-icon matSuffix>search</mat-icon>
|
|
</mat-form-field>
|
|
|
|
<mat-table
|
|
class="mat-elevation-z10"
|
|
[dataSource]="userDataSource"
|
|
matSort
|
|
#UserTableSort="matSort"
|
|
matSortActive="created"
|
|
matSortDirection="desc"
|
|
matSortDisableClear
|
|
>
|
|
<ng-container matColumnDef="name">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header> NAME </mat-header-cell>
|
|
<mat-cell *matCellDef="let user"> {{ user?.vcard.fn[0].value }} </mat-cell>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="phone">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header>
|
|
PHONE NUMBER
|
|
</mat-header-cell>
|
|
<mat-cell *matCellDef="let user"> {{ user?.vcard.tel[0].value }} </mat-cell>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="created">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header> CREATED </mat-header-cell>
|
|
<mat-cell *matCellDef="let user">
|
|
{{ user?.date_registered | unixDate }}
|
|
</mat-cell>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="balance">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header> BALANCE </mat-header-cell>
|
|
<mat-cell *matCellDef="let user">
|
|
{{ user?.balance | tokenRatio }} {{ tokenSymbol | uppercase }}
|
|
</mat-cell>
|
|
</ng-container>
|
|
|
|
<ng-container matColumnDef="location">
|
|
<mat-header-cell *matHeaderCellDef mat-sort-header> LOCATION </mat-header-cell>
|
|
<mat-cell *matCellDef="let user"> {{ user?.location.area_name }} </mat-cell>
|
|
</ng-container>
|
|
|
|
<mat-header-row *matHeaderRowDef="userDisplayedColumns"></mat-header-row>
|
|
<mat-row
|
|
*matRowDef="let account; columns: userDisplayedColumns"
|
|
(click)="viewAccount(account)"
|
|
matRipple
|
|
></mat-row>
|
|
</mat-table>
|
|
|
|
<mat-paginator
|
|
#UserTablePaginator="matPaginator"
|
|
[pageSize]="usersDefaultPageSize"
|
|
[pageSizeOptions]="usersPageSizeOptions"
|
|
showFirstLastButtons
|
|
></mat-paginator>
|
|
</div>
|
|
</div>
|
|
</mat-tab>
|
|
</mat-tab-group>
|
|
</div>
|
|
<app-footer appMenuSelection></app-footer>
|
|
</div>
|
|
<!-- ============================================================== -->
|
|
<!-- End Page content -->
|
|
<!-- ============================================================== -->
|
|
</div>
|
|
</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 }} {{ tokenSymbol | uppercase }}</span > <span class="ml-2" ><strong>Created:</strong> {{ account?.date_registered | unixDate }}</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>First Name: *</mat-label> <input matInput type="text" id="firstName" placeholder="{{ account?.vcard?.fn[0].value.split(\' \')[0] }}" value="{{ account?.vcard?.fn[0].value.split(\' \')[0] }}" formControlName="firstName" [errorStateMatcher]="matcher" /> <mat-error *ngIf="submitted && accountInfoFormStub.firstName.errors" >First Name is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>Last Name(s): *</mat-label> <input matInput type="text" id="lastName" placeholder="{{ account?.vcard?.fn[0].value.split(\' \').slice(1).join(\' \') }}" value="{{ account?.vcard?.fn[0].value.split(\' \').slice(1).join(\' \') }}" formControlName="lastName" [errorStateMatcher]="matcher" /> <mat-error *ngIf="submitted && accountInfoFormStub.lastName.errors" >Last 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" > <mat-option *ngFor="let accountType of accountTypes" [value]="accountType"> {{ accountType | uppercase }} </mat-option> </mat-select> <mat-error *ngIf="submitted && accountInfoFormStub.type.errors" >Type is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>Bio: </mat-label> <input matInput type="text" id="bio" placeholder="{{ account?.products }}" value="{{ account?.products }}" formControlName="bio" [errorStateMatcher]="matcher" /> <mat-error *ngIf="submitted && accountInfoFormStub.bio.errors" >Bio is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label> GENDER: </mat-label> <mat-select id="gender" [(value)]="account.gender" formControlName="gender" [errorStateMatcher]="matcher" > <mat-option *ngFor="let gender of genders" [value]="gender"> {{ gender | uppercase }} </mat-option> </mat-select> <mat-error *ngIf="submitted && accountInfoFormStub.gender.errors" >Gender is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label> BUSINESS CATEGORY: </mat-label> <mat-select id="businessCategory" [(value)]="account.category" formControlName="businessCategory" [errorStateMatcher]="matcher" > <mat-option *ngFor="let category of categories" [value]="category"> {{ category | titlecase }} </mat-option> </mat-select> <mat-error *ngIf="submitted && accountInfoFormStub.businessCategory.errors"> Category is required. </mat-error> </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label>User Location: </mat-label> <input matInput type="text" id="userLocation" placeholder="{{ account?.location.area_name }}" value="{{ account?.location.area_name }}" formControlName="userLocation" [errorStateMatcher]="matcher" /> <mat-error *ngIf="submitted && accountInfoFormStub.userLocation.errors"> User Location is required. </mat-error> </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label> LOCATION: </mat-label> <mat-select id="location" [(value)]="account.location.area" formControlName="location" [errorStateMatcher]="matcher" > <mat-option *ngFor="let area of areaNames" [value]="area"> {{ area | uppercase }} </mat-option> </mat-select> <mat-error *ngIf="submitted && accountInfoFormStub.location.errors" >Location is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <mat-form-field appearance="outline"> <mat-label> LOCATION TYPE: </mat-label> <mat-select id="locationType" [(value)]="account.location.area_type" formControlName="locationType" [errorStateMatcher]="matcher" > <mat-option *ngFor="let type of areaTypes" [value]="type"> {{ type | uppercase }} </mat-option> </mat-select> <mat-error *ngIf="submitted && accountInfoFormStub.locationType.errors" >Location Type is required.</mat-error > </mat-form-field> </div> <div class="col-md-6 col-lg-4"> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary mb-3" > Add User KYC </button> </div> <div class="col-md-6 col-lg-4"> <button mat-raised-button color="primary" type="button" class="btn btn-outline-success mb-3" (click)="resetPin()" > Reset Pin </button> </div> <div class="col-md-6 col-lg-4"> <button mat-raised-button color="warn" type="button" class="btn btn-outline-danger mb-3" > Delete User </button> </div> <div class="col-md-6 col-lg-4"> <button mat-raised-button color="primary" type="submit" class="btn btn-outline-primary" > SAVE DETAILS </button> </div> </div> </form> </div> </div> <div class="card mb-3"> <mat-card-title class="card-header"> USER </mat-card-title> <div class="card-body"> <div class="table-responsive"> <table class="table table-striped table-bordered table-hover"> <caption> 1 user </caption> <thead class="thead-dark"> <tr> <th scope="col">NAME</th> <th scope="col">BALANCE</th> <th scope="col">CREATED</th> <th scope="col">STATUS</th> </tr> </thead> <tbody> <tr> <td>{{ account?.vcard?.fn[0].value }}</td> <td>{{ account?.balance | tokenRatio }} {{ tokenSymbol | uppercase }}</td> <td>{{ account?.date_registered | unixDate }}</td> <td> <span class="badge badge-success badge-pill"> {{ accountStatus }} </span> </td> </tr> </tbody> </table> </div> </div> </div> <mat-tab-group *ngIf="account" dynamicHeight mat-align-tabs="start"> <mat-tab label="Transactions"> <app-transaction-details [transaction]="transaction" (closeWindow)="transaction = $event" ></app-transaction-details> <div class="card mt-1"> <div class="card-header"> <div class="row"> <mat-form-field appearance="outline"> <mat-label> TRANSACTION TYPE </mat-label> <mat-select id="transferSelect" [(value)]="transactionsType" (selectionChange)="filterTransactions()" > <mat-option value="all">ALL TRANSFERS</mat-option> <mat-option *ngFor="let transactionType of transactionsTypes" [value]="transactionType" > {{ transactionType | uppercase }} </mat-option> </mat-select> </mat-form-field> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv(transactions, \'transactions\')" > EXPORT </button> </div> </div> <div class="card-body"> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doTransactionFilter($event.target.value)" placeholder="Filter" /> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <table mat-table class="mat-elevation-z10" [dataSource]="transactionsDataSource" matSort matSortActive="created" #TransactionTableSort="matSort" matSortDirection="asc" matSortDisableClear > <ng-container matColumnDef="sender"> <th mat-header-cell *matHeaderCellDef mat-sort-header>Sender</th> <td mat-cell *matCellDef="let transaction"> {{ transaction?.sender?.vcard.fn[0].value || transaction.from }} </td> </ng-container> <ng-container matColumnDef="recipient"> <th mat-header-cell *matHeaderCellDef mat-sort-header>Recipient</th> <td mat-cell *matCellDef="let transaction"> {{ transaction?.recipient?.vcard.fn[0].value || transaction.to }} </td> </ng-container> <ng-container matColumnDef="value"> <th mat-header-cell *matHeaderCellDef mat-sort-header>Value</th> <td mat-cell *matCellDef="let transaction"> <span *ngIf="transaction.type == \'transaction\'" >{{ transaction?.value | tokenRatio }} {{ tokenSymbol | uppercase }}</span > <span *ngIf="transaction.type == \'conversion\'" >{{ transaction?.toValue | tokenRatio }} {{ tokenSymbol | uppercase }}</span > </td> </ng-container> <ng-container matColumnDef="created"> <th mat-header-cell *matHeaderCellDef mat-sort-header>Created</th> <td mat-cell *matCellDef="let transaction"> {{ transaction?.tx.timestamp | unixDate }} </td> </ng-container> <ng-container matColumnDef="type"> <th mat-header-cell *matHeaderCellDef mat-sort-header>TYPE</th> <td mat-cell *matCellDef="let transaction"> <span class="badge badge-success badge-pill"> {{ transaction?.type }} </span> </td> </ng-container> <tr mat-header-row *matHeaderRowDef="transactionsDisplayedColumns"></tr> <tr mat-row *matRowDef="let transaction; columns: transactionsDisplayedColumns" matRipple (click)="viewTransaction(transaction)" ></tr> </table> <mat-paginator #TransactionTablePaginator="matPaginator" [pageSize]="transactionsDefaultPageSize" [pageSizeOptions]="transactionsPageSizeOptions" showFirstLastButtons ></mat-paginator> </div> </div> </mat-tab> <mat-tab label="Users"> <div class="card mt-1"> <mat-card-title class="card-header"> Accounts </mat-card-title> <div class="card-body"> <div class="row card-header"> <mat-form-field appearance="outline"> <mat-label> ACCOUNT TYPE </mat-label> <mat-select id="typeSelect" [(value)]="accountsType" (selectionChange)="filterAccounts()" > <mat-option value="all">ALL</mat-option> <mat-option *ngFor="let accountType of accountTypes" [value]="accountType"> {{ accountType | uppercase }} </mat-option> </mat-select> </mat-form-field> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv(accounts, \'accounts\')" > EXPORT </button> </div> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doUserFilter($event.target.value)" placeholder="Filter" /> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10" [dataSource]="userDataSource" matSort #UserTableSort="matSort" matSortActive="created" matSortDirection="desc" matSortDisableClear > <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef mat-sort-header> NAME </mat-header-cell> <mat-cell *matCellDef="let user"> {{ user?.vcard.fn[0].value }} </mat-cell> </ng-container> <ng-container matColumnDef="phone"> <mat-header-cell *matHeaderCellDef mat-sort-header> PHONE NUMBER </mat-header-cell> <mat-cell *matCellDef="let user"> {{ user?.vcard.tel[0].value }} </mat-cell> </ng-container> <ng-container matColumnDef="created"> <mat-header-cell *matHeaderCellDef mat-sort-header> CREATED </mat-header-cell> <mat-cell *matCellDef="let user"> {{ user?.date_registered | unixDate }} </mat-cell> </ng-container> <ng-container matColumnDef="balance"> <mat-header-cell *matHeaderCellDef mat-sort-header> BALANCE </mat-header-cell> <mat-cell *matCellDef="let user"> {{ user?.balance | tokenRatio }} {{ tokenSymbol | uppercase }} </mat-cell> </ng-container> <ng-container matColumnDef="location"> <mat-header-cell *matHeaderCellDef mat-sort-header> LOCATION </mat-header-cell> <mat-cell *matCellDef="let user"> {{ user?.location.area_name }} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="userDisplayedColumns"></mat-header-row> <mat-row *matRowDef="let account; columns: userDisplayedColumns" (click)="viewAccount(account)" matRipple ></mat-row> </mat-table> <mat-paginator #UserTablePaginator="matPaginator" [pageSize]="usersDefaultPageSize" [pageSizeOptions]="usersPageSizeOptions" showFirstLastButtons ></mat-paginator> </div> </div> </mat-tab> </mat-tab-group> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
|
|
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': 'NetworkStatusComponent', 'selector': 'app-network-status'},{'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': '[appRouterLink]'}];
|
|
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>
|