Update docs.

This commit is contained in:
Spencer Ofwiti
2021-06-14 14:28:53 +03:00
parent 7923c63aa8
commit 4ed3d108cb
94 changed files with 10372 additions and 2785 deletions

File diff suppressed because one or more lines are too long

View File

@@ -176,6 +176,7 @@
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
@@ -310,6 +311,7 @@
<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>
@@ -318,7 +320,8 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<span class="modifier-icon icon ion-ios-reset"></span>
<code>ngOnInit()</code>
</td>
</tr>
@@ -335,7 +338,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -366,8 +369,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="85"
class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:85</a></div>
<div class="io-line">Defined in <a href="" data-line="86"
class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:86</a></div>
</td>
</tr>
@@ -405,8 +408,8 @@
<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-search/account-search.component.ts:55</a></div>
<div class="io-line">Defined in <a href="" data-line="56"
class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:56</a></div>
</td>
</tr>
@@ -446,8 +449,8 @@
<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-search/account-search.component.ts:65</a></div>
<div class="io-line">Defined in <a href="" data-line="66"
class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:66</a></div>
</td>
</tr>
@@ -796,7 +799,7 @@
</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-search/account-search.component.ts:45</a></div>
<div class="io-line">Defined in <a href="" data-line="46" class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:46</a></div>
</td>
</tr>
@@ -818,7 +821,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="48" class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:48</a></div>
<div class="io-line">Defined in <a href="" data-line="49" class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:49</a></div>
</td>
</tr>
@@ -840,7 +843,7 @@
</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-search/account-search.component.ts:51</a></div>
<div class="io-line">Defined in <a href="" data-line="52" class="link-to-prism">src/app/pages/accounts/account-search/account-search.component.ts:52</a></div>
</td>
</tr>
@@ -883,7 +886,8 @@ export class AccountSearchComponent implements OnInit {
private router: Router
) {}
ngOnInit(): void {
async ngOnInit(): Promise&lt;void&gt; {
await this.userService.init();
this.nameSearchForm &#x3D; this.formBuilder.group({
name: [&#x27;&#x27;, Validators.required],
});

View File

@@ -182,6 +182,7 @@
<a href="#filterAccounts">filterAccounts</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
@@ -307,8 +308,8 @@
<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/accounts.component.ts:59</a></div>
<div class="io-line">Defined in <a href="" data-line="57"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:57</a></div>
</td>
</tr>
@@ -377,8 +378,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="88"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:88</a></div>
<div class="io-line">Defined in <a href="" data-line="86"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:86</a></div>
</td>
</tr>
@@ -416,8 +417,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="69"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:69</a></div>
<div class="io-line">Defined in <a href="" data-line="67"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:67</a></div>
</td>
</tr>
@@ -440,6 +441,7 @@
<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>
@@ -448,15 +450,16 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<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="50"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:50</a></div>
<div class="io-line">Defined in <a href="" data-line="37"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:37</a></div>
</td>
</tr>
@@ -465,7 +468,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -494,8 +497,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="80"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:80</a></div>
<div class="io-line">Defined in <a href="" data-line="78"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:78</a></div>
</td>
</tr>
@@ -535,8 +538,8 @@
<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/accounts.component.ts:63</a></div>
<div class="io-line">Defined in <a href="" data-line="61"
class="link-to-prism">src/app/pages/accounts/accounts.component.ts:61</a></div>
</td>
</tr>
@@ -911,28 +914,26 @@ export class AccountsComponent implements OnInit {
private userService: UserService,
private loggingService: LoggingService,
private router: Router
) {
(async () &#x3D;&gt; {
try {
// TODO it feels like this should be in the onInit handler
await this.userService.loadAccounts(100);
} catch (error) {
this.loggingService.sendErrorLevelMessage(&#x27;Failed to load accounts&#x27;, this, { error });
}
})();
this.userService
.getAccountTypes()
.pipe(first())
.subscribe((res) &#x3D;&gt; (this.accountTypes &#x3D; res));
}
) {}
ngOnInit(): void {
async ngOnInit(): Promise&lt;void&gt; {
await this.userService.init();
try {
// TODO it feels like this should be in the onInit handler
await this.userService.loadAccounts(100);
} catch (error) {
this.loggingService.sendErrorLevelMessage(&#x27;Failed to load accounts&#x27;, this, { error });
}
this.userService.accountsSubject.subscribe((accounts) &#x3D;&gt; {
this.dataSource &#x3D; new MatTableDataSource&lt;any&gt;(accounts);
this.dataSource.paginator &#x3D; this.paginator;
this.dataSource.sort &#x3D; this.sort;
this.accounts &#x3D; accounts;
});
this.userService
.getAccountTypes()
.pipe(first())
.subscribe((res) &#x3D;&gt; (this.accountTypes &#x3D; res));
}
doFilter(value: string): void {
@@ -1030,7 +1031,7 @@ export class AccountsComponent implements OnInit {
&lt;ng-container matColumnDef&#x3D;&quot;created&quot;&gt;
&lt;mat-header-cell *matHeaderCellDef mat-sort-header&gt; CREATED &lt;/mat-header-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.date_registered | date}} &lt;/mat-cell&gt;
&lt;mat-cell *matCellDef&#x3D;&quot;let user&quot;&gt; {{user?.date_registered | unixDate}} &lt;/mat-cell&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;balance&quot;&gt;
@@ -1092,7 +1093,7 @@ export class AccountsComponent implements OnInit {
<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 active" aria-current="page">Accounts</li> </ol> </nav> <div class="card"> <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" routerLink="/accounts/search"> SEARCH </button> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary mr-2" (click)="downloadCsv()"> EXPORT </button> </div> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10" [dataSource]="dataSource" 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 | date}} </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}} </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="displayedColumns"></mat-header-row> <mat-row *matRowDef="let account; columns: displayedColumns" (click)="viewAccount(account)" matRipple></mat-row> </mat-table> <mat-paginator [pageSize]="defaultPageSize" [pageSizeOptions]="pageSizeOptions" showFirstLastButtons></mat-paginator> </div> </div> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
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 active" aria-current="page">Accounts</li> </ol> </nav> <div class="card"> <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" routerLink="/accounts/search"> SEARCH </button> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary mr-2" (click)="downloadCsv()"> EXPORT </button> </div> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10" [dataSource]="dataSource" 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}} </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="displayedColumns"></mat-header-row> <mat-row *matRowDef="let account; columns: displayedColumns" (click)="viewAccount(account)" matRipple></mat-row> </mat-table> <mat-paginator [pageSize]="defaultPageSize" [pageSizeOptions]="pageSizeOptions" showFirstLastButtons></mat-paginator> </div> </div> </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': 'AccountsComponent'};

View File

