Update docs.
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -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<void></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<void> {
|
||||
await this.userService.init();
|
||||
this.nameSearchForm = this.formBuilder.group({
|
||||
name: ['', Validators.required],
|
||||
});
|
||||
|
||||
@@ -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<void></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 () => {
|
||||
try {
|
||||
// TODO it feels like this should be in the onInit handler
|
||||
await this.userService.loadAccounts(100);
|
||||
} catch (error) {
|
||||
this.loggingService.sendErrorLevelMessage('Failed to load accounts', this, { error });
|
||||
}
|
||||
})();
|
||||
this.userService
|
||||
.getAccountTypes()
|
||||
.pipe(first())
|
||||
.subscribe((res) => (this.accountTypes = res));
|
||||
}
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
async ngOnInit(): Promise<void> {
|
||||
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('Failed to load accounts', this, { error });
|
||||
}
|
||||
this.userService.accountsSubject.subscribe((accounts) => {
|
||||
this.dataSource = new MatTableDataSource<any>(accounts);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
this.accounts = accounts;
|
||||
});
|
||||
this.userService
|
||||
.getAccountTypes()
|
||||
.pipe(first())
|
||||
.subscribe((res) => (this.accountTypes = res));
|
||||
}
|
||||
|
||||
doFilter(value: string): void {
|
||||
@@ -1030,7 +1031,7 @@ export class AccountsComponent implements OnInit {
|
||||
|
||||
<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>
|
||||
<mat-cell *matCellDef="let user"> {{user?.date_registered | unixDate}} </mat-cell>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="balance">
|
||||
@@ -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'};
|
||||
|
||||
@@ -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<void></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<void> {
|
||||
await this.userService.init();
|
||||
this.userService.getActions();
|
||||
this.userService.actionsSubject.subscribe((actions) => {
|
||||
this.dataSource = new MatTableDataSource<any>(actions);
|
||||
@@ -929,8 +935,6 @@ export class AdminComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
doFilter(value: string): void {
|
||||
this.dataSource.filter = value.trim().toLocaleLowerCase();
|
||||
}
|
||||
|
||||
@@ -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<void></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 () => {
|
||||
try {
|
||||
await this.authService.init();
|
||||
// this.authService.getPublicKeys()
|
||||
// .pipe(catchError(async (error) => {
|
||||
// this.loggingService.sendErrorLevelMessage('Unable to load trusted public keys.', this, {error});
|
||||
// this.errorDialogService.openDialog({message: 'Trusted keys endpoint can\'t be reached. Please try again later.'});
|
||||
// })).subscribe(this.authService.mutableKeyStore.importPublicKey);
|
||||
const publicKeys = await this.authService.getPublicKeys();
|
||||
await this.authService.mutableKeyStore.importPublicKey(publicKeys);
|
||||
} catch (error) {
|
||||
this.errorDialogService.openDialog({
|
||||
message: 'Trusted keys endpoint cannot be reached. Please try again later.',
|
||||
});
|
||||
// TODO do something to halt user progress...show a sad cicada page 🦗?
|
||||
}
|
||||
})();
|
||||
this.mediaQuery.addEventListener('change', this.onResize);
|
||||
this.onResize(this.mediaQuery);
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
async ngOnInit(): Promise<void> {
|
||||
await this.authService.init();
|
||||
await this.transactionService.init();
|
||||
try {
|
||||
const publicKeys = await this.authService.getPublicKeys();
|
||||
await this.authService.mutableKeyStore.importPublicKey(publicKeys);
|
||||
this.authService.getTrustedUsers();
|
||||
} catch (error) {
|
||||
this.errorDialogService.openDialog({
|
||||
message: 'Trusted keys endpoint cannot be reached. Please try again later.',
|
||||
});
|
||||
// TODO do something to halt user progress...show a sad cicada page 🦗?
|
||||
}
|
||||
if (!this.swUpdate.isEnabled) {
|
||||
this.swUpdate.available.subscribe(() => {
|
||||
if (confirm('New Version available. Load New Version?')) {
|
||||
@@ -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"><app-network-status></app-network-status>
|
||||
<router-outlet (activate)="onResize(mediaQuery)"></router-outlet>
|
||||
<pre class="line-numbers"><code class="language-html"><router-outlet (activate)="onResize(mediaQuery)"></router-outlet>
|
||||
</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'};
|
||||
|
||||
@@ -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<void></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 '@angular/forms';
|
||||
import { CustomErrorStateMatcher } from '@app/_helpers';
|
||||
import { AuthService } from '@app/_services';
|
||||
import { ErrorDialogService } from '@app/_services/error-dialog.service';
|
||||
import { LoggingService } from '@app/_services/logging.service';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@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<void> {
|
||||
this.keyForm = this.formBuilder.group({
|
||||
key: ['', Validators.required],
|
||||
});
|
||||
await this.authService.init();
|
||||
// if (this.authService.privateKey !== undefined) {
|
||||
// const setKey = 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 = 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(['/home']);
|
||||
async login(): Promise<void> {
|
||||
try {
|
||||
const loginResult = await this.authService.login();
|
||||
if (loginResult) {
|
||||
this.router.navigate(['/home']);
|
||||
}
|
||||
} catch (HttpError) {
|
||||
this.errorDialogService.openDialog({
|
||||
message: HttpError.message,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
switchWindows(): void {
|
||||
this.authService.sessionToken = undefined;
|
||||
const divOne: HTMLElement = document.getElementById('one');
|
||||
const divTwo: HTMLElement = document.getElementById('two');
|
||||
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"><div class="container">
|
||||
<pre class="line-numbers"><code class="language-html"><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 bg-dark">
|
||||
<mat-card-title class="card-header pt-4 pb-4 text-center background-dark">
|
||||
<a routerLink="/">
|
||||
<h1 class="text-white">CICADA</h1>
|
||||
</a>
|
||||
@@ -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'};
|
||||
|
||||
@@ -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<void></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<void> {
|
||||
await this.userService.init();
|
||||
this.createForm = this.formBuilder.group({
|
||||
accountType: ['', Validators.required],
|
||||
idNumber: ['', Validators.required],
|
||||
|
||||
@@ -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 = 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"><!-- Footer Start -->
|
||||
<footer class="footer">
|
||||
2020 © Grassroots Economics
|
||||
<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 -->
|
||||
</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'};
|
||||
|
||||
@@ -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"><nav class="navbar navbar-dark bg-dark">
|
||||
<pre class="line-numbers"><code class="language-html"><nav class="navbar navbar-dark background-dark">
|
||||
<h1 class="navbar-brand">
|
||||
<div *ngIf="noInternetConnection; then offlineBlock else onlineBlock"></div>
|
||||
<ng-template #offlineBlock>
|
||||
@@ -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'};
|
||||
|
||||
@@ -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<void></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<any>;
|
||||
displayedColumns: Array<string> = ['name', 'email', 'userId'];
|
||||
trustedUsers: Array<Staff>;
|
||||
userInfo: Staff;
|
||||
|
||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||
@ViewChild(MatSort) sort: MatSort;
|
||||
|
||||
constructor(private authService: AuthService) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
const d = new Date();
|
||||
this.date = `${d.getDate()}/${d.getMonth()}/${d.getFullYear()}`;
|
||||
this.trustedUsers = this.authService.getTrustedUsers();
|
||||
this.dataSource = new MatTableDataSource<any>(this.trustedUsers);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
async ngOnInit(): Promise<void> {
|
||||
await this.authService.init();
|
||||
this.authService.trustedUsersSubject.subscribe((users) => {
|
||||
this.dataSource = new MatTableDataSource<any>(users);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
this.trustedUsers = users;
|
||||
});
|
||||
this.userInfo = this.authService.getPrivateKeyInfo();
|
||||
}
|
||||
|
||||
doFilter(value: string): void {
|
||||
@@ -704,9 +740,10 @@ export class SettingsComponent implements OnInit {
|
||||
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>
|
||||
<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">
|
||||
@@ -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'};
|
||||
|
||||
@@ -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"><!-- ========== Left Sidebar Start ========== -->
|
||||
<div id="sidebar">
|
||||
<app-network-status></app-network-status>
|
||||
<nav>
|
||||
|
||||
<div class="sidebar-header">
|
||||
@@ -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'};
|
||||
|
||||
@@ -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<any></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 '@angular/core';
|
||||
import { ActivatedRoute, Params } from '@angular/router';
|
||||
import { TokenService } from '@app/_services';
|
||||
import { first } from 'rxjs/operators';
|
||||
import { Token } from '../../../_models';
|
||||
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {
|
||||
ChangeDetectionStrategy,
|
||||
Component,
|
||||
EventEmitter,
|
||||
Input,
|
||||
OnInit,
|
||||
Output,
|
||||
} from '@angular/core';
|
||||
import { Token } from '@app/_models';
|
||||
|
||||
@Component({
|
||||
selector: 'app-token-details',
|
||||
@@ -324,85 +355,59 @@ import { Token } from '../../../_models';
|
||||
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) => {
|
||||
this.tokenService
|
||||
.getTokenBySymbol(params.get('id'))
|
||||
.pipe(first())
|
||||
.subscribe((res) => {
|
||||
this.token = res;
|
||||
});
|
||||
});
|
||||
}
|
||||
@Output() closeWindow: EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
constructor() {}
|
||||
|
||||
ngOnInit(): void {}
|
||||
|
||||
close(): void {
|
||||
this.token = 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"><!-- 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>
|
||||
<pre class="line-numbers"><code class="language-html"><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>
|
||||
<app-footer appMenuSelection></app-footer>
|
||||
</div>
|
||||
<!-- ============================================================== -->
|
||||
<!-- End Page content -->
|
||||
<!-- ============================================================== -->
|
||||
</div>
|
||||
|
||||
</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'};
|
||||
|
||||
@@ -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<void></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<Promise<string>></code>
|
||||
<i>Type : </i> <code><a href="../interfaces/Token.html" target="_self" >Array<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>
|
||||
<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 '@app/_services';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { Router } from '@angular/router';
|
||||
import { exportCsv } from '@app/_helpers';
|
||||
import { TokenRegistry } from '../../_eth';
|
||||
import { Token } from '../../_models';
|
||||
import { Token } from '@app/_models';
|
||||
|
||||
@Component({
|
||||
selector: 'app-tokens',
|
||||
@@ -677,7 +703,8 @@ export class TokensComponent implements OnInit {
|
||||
columnsToDisplay: Array<string> = ['name', 'symbol', 'address', 'supply'];
|
||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||
@ViewChild(MatSort) sort: MatSort;
|
||||
tokens: Array<Promise<string>>;
|
||||
tokens: Array<Token>;
|
||||
token: Token;
|
||||
|
||||
constructor(
|
||||
private tokenService: TokenService,
|
||||
@@ -686,22 +713,27 @@ export class TokensComponent implements OnInit {
|
||||
) {}
|
||||
|
||||
async ngOnInit(): Promise<void> {
|
||||
this.tokenService.LoadEvent.subscribe(async () => {
|
||||
this.tokens = await this.tokenService.getTokens();
|
||||
await this.tokenService.init();
|
||||
this.tokenService.load.subscribe(async (status: boolean) => {
|
||||
if (status) {
|
||||
await this.tokenService.getTokens();
|
||||
}
|
||||
});
|
||||
this.tokenService.tokensSubject.subscribe((tokens) => {
|
||||
this.loggingService.sendInfoLevelMessage(tokens);
|
||||
this.dataSource = new MatTableDataSource(tokens);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
this.tokens = tokens;
|
||||
});
|
||||
this.tokens = await this.tokenService.getTokens();
|
||||
this.loggingService.sendInfoLevelMessage(this.tokens);
|
||||
this.dataSource = new MatTableDataSource(this.tokens);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
}
|
||||
|
||||
doFilter(value: string): void {
|
||||
this.dataSource.filter = value.trim().toLocaleLowerCase();
|
||||
}
|
||||
|
||||
async viewToken(token): Promise<void> {
|
||||
await this.router.navigateByUrl(`/tokens/${token.symbol}`);
|
||||
viewToken(token): void {
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
downloadCsv(): void {
|
||||
@@ -738,6 +770,9 @@ export class TokensComponent implements OnInit {
|
||||
</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">
|
||||
@@ -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
@@ -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<void></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 '@angular/core';
|
||||
import { BlockSyncService, TransactionService, UserService } from '@app/_services';
|
||||
import { BlockSyncService, TokenService, TransactionService, UserService } from '@app/_services';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { MatPaginator } from '@angular/material/paginator';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
@@ -941,6 +986,7 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
|
||||
transaction: Transaction;
|
||||
transactionsType: string = 'all';
|
||||
transactionsTypes: Array<string>;
|
||||
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<void> {
|
||||
this.transactionService.transactionsSubject.subscribe((transactions) => {
|
||||
this.transactionDataSource = new MatTableDataSource<any>(transactions);
|
||||
this.transactionDataSource.paginator = this.paginator;
|
||||
this.transactionDataSource.sort = this.sort;
|
||||
this.transactions = 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) => (this.transactionsTypes = res));
|
||||
this.tokenService.load.subscribe(async (status: boolean) => {
|
||||
if (status) {
|
||||
this.tokenSymbol = await this.tokenService.getTokenSymbol();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
viewTransaction(transaction): void {
|
||||
@@ -1024,7 +1079,7 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
|
||||
</mat-card-title>
|
||||
<div class="card-body">
|
||||
|
||||
<app-transaction-details [transaction]="transaction"></app-transaction-details>
|
||||
<app-transaction-details [transaction]="transaction" (closeWindow)="transaction = $event"></app-transaction-details>
|
||||
|
||||
<div class="row card-header">
|
||||
<mat-form-field appearance="outline">
|
||||
@@ -1050,25 +1105,25 @@ export class TransactionsComponent implements OnInit, AfterViewInit {
|
||||
|
||||
<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>
|
||||
<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}} </td>
|
||||
<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}}</span>
|
||||
<span *ngIf="transaction.type == 'conversion'">{{transaction?.toValue | tokenRatio}}</span>
|
||||
<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 | date}} </td>
|
||||
<td mat-cell *matCellDef="let transaction"> {{transaction?.tx.timestamp | unixDate}} </td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="type">
|
||||
@@ -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'};
|
||||
|
||||
Reference in New Issue
Block a user