@@ -182,6 +182,7 @@
<a href="#expandCollapse">expandCollapse</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
</ul>
@@ -288,8 +289,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="49"
class="link-to-prism">src/app/pages/admin/admin.component.ts:49</a></div>
<div class="io-line">Defined in <a href="" data-line="50"
class="link-to-prism">src/app/pages/admin/admin.component.ts:50</a></div>
</td>
</tr>
@@ -358,8 +359,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="53"
class="link-to-prism">src/app/pages/admin/admin.component.ts:53</a></div>
<div class="io-line">Defined in <a href="" data-line="54"
class="link-to-prism">src/app/pages/admin/admin.component.ts:54</a></div>
</td>
</tr>
@@ -428,8 +429,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="64"
class="link-to-prism">src/app/pages/admin/admin.component.ts:64</a></div>
<div class="io-line">Defined in <a href="" data-line="65"
class="link-to-prism">src/app/pages/admin/admin.component.ts:65</a></div>
</td>
</tr>
@@ -498,8 +499,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="45"
class="link-to-prism">src/app/pages/admin/admin.component.ts:45</a></div>
<div class="io-line">Defined in <a href="" data-line="46"
class="link-to-prism">src/app/pages/admin/admin.component.ts:46</a></div>
</td>
</tr>
@@ -568,8 +569,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="79"
class="link-to-prism">src/app/pages/admin/admin.component.ts:79</a></div>
<div class="io-line">Defined in <a href="" data-line="80"
class="link-to-prism">src/app/pages/admin/admin.component.ts:80</a></div>
</td>
</tr>
@@ -607,8 +608,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="75"
class="link-to-prism">src/app/pages/admin/admin.component.ts:75</a></div>
<div class="io-line">Defined in <a href="" data-line="76"
class="link-to-prism">src/app/pages/admin/admin.component.ts:76</a></div>
</td>
</tr>
@@ -658,6 +659,7 @@
<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>
@@ -666,15 +668,16 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<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="43"
class="link-to-prism">src/app/pages/admin/admin.component.ts:43</a></div>
<div class="io-line">Defined in <a href="" data-line="35"
class="link-to-prism">src/app/pages/admin/admin.component.ts:35</a></div>
</td>
</tr>
@@ -683,7 +686,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -919,7 +922,10 @@ export class AdminComponent implements OnInit {
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private userService: UserService, private loggingService: LoggingService) {
constructor(private userService: UserService, private loggingService: LoggingService) {}
async ngOnInit(): Promise&lt;void&gt; {
await this.userService.init();
this.userService.getActions();
this.userService.actionsSubject.subscribe((actions) &#x3D;&gt; {
this.dataSource &#x3D; new MatTableDataSource&lt;any&gt;(actions);
@@ -929,8 +935,6 @@ export class AdminComponent implements OnInit {
});
}
ngOnInit(): void {}
doFilter(value: string): void {
this.dataSource.filter &#x3D; value.trim().toLocaleLowerCase();
}

View File

@@ -158,6 +158,7 @@
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
@@ -320,8 +321,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="93"
class="link-to-prism">src/app/app.component.ts:93</a></div>
<div class="io-line">Defined in <a href="" data-line="88"
class="link-to-prism">src/app/app.component.ts:88</a></div>
</td>
</tr>
@@ -355,8 +356,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="87"
class="link-to-prism">src/app/app.component.ts:87</a></div>
<div class="io-line">Defined in <a href="" data-line="82"
class="link-to-prism">src/app/app.component.ts:82</a></div>
</td>
</tr>
@@ -376,6 +377,7 @@
<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>
@@ -384,15 +386,16 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<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="51"
class="link-to-prism">src/app/app.component.ts:51</a></div>
<div class="io-line">Defined in <a href="" data-line="34"
class="link-to-prism">src/app/app.component.ts:34</a></div>
</td>
</tr>
@@ -401,7 +404,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -430,8 +433,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="62"
class="link-to-prism">src/app/app.component.ts:62</a></div>
<div class="io-line">Defined in <a href="" data-line="57"
class="link-to-prism">src/app/app.component.ts:57</a></div>
</td>
</tr>
@@ -643,28 +646,23 @@ export class AppComponent implements OnInit {
private errorDialogService: ErrorDialogService,
private swUpdate: SwUpdate
) {
(async () &#x3D;&gt; {
try {
await this.authService.init();
// this.authService.getPublicKeys()
// .pipe(catchError(async (error) &#x3D;&gt; {
// this.loggingService.sendErrorLevelMessage(&#x27;Unable to load trusted public keys.&#x27;, this, {error});
// this.errorDialogService.openDialog({message: &#x27;Trusted keys endpoint can\&#x27;t be reached. Please try again later.&#x27;});
// })).subscribe(this.authService.mutableKeyStore.importPublicKey);
const publicKeys &#x3D; await this.authService.getPublicKeys();
await this.authService.mutableKeyStore.importPublicKey(publicKeys);
} catch (error) {
this.errorDialogService.openDialog({
message: &#x27;Trusted keys endpoint cannot be reached. Please try again later.&#x27;,
});
// TODO do something to halt user progress...show a sad cicada page 🦗?
}
})();
this.mediaQuery.addEventListener(&#x27;change&#x27;, this.onResize);
this.onResize(this.mediaQuery);
}
ngOnInit(): void {
async ngOnInit(): Promise&lt;void&gt; {
await this.authService.init();
await this.transactionService.init();
try {
const publicKeys &#x3D; await this.authService.getPublicKeys();
await this.authService.mutableKeyStore.importPublicKey(publicKeys);
this.authService.getTrustedUsers();
} catch (error) {
this.errorDialogService.openDialog({
message: &#x27;Trusted keys endpoint cannot be reached. Please try again later.&#x27;,
});
// TODO do something to halt user progress...show a sad cicada page 🦗?
}
if (!this.swUpdate.isEnabled) {
this.swUpdate.available.subscribe(() &#x3D;&gt; {
if (confirm(&#x27;New Version available. Load New Version?&#x27;)) {
@@ -715,8 +713,7 @@ export class AppComponent implements OnInit {
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;app-network-status&gt;&lt;/app-network-status&gt;
&lt;router-outlet (activate)&#x3D;&quot;onResize(mediaQuery)&quot;&gt;&lt;/router-outlet&gt;
<pre class="line-numbers"><code class="language-html">&lt;router-outlet (activate)&#x3D;&quot;onResize(mediaQuery)&quot;&gt;&lt;/router-outlet&gt;
</code></pre>
</div>
@@ -752,7 +749,7 @@ export class AppComponent implements OnInit {
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><app-network-status></app-network-status><router-outlet (activate)="onResize(mediaQuery)"></router-outlet></div>'
var COMPONENT_TEMPLATE = '<div><router-outlet (activate)="onResize(mediaQuery)"></router-outlet></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': 'AppComponent'};

View File

@@ -158,6 +158,7 @@
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Async</span>
<a href="#login">login</a>
</li>
<li>
@@ -206,12 +207,12 @@
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(authService: <a href="../injectables/AuthService.html">AuthService</a>, formBuilder: <a href="https://angular.io/api/forms/FormBuilder" target="_blank">FormBuilder</a>, router: <a href="https://angular.io/api/router/Router" target="_blank">Router</a>)</code>
<code>constructor(authService: <a href="../injectables/AuthService.html">AuthService</a>, formBuilder: <a href="https://angular.io/api/forms/FormBuilder" target="_blank">FormBuilder</a>, router: <a href="https://angular.io/api/router/Router" target="_blank">Router</a>, errorDialogService: <a href="../injectables/ErrorDialogService.html">ErrorDialogService</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="17" class="link-to-prism">src/app/auth/auth.component.ts:17</a></div>
<div class="io-line">Defined in <a href="" data-line="19" class="link-to-prism">src/app/auth/auth.component.ts:19</a></div>
</td>
</tr>
@@ -264,6 +265,18 @@
</td>
</tr>
<tr>
<td>errorDialogService</td>
<td>
<code><a href="../injectables/ErrorDialogService.html" target="_self" >ErrorDialogService</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
@@ -289,6 +302,7 @@
<a name="login"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
login
</b>
<a href="#login"><span class="icon ion-ios-link"></span></a>
@@ -297,15 +311,16 @@
</tr>
<tr>
<td class="col-md-4">
<code>login()</code>
<span class="modifier-icon icon ion-ios-reset"></span>
<code>login()</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/auth/auth.component.ts:52</a></div>
<div class="io-line">Defined in <a href="" data-line="53"
class="link-to-prism">src/app/auth/auth.component.ts:53</a></div>
</td>
</tr>
@@ -314,7 +329,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -345,8 +360,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="25"
class="link-to-prism">src/app/auth/auth.component.ts:25</a></div>
<div class="io-line">Defined in <a href="" data-line="28"
class="link-to-prism">src/app/auth/auth.component.ts:28</a></div>
</td>
</tr>
@@ -386,8 +401,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="40"
class="link-to-prism">src/app/auth/auth.component.ts:40</a></div>
<div class="io-line">Defined in <a href="" data-line="41"
class="link-to-prism">src/app/auth/auth.component.ts:41</a></div>
</td>
</tr>
@@ -425,8 +440,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="63"
class="link-to-prism">src/app/auth/auth.component.ts:63</a></div>
<div class="io-line">Defined in <a href="" data-line="66"
class="link-to-prism">src/app/auth/auth.component.ts:66</a></div>
</td>
</tr>
@@ -464,8 +479,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="71"
class="link-to-prism">src/app/auth/auth.component.ts:71</a></div>
<div class="io-line">Defined in <a href="" data-line="73"
class="link-to-prism">src/app/auth/auth.component.ts:73</a></div>
</td>
</tr>
@@ -538,7 +553,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="14" class="link-to-prism">src/app/auth/auth.component.ts:14</a></div>
<div class="io-line">Defined in <a href="" data-line="16" class="link-to-prism">src/app/auth/auth.component.ts:16</a></div>
</td>
</tr>
@@ -570,7 +585,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="16" class="link-to-prism">src/app/auth/auth.component.ts:16</a></div>
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/auth/auth.component.ts:18</a></div>
</td>
</tr>
@@ -602,7 +617,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="17" class="link-to-prism">src/app/auth/auth.component.ts:17</a></div>
<div class="io-line">Defined in <a href="" data-line="19" class="link-to-prism">src/app/auth/auth.component.ts:19</a></div>
</td>
</tr>
@@ -634,7 +649,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="15" class="link-to-prism">src/app/auth/auth.component.ts:15</a></div>
<div class="io-line">Defined in <a href="" data-line="17" class="link-to-prism">src/app/auth/auth.component.ts:17</a></div>
</td>
</tr>
@@ -663,7 +678,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="36" class="link-to-prism">src/app/auth/auth.component.ts:36</a></div>
<div class="io-line">Defined in <a href="" data-line="37" class="link-to-prism">src/app/auth/auth.component.ts:37</a></div>
</td>
</tr>
@@ -678,6 +693,8 @@
import { FormBuilder, FormGroup, Validators } from &#x27;@angular/forms&#x27;;
import { CustomErrorStateMatcher } from &#x27;@app/_helpers&#x27;;
import { AuthService } from &#x27;@app/_services&#x27;;
import { ErrorDialogService } from &#x27;@app/_services/error-dialog.service&#x27;;
import { LoggingService } from &#x27;@app/_services/logging.service&#x27;;
import { Router } from &#x27;@angular/router&#x27;;
@Component({
@@ -695,18 +712,17 @@ export class AuthComponent implements OnInit {
constructor(
private authService: AuthService,
private formBuilder: FormBuilder,
private router: Router
private router: Router,
private errorDialogService: ErrorDialogService
) {}
async ngOnInit(): Promise&lt;void&gt; {
this.keyForm &#x3D; this.formBuilder.group({
key: [&#x27;&#x27;, Validators.required],
});
await this.authService.init();
// if (this.authService.privateKey !&#x3D;&#x3D; undefined) {
// const setKey &#x3D; await this.authService.setKey(this.authService.privateKey);
// }
// }
if (this.authService.getPrivateKey()) {
this.authService.loginView();
}
}
get keyFormStub(): any {
@@ -725,19 +741,20 @@ export class AuthComponent implements OnInit {
this.loading &#x3D; false;
}
login(): void {
// TODO check if we have privatekey
// Send us to home if we have a private key
// talk to meta somehow
// in the error interceptor if 401/403 handle it
// if 200 go /home
if (this.authService.getPrivateKey()) {
this.router.navigate([&#x27;/home&#x27;]);
async login(): Promise&lt;void&gt; {
try {
const loginResult &#x3D; await this.authService.login();
if (loginResult) {
this.router.navigate([&#x27;/home&#x27;]);
}
} catch (HttpError) {
this.errorDialogService.openDialog({
message: HttpError.message,
});
}
}
switchWindows(): void {
this.authService.sessionToken &#x3D; undefined;
const divOne: HTMLElement &#x3D; document.getElementById(&#x27;one&#x27;);
const divTwo: HTMLElement &#x3D; document.getElementById(&#x27;two&#x27;);
this.toggleDisplay(divOne);
@@ -757,11 +774,12 @@ export class AuthComponent implements OnInit {
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;div class&#x3D;&quot;container&quot;&gt;
<pre class="line-numbers"><code class="language-html">&lt;app-network-status&gt;&lt;/app-network-status&gt;
&lt;div class&#x3D;&quot;container&quot;&gt;
&lt;div class&#x3D;&quot;row justify-content-center mt-5 mb-5&quot;&gt;
&lt;div class&#x3D;&quot;col-lg-6 col-md-8 col-sm-10&quot;&gt;
&lt;div class&#x3D;&quot;card&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header pt-4 pb-4 text-center bg-dark&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header pt-4 pb-4 text-center background-dark&quot;&gt;
&lt;a routerLink&#x3D;&quot;/&quot;&gt;
&lt;h1 class&#x3D;&quot;text-white&quot;&gt;CICADA&lt;/h1&gt;
&lt;/a&gt;
@@ -843,7 +861,7 @@ export class AuthComponent implements OnInit {
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><div class="container"> <div class="row justify-content-center mt-5 mb-5"> <div class="col-lg-6 col-md-8 col-sm-10"> <div class="card"> <mat-card-title class="card-header pt-4 pb-4 text-center bg-dark"> <a routerLink="/"> <h1 class="text-white">CICADA</h1> </a> </mat-card-title> <div id="one" style="display: block" class="card-body p-4"> <div class="text-center w-75 m-auto"> <h4 class="text-dark-50 text-center font-weight-bold">Add Private Key</h4> </div> <form [formGroup]="keyForm" (ngSubmit)="onSubmit()"> <mat-form-field appearance="outline" class="full-width"> <mat-label>Private Key</mat-label> <textarea matInput style="height: 30rem" formControlName="key" placeholder="Enter your private key..." [errorStateMatcher]="matcher"></textarea> <div *ngIf="submitted && keyFormStub.key.errors" class="invalid-feedback"> <mat-error *ngIf="keyFormStub.key.errors.required">Private Key is required.</mat-error> </div> </mat-form-field> <button mat-raised-button matRipple color="primary" type="submit" [disabled]="loading"> <span *ngIf="loading" class="spinner-border spinner-border-sm mr-1"></span> Add Key </button> </form> </div> <div id="two" style="display: none" class="card-body p-4 align-items-center"> <div class="text-center w-75 m-auto"> <h4 id="state" class="text-dark-50 text-center font-weight-bold"></h4> <button mat-raised-button matRipple color="primary" type="submit" (click)="login()"> Login </button> </div> <div class="row mt-3"> <div class="col-12 text-center"> <p class="text-muted">Change private key? <a (click)="switchWindows()" class="text-muted ml-1"><b>Enter private key</b></a></p> </div> <!-- end col--> </div> <!-- end row --> </div> </div> </div> </div></div></div>'
var COMPONENT_TEMPLATE = '<div><app-network-status></app-network-status><div class="container"> <div class="row justify-content-center mt-5 mb-5"> <div class="col-lg-6 col-md-8 col-sm-10"> <div class="card"> <mat-card-title class="card-header pt-4 pb-4 text-center background-dark"> <a routerLink="/"> <h1 class="text-white">CICADA</h1> </a> </mat-card-title> <div id="one" style="display: block" class="card-body p-4"> <div class="text-center w-75 m-auto"> <h4 class="text-dark-50 text-center font-weight-bold">Add Private Key</h4> </div> <form [formGroup]="keyForm" (ngSubmit)="onSubmit()"> <mat-form-field appearance="outline" class="full-width"> <mat-label>Private Key</mat-label> <textarea matInput style="height: 30rem" formControlName="key" placeholder="Enter your private key..." [errorStateMatcher]="matcher"></textarea> <div *ngIf="submitted && keyFormStub.key.errors" class="invalid-feedback"> <mat-error *ngIf="keyFormStub.key.errors.required">Private Key is required.</mat-error> </div> </mat-form-field> <button mat-raised-button matRipple color="primary" type="submit" [disabled]="loading"> <span *ngIf="loading" class="spinner-border spinner-border-sm mr-1"></span> Add Key </button> </form> </div> <div id="two" style="display: none" class="card-body p-4 align-items-center"> <div class="text-center w-75 m-auto"> <h4 id="state" class="text-dark-50 text-center font-weight-bold"></h4> <button mat-raised-button matRipple color="primary" type="submit" (click)="login()"> Login </button> </div> <div class="row mt-3"> <div class="col-12 text-center"> <p class="text-muted">Change private key? <a (click)="switchWindows()" class="text-muted ml-1"><b>Enter private key</b></a></p> </div> <!-- end col--> </div> <!-- end row --> </div> </div> </div> </div></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': 'AuthComponent'};

View File

@@ -167,6 +167,7 @@
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
@@ -287,6 +288,7 @@
<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>
@@ -295,7 +297,8 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<span class="modifier-icon icon ion-ios-reset"></span>
<code>ngOnInit()</code>
</td>
</tr>
@@ -312,7 +315,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -341,8 +344,8 @@
<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/create-account/create-account.component.ts:64</a></div>
<div class="io-line">Defined in <a href="" data-line="65"
class="link-to-prism">src/app/pages/accounts/create-account/create-account.component.ts:65</a></div>
</td>
</tr>
@@ -585,7 +588,7 @@
</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/create-account/create-account.component.ts:60</a></div>
<div class="io-line">Defined in <a href="" data-line="61" class="link-to-prism">src/app/pages/accounts/create-account/create-account.component.ts:61</a></div>
</td>
</tr>
@@ -624,7 +627,8 @@ export class CreateAccountComponent implements OnInit {
private userService: UserService
) {}
ngOnInit(): void {
async ngOnInit(): Promise&lt;void&gt; {
await this.userService.init();
this.createForm &#x3D; this.formBuilder.group({
accountType: [&#x27;&#x27;, Validators.required],
idNumber: [&#x27;&#x27;, Validators.required],

View File

@@ -125,6 +125,20 @@
<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="#currentYear">currentYear</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
@@ -160,7 +174,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="9" class="link-to-prism">src/app/shared/footer/footer.component.ts:9</a></div>
<div class="io-line">Defined in <a href="" data-line="10" class="link-to-prism">src/app/shared/footer/footer.component.ts:10</a></div>
</td>
</tr>
@@ -199,8 +213,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="12"
class="link-to-prism">src/app/shared/footer/footer.component.ts:12</a></div>
<div class="io-line">Defined in <a href="" data-line="13"
class="link-to-prism">src/app/shared/footer/footer.component.ts:13</a></div>
</td>
</tr>
@@ -217,6 +231,38 @@
</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="currentYear"></a>
<span class="name">
<b>
currentYear</b>
<a href="#currentYear"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>new Date().getFullYear()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="10" class="link-to-prism">src/app/shared/footer/footer.component.ts:10</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
@@ -231,6 +277,7 @@
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class FooterComponent implements OnInit {
currentYear &#x3D; new Date().getFullYear();
constructor() {}
ngOnInit(): void {}
@@ -241,7 +288,10 @@ export class FooterComponent implements OnInit {
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;!-- Footer Start --&gt;
&lt;footer class&#x3D;&quot;footer&quot;&gt;
2020 © Grassroots Economics
&lt;a target&#x3D;&quot;blank&quot; title&#x3D;&quot;GPL-3&quot; href&#x3D;&quot;https://www.gnu.org/licenses/gpl-3.0.en.html&quot;&gt; Copyleft &lt;/a&gt; 🄯.
{{ currentYear }}
&lt;a target&#x3D;&quot;blank&quot; title&#x3D;&quot;Gitlab@GrassrootsEconomics&quot; href&#x3D;&quot;https://gitlab.com/grassrootseconomics&quot;&gt;&lt;u&gt; Grassroots Economics &lt;/u&gt;&lt;/a&gt;
&lt;/footer&gt;
&lt;!-- end Footer --&gt;
</code></pre>
@@ -279,7 +329,7 @@ export class FooterComponent implements OnInit {
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><!-- Footer Start --><footer class="footer"> 2020 © Grassroots Economics</footer><!-- end Footer --></div>'
var COMPONENT_TEMPLATE = '<div><!-- Footer Start --><footer class="footer"> <a target="blank" title="GPL-3" href="https://www.gnu.org/licenses/gpl-3.0.en.html"> Copyleft </a> 🄯. {{ currentYear }} <a target="blank" title="Gitlab@GrassrootsEconomics" href="https://gitlab.com/grassrootseconomics"><u> Grassroots Economics </u></a></footer><!-- end Footer --></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': 'FooterComponent'};

View File

@@ -377,7 +377,7 @@ export class NetworkStatusComponent implements OnInit {
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;nav class&#x3D;&quot;navbar navbar-dark bg-dark&quot;&gt;
<pre class="line-numbers"><code class="language-html">&lt;nav class&#x3D;&quot;navbar navbar-dark background-dark&quot;&gt;
&lt;h1 class&#x3D;&quot;navbar-brand&quot;&gt;
&lt;div *ngIf&#x3D;&quot;noInternetConnection; then offlineBlock else onlineBlock&quot;&gt;&lt;/div&gt;
&lt;ng-template #offlineBlock&gt;
@@ -425,7 +425,7 @@ export class NetworkStatusComponent implements OnInit {
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><nav class="navbar navbar-dark bg-dark"> <h1 class="navbar-brand"> <div *ngIf="noInternetConnection; then offlineBlock else onlineBlock"></div> <ng-template #offlineBlock> <strong style="color: red;">OFFLINE </strong> <img width="20rem" src="assets/images/no-wifi.svg" alt="Internet Disconnected"> </ng-template> <ng-template #onlineBlock> <strong style="color: lawngreen;">ONLINE </strong> <img width="20rem" src="assets/images/wifi.svg" alt="Internet Connected"> </ng-template> </h1></nav></div>'
var COMPONENT_TEMPLATE = '<div><nav class="navbar navbar-dark background-dark"> <h1 class="navbar-brand"> <div *ngIf="noInternetConnection; then offlineBlock else onlineBlock"></div> <ng-template #offlineBlock> <strong style="color: red;">OFFLINE </strong> <img width="20rem" src="assets/images/no-wifi.svg" alt="Internet Disconnected"> </ng-template> <ng-template #onlineBlock> <strong style="color: lawngreen;">ONLINE </strong> <img width="20rem" src="assets/images/wifi.svg" alt="Internet Connected"> </ng-template> </h1></nav></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': 'NetworkStatusComponent'};

View File

@@ -151,6 +151,9 @@
<li>
<a href="#trustedUsers">trustedUsers</a>
</li>
<li>
<a href="#userInfo">userInfo</a>
</li>
</ul>
</td>
</tr>
@@ -173,6 +176,7 @@
<a href="#logout">logout</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
</ul>
@@ -198,7 +202,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/settings/settings.component.ts:22</a></div>
<div class="io-line">Defined in <a href="" data-line="23" class="link-to-prism">src/app/pages/settings/settings.component.ts:23</a></div>
</td>
</tr>
@@ -267,8 +271,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="35"
class="link-to-prism">src/app/pages/settings/settings.component.ts:35</a></div>
<div class="io-line">Defined in <a href="" data-line="38"
class="link-to-prism">src/app/pages/settings/settings.component.ts:38</a></div>
</td>
</tr>
@@ -337,8 +341,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="39"
class="link-to-prism">src/app/pages/settings/settings.component.ts:39</a></div>
<div class="io-line">Defined in <a href="" data-line="42"
class="link-to-prism">src/app/pages/settings/settings.component.ts:42</a></div>
</td>
</tr>
@@ -376,8 +380,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="43"
class="link-to-prism">src/app/pages/settings/settings.component.ts:43</a></div>
<div class="io-line">Defined in <a href="" data-line="46"
class="link-to-prism">src/app/pages/settings/settings.component.ts:46</a></div>
</td>
</tr>
@@ -400,6 +404,7 @@
<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>
@@ -408,15 +413,16 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<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="26"
class="link-to-prism">src/app/pages/settings/settings.component.ts:26</a></div>
<div class="io-line">Defined in <a href="" data-line="27"
class="link-to-prism">src/app/pages/settings/settings.component.ts:27</a></div>
</td>
</tr>
@@ -425,7 +431,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -553,7 +559,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="21" class="link-to-prism">src/app/pages/settings/settings.component.ts:21</a></div>
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/settings/settings.component.ts:22</a></div>
</td>
</tr>
@@ -589,7 +595,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/settings/settings.component.ts:22</a></div>
<div class="io-line">Defined in <a href="" data-line="23" class="link-to-prism">src/app/pages/settings/settings.component.ts:23</a></div>
</td>
</tr>
@@ -621,6 +627,33 @@
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="userInfo"></a>
<span class="name">
<b>
userInfo</b>
<a href="#userInfo"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/Staff.html" target="_self" >Staff</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/pages/settings/settings.component.ts:20</a></div>
</td>
</tr>
</tbody>
</table>
</section>
@@ -648,19 +681,22 @@ export class SettingsComponent implements OnInit {
dataSource: MatTableDataSource&lt;any&gt;;
displayedColumns: Array&lt;string&gt; &#x3D; [&#x27;name&#x27;, &#x27;email&#x27;, &#x27;userId&#x27;];
trustedUsers: Array&lt;Staff&gt;;
userInfo: Staff;
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private authService: AuthService) {}
ngOnInit(): void {
const d &#x3D; new Date();
this.date &#x3D; &#x60;${d.getDate()}/${d.getMonth()}/${d.getFullYear()}&#x60;;
this.trustedUsers &#x3D; this.authService.getTrustedUsers();
this.dataSource &#x3D; new MatTableDataSource&lt;any&gt;(this.trustedUsers);
this.dataSource.paginator &#x3D; this.paginator;
this.dataSource.sort &#x3D; this.sort;
async ngOnInit(): Promise&lt;void&gt; {
await this.authService.init();
this.authService.trustedUsersSubject.subscribe((users) &#x3D;&gt; {
this.dataSource &#x3D; new MatTableDataSource&lt;any&gt;(users);
this.dataSource.paginator &#x3D; this.paginator;
this.dataSource.sort &#x3D; this.sort;
this.trustedUsers &#x3D; users;
});
this.userInfo &#x3D; this.authService.getPrivateKeyInfo();
}
doFilter(value: string): void {
@@ -704,9 +740,10 @@ export class SettingsComponent implements OnInit {
SETTINGS
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;h4&gt;Kobo Toolbox Credentials&lt;/h4&gt;
&lt;span&gt;&lt;strong&gt;Username: &lt;/strong&gt; admin_reserve &lt;/span&gt;&lt;br&gt;
&lt;span&gt;&lt;strong&gt;Password: &lt;/strong&gt; ******** &lt;/span&gt;
&lt;h4&gt;CICADA Admin Credentials&lt;/h4&gt;
&lt;span&gt;&lt;strong&gt;UserId: &lt;/strong&gt; {{ userInfo?.userid }} &lt;/span&gt;&lt;br&gt;
&lt;span&gt;&lt;strong&gt;Username: &lt;/strong&gt; {{ userInfo?.name }} &lt;/span&gt;&lt;br&gt;
&lt;span&gt;&lt;strong&gt;Email: &lt;/strong&gt; {{ userInfo?.email }} &lt;/span&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
@@ -819,7 +856,7 @@ export class SettingsComponent implements OnInit {
<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 active" aria-current="page">Settings</li> </ol> </nav> <div class="row"> <div class="col-md-6 mb-2"> <div class="card"> <mat-card-title class="card-header text-center"> SETTINGS </mat-card-title> <div class="card-body"> <h4>Kobo Toolbox Credentials</h4> <span><strong>Username: </strong> admin_reserve </span><br> <span><strong>Password: </strong> ******** </span> </div> <hr> <div class="card-body"> <h4>Organization Settings</h4> <a routerLink="/settings/organization"><i>Update your organization settings</i></a> </div> </div> </div> <div class="col-md-6 mb-2"> <div class="card"> <mat-card-title class="card-header text-center"> ACCOUNT MANAGEMENT </mat-card-title> <div class="card-body"> <h4>Change Password</h4> <a routerLink="/settings"><i>Change your account password</i></a> </div> <hr> <div class="card-body"> <h4>Two-step authentication</h4> <a routerLink="/settings"><i>Secure your account with two step verification</i></a> </div> <hr> <div class="card-body"> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary" (click)="logout()"> LOGOUT ADMIN </button> </div> </div> </div> <div class="col-12"> <div class="card mb-3"> <mat-card-title class="card-header"> <div class="row"> TRUSTED USERS <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv()"> EXPORT </button> </div> </mat-card-title> <div class="card-body"> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10" [dataSource]="dataSource" matSort matSortActive="name" matSortDirection="asc" matSortDisableClear> <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef mat-sort-header> NAME </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.name}} </mat-cell> </ng-container> <ng-container matColumnDef="email"> <mat-header-cell *matHeaderCellDef mat-sort-header> EMAIL </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.email}} </mat-cell> </ng-container> <ng-container matColumnDef="userId"> <mat-header-cell *matHeaderCellDef mat-sort-header> USER ID </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.userid}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let user; columns: displayedColumns"></mat-row> </mat-table> <mat-paginator [pageSize]="5" [pageSizeOptions]="[5, 10, 20, 50, 100]" showFirstLastButtons></mat-paginator> </div> </div> </div> </div> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
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 active" aria-current="page">Settings</li> </ol> </nav> <div class="row"> <div class="col-md-6 mb-2"> <div class="card"> <mat-card-title class="card-header text-center"> SETTINGS </mat-card-title> <div class="card-body"> <h4>CICADA Admin Credentials</h4> <span><strong>UserId: </strong> {{ userInfo?.userid }} </span><br> <span><strong>Username: </strong> {{ userInfo?.name }} </span><br> <span><strong>Email: </strong> {{ userInfo?.email }} </span> </div> <hr> <div class="card-body"> <h4>Organization Settings</h4> <a routerLink="/settings/organization"><i>Update your organization settings</i></a> </div> </div> </div> <div class="col-md-6 mb-2"> <div class="card"> <mat-card-title class="card-header text-center"> ACCOUNT MANAGEMENT </mat-card-title> <div class="card-body"> <h4>Change Password</h4> <a routerLink="/settings"><i>Change your account password</i></a> </div> <hr> <div class="card-body"> <h4>Two-step authentication</h4> <a routerLink="/settings"><i>Secure your account with two step verification</i></a> </div> <hr> <div class="card-body"> <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary" (click)="logout()"> LOGOUT ADMIN </button> </div> </div> </div> <div class="col-12"> <div class="card mb-3"> <mat-card-title class="card-header"> <div class="row"> TRUSTED USERS <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv()"> EXPORT </button> </div> </mat-card-title> <div class="card-body"> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10" [dataSource]="dataSource" matSort matSortActive="name" matSortDirection="asc" matSortDisableClear> <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef mat-sort-header> NAME </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.name}} </mat-cell> </ng-container> <ng-container matColumnDef="email"> <mat-header-cell *matHeaderCellDef mat-sort-header> EMAIL </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.email}} </mat-cell> </ng-container> <ng-container matColumnDef="userId"> <mat-header-cell *matHeaderCellDef mat-sort-header> USER ID </mat-header-cell> <mat-cell *matCellDef="let user"> {{user.userid}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let user; columns: displayedColumns"></mat-row> </mat-table> <mat-paginator [pageSize]="5" [pageSizeOptions]="[5, 10, 20, 50, 100]" showFirstLastButtons></mat-paginator> </div> </div> </div> </div> </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': 'SettingsComponent'};

View File

@@ -241,6 +241,7 @@ export class SidebarComponent implements OnInit {
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; Left Sidebar Start &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;div id&#x3D;&quot;sidebar&quot;&gt;
&lt;app-network-status&gt;&lt;/app-network-status&gt;
&lt;nav&gt;
&lt;div class&#x3D;&quot;sidebar-header&quot;&gt;
@@ -326,7 +327,7 @@ export class SidebarComponent implements OnInit {
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
var COMPONENT_TEMPLATE = '<div><!-- ========== Left Sidebar Start ========== --><div id="sidebar"> <nav> <div class="sidebar-header"> <h3> <img class="full-width" src="assets/images/CIC-Logo-white.png" alt="CIC Admin Dashboard"> </h3> <strong>CICADA</strong> </div> <ul class="list-unstyled components"> <li> <a routerLink="/home" routerLinkActive="active" appMenuSelection> <i class="fa fa-home"></i> <span> Dashboard </span> </a> </li> <li> <a routerLink="/accounts" routerLinkActive="active" appMenuSelection> <i class="fa fa-users"></i> <span> Accounts </span> </a> </li> <li> <a routerLink="/tx" routerLinkActive="active" appMenuSelection> <i class="fa fa-exchange"></i> <span> Transactions </span> </a> </li> <li> <a routerLink="/tokens" routerLinkActive="active" appMenuSelection> <i class="fa fa-money"></i> <span> Tokens </span> </a> </li> <li> <a routerLink="/settings" routerLinkActive="active" appMenuSelection> <i class="fa fa-cog"></i> <span> Settings </span> </a> </li> <li> <a routerLink="/admin" routerLinkActive="active" appMenuSelection> <i class="fa fa-user-secret"></i> <span> Admin </span> </a> </li> </ul> </nav></div><!-- Left Sidebar End --></div>'
var COMPONENT_TEMPLATE = '<div><!-- ========== Left Sidebar Start ========== --><div id="sidebar"> <app-network-status></app-network-status> <nav> <div class="sidebar-header"> <h3> <img class="full-width" src="assets/images/CIC-Logo-white.png" alt="CIC Admin Dashboard"> </h3> <strong>CICADA</strong> </div> <ul class="list-unstyled components"> <li> <a routerLink="/home" routerLinkActive="active" appMenuSelection> <i class="fa fa-home"></i> <span> Dashboard </span> </a> </li> <li> <a routerLink="/accounts" routerLinkActive="active" appMenuSelection> <i class="fa fa-users"></i> <span> Accounts </span> </a> </li> <li> <a routerLink="/tx" routerLinkActive="active" appMenuSelection> <i class="fa fa-exchange"></i> <span> Transactions </span> </a> </li> <li> <a routerLink="/tokens" routerLinkActive="active" appMenuSelection> <i class="fa fa-money"></i> <span> Tokens </span> </a> </li> <li> <a routerLink="/settings" routerLinkActive="active" appMenuSelection> <i class="fa fa-cog"></i> <span> Settings </span> </a> </li> <li> <a routerLink="/admin" routerLinkActive="active" appMenuSelection> <i class="fa fa-user-secret"></i> <span> Admin </span> </a> </li> </ul> </nav></div><!-- Left Sidebar End --></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': 'SidebarComponent'};

View File

@@ -125,9 +125,28 @@
<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>
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#close">close</a>
</li>
<li>
<a href="#ngOnInit">ngOnInit</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Inputs</b></h6>
</td>
</tr>
<tr>
@@ -142,14 +161,14 @@
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
<h6><b>Outputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#ngOnInit">ngOnInit</a>
<a href="#closeWindow">closeWindow</a>
</li>
</ul>
</td>
@@ -157,8 +176,6 @@
</tbody>
</table>
</section>
@@ -169,63 +186,67 @@
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(route: <a href="https://angular.io/api/router/ActivatedRoute" target="_blank">ActivatedRoute</a>, tokenService: <a href="../injectables/TokenService.html">TokenService</a>)</code>
<code>constructor()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="14" class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:14</a></div>
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:20</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>route</td>
<td>
<code><a href="https://angular.io/api/router/ActivatedRoute" target="_blank" >ActivatedRoute</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>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="inputs">Inputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="token"></a>
<b>token</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Token</a></code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:18</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h3 id="outputs">Outputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="closeWindow"></a>
<b>closeWindow</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>EventEmitter&lt;any&gt;</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:20</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section>
@@ -233,6 +254,45 @@
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="close"></a>
<span class="name">
<b>
close
</b>
<a href="#close"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>close()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="26"
class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:26</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>
@@ -255,8 +315,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="27"
class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:27</a></div>
<div class="io-line">Defined in <a href="" data-line="24"
class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:24</a></div>
</td>
</tr>
@@ -273,49 +333,20 @@
</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="token"></a>
<span class="name">
<b>
token</b>
<a href="#token"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Token</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="14" class="link-to-prism">src/app/pages/tokens/token-details/token-details.component.ts:14</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, Component, OnInit } from &#x27;@angular/core&#x27;;
import { ActivatedRoute, Params } from &#x27;@angular/router&#x27;;
import { TokenService } from &#x27;@app/_services&#x27;;
import { first } from &#x27;rxjs/operators&#x27;;
import { Token } from &#x27;../../../_models&#x27;;
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {
ChangeDetectionStrategy,
Component,
EventEmitter,
Input,
OnInit,
Output,
} from &#x27;@angular/core&#x27;;
import { Token } from &#x27;@app/_models&#x27;;
@Component({
selector: &#x27;app-token-details&#x27;,
@@ -324,85 +355,59 @@ import { Token } from &#x27;../../../_models&#x27;;
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class TokenDetailsComponent implements OnInit {
token: Token;
@Input() token: Token;
constructor(private route: ActivatedRoute, private tokenService: TokenService) {
this.route.paramMap.subscribe((params: Params) &#x3D;&gt; {
this.tokenService
.getTokenBySymbol(params.get(&#x27;id&#x27;))
.pipe(first())
.subscribe((res) &#x3D;&gt; {
this.token &#x3D; res;
});
});
}
@Output() closeWindow: EventEmitter&lt;any&gt; &#x3D; new EventEmitter&lt;any&gt;();
constructor() {}
ngOnInit(): void {}
close(): void {
this.token &#x3D; null;
this.closeWindow.emit(this.token);
}
}
</code></pre>
</div>
<div class="tab-pane fade " id="c-templateData">
<pre class="line-numbers"><code class="language-html">&lt;!-- Begin page --&gt;
&lt;div class&#x3D;&quot;wrapper&quot;&gt;
&lt;app-sidebar&gt;&lt;/app-sidebar&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;!-- Start Page Content here --&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;div id&#x3D;&quot;content&quot;&gt;
&lt;app-topbar&gt;&lt;/app-topbar&gt;
&lt;!-- Start Content--&gt;
&lt;div class&#x3D;&quot;container-fluid text-center&quot; appMenuSelection&gt;
&lt;nav aria-label&#x3D;&quot;breadcrumb&quot;&gt;
&lt;ol class&#x3D;&quot;breadcrumb&quot;&gt;
&lt;li class&#x3D;&quot;breadcrumb-item&quot;&gt;&lt;a routerLink&#x3D;&quot;/home&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
&lt;li class&#x3D;&quot;breadcrumb-item&quot;&gt;&lt;a routerLink&#x3D;&quot;/tokens&quot;&gt;Tokens&lt;/a&gt;&lt;/li&gt;
&lt;li class&#x3D;&quot;breadcrumb-item active&quot; aria-current&#x3D;&quot;page&quot;&gt;{{token.name}}&lt;/li&gt;
&lt;/ol&gt;
&lt;/nav&gt;
&lt;div class&#x3D;&quot;col-md-6 center-body&quot;&gt;
&lt;div class&#x3D;&quot;card&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header&quot;&gt;
Token
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Name:&lt;/strong&gt; {{token.name}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Symbol:&lt;/strong&gt; {{token.symbol}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Address:&lt;/strong&gt; {{token.address}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Details:&lt;/strong&gt; A community inclusive currency for trading among lower to middle income societies.&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Supply:&lt;/strong&gt; {{token.supply | tokenRatio}}&lt;/span&gt;
&lt;/div&gt;&lt;br&gt;
&lt;div&gt;
&lt;h2&gt;Reserve&lt;/h2&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Weight:&lt;/strong&gt; {{token.reserveRatio}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Owner:&lt;/strong&gt; {{token.owner}}&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
<pre class="line-numbers"><code class="language-html">&lt;div *ngIf&#x3D;&quot;token&quot; class&#x3D;&quot;mb-3 mt-1&quot;&gt;
&lt;div class&#x3D;&quot;card text-center&quot;&gt;
&lt;mat-card-title class&#x3D;&quot;card-header&quot;&gt;
&lt;div class&#x3D;&quot;row&quot;&gt;
TOKEN DETAILS
&lt;button mat-raised-button type&#x3D;&quot;button&quot; class&#x3D;&quot;btn btn-outline-secondary ml-auto mr-2&quot; (click)&#x3D;&quot;close()&quot;&gt; CLOSE &lt;/button&gt;
&lt;/div&gt;
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Name:&lt;/strong&gt; {{token?.name}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Symbol:&lt;/strong&gt; {{token?.symbol}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Address:&lt;/strong&gt; {{token?.address}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Details:&lt;/strong&gt; A community inclusive currency for trading among lower to middle income societies.&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Supply:&lt;/strong&gt; {{token?.supply | tokenRatio}}&lt;/span&gt;
&lt;/div&gt;&lt;br&gt;
&lt;div&gt;
&lt;h2&gt;Reserve&lt;/h2&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Weight:&lt;/strong&gt; {{token?.reserveRatio}}&lt;/span&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span&gt;&lt;strong&gt;Owner:&lt;/strong&gt; {{token?.owner}}&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;app-footer appMenuSelection&gt;&lt;/app-footer&gt;
&lt;/div&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;!-- End Page content --&gt;
&lt;!-- &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D; --&gt;
&lt;/div&gt;
</code></pre>
</div>
@@ -438,7 +443,7 @@ export class TokenDetailsComponent implements OnInit {
<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 text-center" appMenuSelection> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a routerLink="/home">Home</a></li> <li class="breadcrumb-item"><a routerLink="/tokens">Tokens</a></li> <li class="breadcrumb-item active" aria-current="page">{{token.name}}</li> </ol> </nav> <div class="col-md-6 center-body"> <div class="card"> <mat-card-title class="card-header"> Token </mat-card-title> <div class="card-body"> <div> <span><strong>Name:</strong> {{token.name}}</span> </div> <div> <span><strong>Symbol:</strong> {{token.symbol}}</span> </div> <div> <span><strong>Address:</strong> {{token.address}}</span> </div> <div> <span><strong>Details:</strong> A community inclusive currency for trading among lower to middle income societies.</span> </div> <div> <span><strong>Supply:</strong> {{token.supply | tokenRatio}}</span> </div><br> <div> <h2>Reserve</h2> <div> <span><strong>Weight:</strong> {{token.reserveRatio}}</span> </div> <div> <span><strong>Owner:</strong> {{token.owner}}</span> </div> </div> </div> </div> </div> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
var COMPONENT_TEMPLATE = '<div><div *ngIf="token" class="mb-3 mt-1"> <div class="card text-center"> <mat-card-title class="card-header"> <div class="row"> TOKEN DETAILS <button mat-raised-button type="button" class="btn btn-outline-secondary ml-auto mr-2" (click)="close()"> CLOSE </button> </div> </mat-card-title> <div class="card-body"> <div> <span><strong>Name:</strong> {{token?.name}}</span> </div> <div> <span><strong>Symbol:</strong> {{token?.symbol}}</span> </div> <div> <span><strong>Address:</strong> {{token?.address}}</span> </div> <div> <span><strong>Details:</strong> A community inclusive currency for trading among lower to middle income societies.</span> </div> <div> <span><strong>Supply:</strong> {{token?.supply | tokenRatio}}</span> </div><br> <div> <h2>Reserve</h2> <div> <span><strong>Weight:</strong> {{token?.reserveRatio}}</span> </div> <div> <span><strong>Owner:</strong> {{token?.owner}}</span> </div> </div> </div> </div></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': 'TokenDetailsComponent'};

View File

@@ -145,6 +145,9 @@
<li>
<a href="#sort">sort</a>
</li>
<li>
<a href="#token">token</a>
</li>
<li>
<a href="#tokens">tokens</a>
</li>
@@ -171,7 +174,6 @@
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#viewToken">viewToken</a>
</li>
</ul>
@@ -290,8 +292,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="41"
class="link-to-prism">src/app/pages/tokens/tokens.component.ts:41</a></div>
<div class="io-line">Defined in <a href="" data-line="46"
class="link-to-prism">src/app/pages/tokens/tokens.component.ts:46</a></div>
</td>
</tr>
@@ -360,8 +362,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="49"
class="link-to-prism">src/app/pages/tokens/tokens.component.ts:49</a></div>
<div class="io-line">Defined in <a href="" data-line="54"
class="link-to-prism">src/app/pages/tokens/tokens.component.ts:54</a></div>
</td>
</tr>
@@ -425,7 +427,6 @@
<a name="viewToken"></a>
<span class="name">
<b>
<span class="modifier">Async</span>
viewToken
</b>
<a href="#viewToken"><span class="icon ion-ios-link"></span></a>
@@ -434,16 +435,15 @@
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>viewToken(token)</code>
<code>viewToken(token)</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/tokens/tokens.component.ts:45</a></div>
<div class="io-line">Defined in <a href="" data-line="50"
class="link-to-prism">src/app/pages/tokens/tokens.component.ts:50</a></div>
</td>
</tr>
@@ -476,7 +476,7 @@
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
<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">
@@ -517,7 +517,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="19" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:19</a></div>
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:18</a></div>
</td>
</tr>
@@ -544,7 +544,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="18" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:18</a></div>
<div class="io-line">Defined in <a href="" data-line="17" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:17</a></div>
</td>
</tr>
@@ -580,7 +580,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:20</a></div>
<div class="io-line">Defined in <a href="" data-line="19" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:19</a></div>
</td>
</tr>
@@ -616,7 +616,34 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="21" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:21</a></div>
<div class="io-line">Defined in <a href="" data-line="20" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:20</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="token"></a>
<span class="name">
<b>
token</b>
<a href="#token"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Token</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:22</a></div>
</td>
</tr>
@@ -637,13 +664,13 @@
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Array&lt;Promise&lt;string&gt;&gt;</code>
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Array&lt;Token&gt;</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="22" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:22</a></div>
<div class="io-line">Defined in <a href="" data-line="21" class="link-to-prism">src/app/pages/tokens/tokens.component.ts:21</a></div>
</td>
</tr>
@@ -663,8 +690,7 @@ import { LoggingService, TokenService } from &#x27;@app/_services&#x27;;
import { MatTableDataSource } from &#x27;@angular/material/table&#x27;;
import { Router } from &#x27;@angular/router&#x27;;
import { exportCsv } from &#x27;@app/_helpers&#x27;;
import { TokenRegistry } from &#x27;../../_eth&#x27;;
import { Token } from &#x27;../../_models&#x27;;
import { Token } from &#x27;@app/_models&#x27;;
@Component({
selector: &#x27;app-tokens&#x27;,
@@ -677,7 +703,8 @@ export class TokensComponent implements OnInit {
columnsToDisplay: Array&lt;string&gt; &#x3D; [&#x27;name&#x27;, &#x27;symbol&#x27;, &#x27;address&#x27;, &#x27;supply&#x27;];
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
tokens: Array&lt;Promise&lt;string&gt;&gt;;
tokens: Array&lt;Token&gt;;
token: Token;
constructor(
private tokenService: TokenService,
@@ -686,22 +713,27 @@ export class TokensComponent implements OnInit {
) {}
async ngOnInit(): Promise&lt;void&gt; {
this.tokenService.LoadEvent.subscribe(async () &#x3D;&gt; {
this.tokens &#x3D; await this.tokenService.getTokens();
await this.tokenService.init();
this.tokenService.load.subscribe(async (status: boolean) &#x3D;&gt; {
if (status) {
await this.tokenService.getTokens();
}
});
this.tokenService.tokensSubject.subscribe((tokens) &#x3D;&gt; {
this.loggingService.sendInfoLevelMessage(tokens);
this.dataSource &#x3D; new MatTableDataSource(tokens);
this.dataSource.paginator &#x3D; this.paginator;
this.dataSource.sort &#x3D; this.sort;
this.tokens &#x3D; tokens;
});
this.tokens &#x3D; await this.tokenService.getTokens();
this.loggingService.sendInfoLevelMessage(this.tokens);
this.dataSource &#x3D; new MatTableDataSource(this.tokens);
this.dataSource.paginator &#x3D; this.paginator;
this.dataSource.sort &#x3D; this.sort;
}
doFilter(value: string): void {
this.dataSource.filter &#x3D; value.trim().toLocaleLowerCase();
}
async viewToken(token): Promise&lt;void&gt; {
await this.router.navigateByUrl(&#x60;/tokens/${token.symbol}&#x60;);
viewToken(token): void {
this.token &#x3D; token;
}
downloadCsv(): void {
@@ -738,6 +770,9 @@ export class TokensComponent implements OnInit {
&lt;/div&gt;
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;app-token-details [token]&#x3D;&quot;token&quot; (closeWindow)&#x3D;&quot;token &#x3D; $event&quot;&gt;&lt;/app-token-details&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
&lt;mat-label&gt; Filter &lt;/mat-label&gt;
&lt;input matInput type&#x3D;&quot;text&quot; (keyup)&#x3D;&quot;doFilter($event.target.value)&quot; placeholder&#x3D;&quot;Filter&quot;&gt;
@@ -815,7 +850,7 @@ export class TokensComponent implements OnInit {
<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 active" aria-current="page">Tokens</li> </ol> </nav> <div class="card"> <mat-card-title class="card-header"> <div class="row"> Tokens <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv()"> EXPORT </button> </div> </mat-card-title> <div class="card-body"> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10 table-responsive" [dataSource]="dataSource" matSort matSortDirection="asc" matSortDisableClear> <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef mat-sort-header> Name </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.name}} </mat-cell> </ng-container> <ng-container matColumnDef="symbol"> <mat-header-cell *matHeaderCellDef mat-sort-header> Symbol </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.symbol}} </mat-cell> </ng-container> <ng-container matColumnDef="address"> <mat-header-cell *matHeaderCellDef mat-sort-header> Address </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.address}} </mat-cell> </ng-container> <ng-container matColumnDef="supply"> <mat-header-cell *matHeaderCellDef mat-sort-header> Supply </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.supply | tokenRatio}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="columnsToDisplay"></mat-header-row> <mat-row *matRowDef="let token; columns: columnsToDisplay" (click)="viewToken(token)" matRipple></mat-row> </mat-table> <mat-paginator [pageSize]="5" [pageSizeOptions]="[5, 10, 25, 100]" showFirstLastButtons></mat-paginator> </div> </div> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
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 active" aria-current="page">Tokens</li> </ol> </nav> <div class="card"> <mat-card-title class="card-header"> <div class="row"> Tokens <button mat-raised-button color="primary" type="button" class="btn btn-outline-primary ml-auto mr-2" (click)="downloadCsv()"> EXPORT </button> </div> </mat-card-title> <div class="card-body"> <app-token-details [token]="token" (closeWindow)="token = $event"></app-token-details> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <mat-table class="mat-elevation-z10 table-responsive" [dataSource]="dataSource" matSort matSortDirection="asc" matSortDisableClear> <ng-container matColumnDef="name"> <mat-header-cell *matHeaderCellDef mat-sort-header> Name </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.name}} </mat-cell> </ng-container> <ng-container matColumnDef="symbol"> <mat-header-cell *matHeaderCellDef mat-sort-header> Symbol </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.symbol}} </mat-cell> </ng-container> <ng-container matColumnDef="address"> <mat-header-cell *matHeaderCellDef mat-sort-header> Address </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.address}} </mat-cell> </ng-container> <ng-container matColumnDef="supply"> <mat-header-cell *matHeaderCellDef mat-sort-header> Supply </mat-header-cell> <mat-cell *matCellDef="let token"> {{token.supply | tokenRatio}} </mat-cell> </ng-container> <mat-header-row *matHeaderRowDef="columnsToDisplay"></mat-header-row> <mat-row *matRowDef="let token; columns: columnsToDisplay" (click)="viewToken(token)" matRipple></mat-row> </mat-table> <mat-paginator [pageSize]="5" [pageSizeOptions]="[5, 10, 25, 100]" showFirstLastButtons></mat-paginator> </div> </div> </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': 'TokensComponent'};

File diff suppressed because one or more lines are too long

View File

@@ -146,6 +146,9 @@
<li>
<a href="#sort">sort</a>
</li>
<li>
<a href="#tokenSymbol">tokenSymbol</a>
</li>
<li>
<a href="#transaction">transaction</a>
</li>
@@ -189,6 +192,7 @@
<a href="#ngAfterViewInit">ngAfterViewInit</a>
</li>
<li>
<span class="modifier">Async</span>
<a href="#ngOnInit">ngOnInit</a>
</li>
<li>
@@ -212,12 +216,12 @@
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(blockSyncService: <a href="../injectables/BlockSyncService.html">BlockSyncService</a>, transactionService: <a href="../injectables/TransactionService.html">TransactionService</a>, userService: <a href="../injectables/UserService.html">UserService</a>)</code>
<code>constructor(blockSyncService: <a href="../injectables/BlockSyncService.html">BlockSyncService</a>, transactionService: <a href="../injectables/TransactionService.html">TransactionService</a>, userService: <a href="../injectables/UserService.html">UserService</a>, tokenService: <a href="../injectables/TokenService.html">TokenService</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:33</a></div>
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:34</a></div>
</td>
</tr>
@@ -270,6 +274,18 @@
</td>
</tr>
<tr>
<td>tokenService</td>
<td>
<code><a href="../injectables/TokenService.html" target="_self" >TokenService</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
@@ -310,8 +326,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="60"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:60</a></div>
<div class="io-line">Defined in <a href="" data-line="70"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:70</a></div>
</td>
</tr>
@@ -391,8 +407,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="82"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:82</a></div>
<div class="io-line">Defined in <a href="" data-line="92"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:92</a></div>
</td>
</tr>
@@ -430,8 +446,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="64"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:64</a></div>
<div class="io-line">Defined in <a href="" data-line="74"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:74</a></div>
</td>
</tr>
@@ -469,8 +485,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="77"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:77</a></div>
<div class="io-line">Defined in <a href="" data-line="87"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:87</a></div>
</td>
</tr>
@@ -493,6 +509,7 @@
<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>
@@ -501,7 +518,8 @@
</tr>
<tr>
<td class="col-md-4">
<code>ngOnInit()</code>
<span class="modifier-icon icon ion-ios-reset"></span>
<code>ngOnInit()</code>
</td>
</tr>
@@ -518,7 +536,7 @@
<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>
<b>Returns : </b> <code>Promise&lt;void&gt;</code>
</div>
</td>
@@ -547,8 +565,8 @@
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="56"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:56</a></div>
<div class="io-line">Defined in <a href="" data-line="66"
class="link-to-prism">src/app/pages/transactions/transactions.component.ts:66</a></div>
</td>
</tr>
@@ -690,7 +708,7 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="32" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:32</a></div>
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:33</a></div>
</td>
</tr>
@@ -726,7 +744,34 @@
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:33</a></div>
<div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:34</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="31" class="link-to-prism">src/app/pages/transactions/transactions.component.ts:31</a></div>
</td>
</tr>
@@ -918,7 +963,7 @@
OnInit,
ViewChild,
} from &#x27;@angular/core&#x27;;
import { BlockSyncService, TransactionService, UserService } from &#x27;@app/_services&#x27;;
import { BlockSyncService, TokenService, TransactionService, UserService } from &#x27;@app/_services&#x27;;
import { MatTableDataSource } from &#x27;@angular/material/table&#x27;;
import { MatPaginator } from &#x27;@angular/material/paginator&#x27;;
import { MatSort } from &#x27;@angular/material/sort&#x27;;
@@ -941,6 +986,7 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
transaction: Transaction;
transactionsType: string &#x3D; &#x27;all&#x27;;
transactionsTypes: Array&lt;string&gt;;
tokenSymbol: string;
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
@@ -948,22 +994,31 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
constructor(
private blockSyncService: BlockSyncService,
private transactionService: TransactionService,
private userService: UserService
) {
this.blockSyncService.blockSync();
}
private userService: UserService,
private tokenService: TokenService
) {}
ngOnInit(): void {
async ngOnInit(): Promise&lt;void&gt; {
this.transactionService.transactionsSubject.subscribe((transactions) &#x3D;&gt; {
this.transactionDataSource &#x3D; new MatTableDataSource&lt;any&gt;(transactions);
this.transactionDataSource.paginator &#x3D; this.paginator;
this.transactionDataSource.sort &#x3D; this.sort;
this.transactions &#x3D; transactions;
});
await this.blockSyncService.init();
await this.tokenService.init();
await this.transactionService.init();
await this.userService.init();
await this.blockSyncService.blockSync();
this.userService
.getTransactionTypes()
.pipe(first())
.subscribe((res) &#x3D;&gt; (this.transactionsTypes &#x3D; res));
this.tokenService.load.subscribe(async (status: boolean) &#x3D;&gt; {
if (status) {
this.tokenSymbol &#x3D; await this.tokenService.getTokenSymbol();
}
});
}
viewTransaction(transaction): void {
@@ -1024,7 +1079,7 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
&lt;/mat-card-title&gt;
&lt;div class&#x3D;&quot;card-body&quot;&gt;
&lt;app-transaction-details [transaction]&#x3D;&quot;transaction&quot;&gt;&lt;/app-transaction-details&gt;
&lt;app-transaction-details [transaction]&#x3D;&quot;transaction&quot; (closeWindow)&#x3D;&quot;transaction &#x3D; $event&quot;&gt;&lt;/app-transaction-details&gt;
&lt;div class&#x3D;&quot;row card-header&quot;&gt;
&lt;mat-form-field appearance&#x3D;&quot;outline&quot;&gt;
@@ -1050,25 +1105,25 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
&lt;ng-container matColumnDef&#x3D;&quot;sender&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Sender &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.sender?.vcard.fn[0].value}} &lt;/td&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.sender?.vcard.fn[0].value || transaction.from}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;recipient&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Recipient &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.recipient?.vcard.fn[0].value}} &lt;/td&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.recipient?.vcard.fn[0].value || transaction.to}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;value&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Value &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;transaction&#x27;&quot;&gt;{{transaction?.value | tokenRatio}}&lt;/span&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;conversion&#x27;&quot;&gt;{{transaction?.toValue | tokenRatio}}&lt;/span&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;transaction&#x27;&quot;&gt;{{transaction?.value | tokenRatio}} {{ tokenSymbol | uppercase }}&lt;/span&gt;
&lt;span *ngIf&#x3D;&quot;transaction.type &#x3D;&#x3D; &#x27;conversion&#x27;&quot;&gt;{{transaction?.toValue | tokenRatio}} {{ tokenSymbol | uppercase }}&lt;/span&gt;
&lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;created&quot;&gt;
&lt;th mat-header-cell *matHeaderCellDef mat-sort-header&gt; Created &lt;/th&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.tx.timestamp | date}} &lt;/td&gt;
&lt;td mat-cell *matCellDef&#x3D;&quot;let transaction&quot;&gt; {{transaction?.tx.timestamp | unixDate}} &lt;/td&gt;
&lt;/ng-container&gt;
&lt;ng-container matColumnDef&#x3D;&quot;type&quot;&gt;
@@ -1130,7 +1185,7 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
<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 active" aria-current="page">Transactions</li> </ol> </nav> <div class="card"> <mat-card-title class="card-header"> Transfers </mat-card-title> <div class="card-body"> <app-transaction-details [transaction]="transaction"></app-transaction-details> <div class="row card-header"> <mat-form-field appearance="outline"> <mat-label> TRANSFER TYPE </mat-label> <mat-select id="typeSelect" [(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()"> EXPORT </button> </div> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value, transactionDataSource)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <table mat-table class="mat-elevation-z10" [dataSource]="transactionDataSource" matSort matSortActive="created" matSortDirection="desc" 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}} </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}} </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}}</span> <span *ngIf="transaction.type == \'conversion\'">{{transaction?.toValue | tokenRatio}}</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 | date}} </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="transactionDisplayedColumns"></tr> <tr mat-row *matRowDef="let transaction; columns: transactionDisplayedColumns;" (click)="viewTransaction(transaction)"></tr> </table> <mat-paginator [pageSize]="defaultPageSize" [pageSizeOptions]="pageSizeOptions" showFirstLastButtons></mat-paginator> </div> </div> </div> <app-footer appMenuSelection></app-footer> </div> <!-- ============================================================== --> <!-- End Page content --> <!-- ============================================================== --></div></div>'
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 active" aria-current="page">Transactions</li> </ol> </nav> <div class="card"> <mat-card-title class="card-header"> Transfers </mat-card-title> <div class="card-body"> <app-transaction-details [transaction]="transaction" (closeWindow)="transaction = $event"></app-transaction-details> <div class="row card-header"> <mat-form-field appearance="outline"> <mat-label> TRANSFER TYPE </mat-label> <mat-select id="typeSelect" [(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()"> EXPORT </button> </div> <mat-form-field appearance="outline"> <mat-label> Filter </mat-label> <input matInput type="text" (keyup)="doFilter($event.target.value, transactionDataSource)" placeholder="Filter"> <mat-icon matSuffix>search</mat-icon> </mat-form-field> <table mat-table class="mat-elevation-z10" [dataSource]="transactionDataSource" matSort matSortActive="created" matSortDirection="desc" 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="transactionDisplayedColumns"></tr> <tr mat-row *matRowDef="let transaction; columns: transactionDisplayedColumns;" (click)="viewTransaction(transaction)"></tr> </table> <mat-paginator [pageSize]="defaultPageSize" [pageSizeOptions]="pageSizeOptions" showFirstLastButtons></mat-paginator> </div> </div> </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': 'TransactionsComponent'};