refactored TransactionsComponent to allow for passed in query types and values

This commit is contained in:
Darren Nelsen 2017-08-02 11:20:16 -04:00
parent f02fd3c01f
commit 22351df704
5 changed files with 14 additions and 25 deletions

View File

@ -16,8 +16,8 @@ import { Http } from '@angular/http';
export class TransactionsComponent { export class TransactionsComponent {
public loading: boolean = true; public loading: boolean = true;
@Input() public blockHash: string; @Input() public queryType: string;
@Input() public address: string; @Input() public queryValue: string;
public transactions: any = []; public transactions: any = [];
constructor(private navCtrl: NavController, private http: Http) { constructor(private navCtrl: NavController, private http: Http) {
@ -25,21 +25,10 @@ export class TransactionsComponent {
private ngOnInit(): void { private ngOnInit(): void {
let apiPrefix: string = 'http://localhost:3001/insight-api/'; let apiPrefix: string = 'http://localhost:3001/insight-api/';
let lookupType: string, lookupValue: string;
if (this.blockHash) { let url: string = apiPrefix + 'txs?' + this.queryType + '=' + this.queryValue;
lookupType = 'blocks';
lookupValue = this.blockHash;
}
if (this.address) {
lookupType = 'address';
lookupValue = this.address;
}
console.log('blockHash', this.blockHash); this.http.get(url).subscribe(
console.log('address', this.address);
this.http.get(apiPrefix + 'txs?' + lookupType + '=' + lookupValue).subscribe(
(data) => { (data) => {
this.transactions = JSON.parse(data['_body']); this.transactions = JSON.parse(data['_body']);
this.loading = false; this.loading = false;

View File

@ -49,5 +49,5 @@
</ion-row> </ion-row>
</ion-grid> </ion-grid>
<transactions [address]="address"></transactions> <transactions [queryType]="'address'" [queryValue]="address"></transactions>
</ion-content> </ion-content>

View File

@ -1,15 +1,15 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { AddressPage } from './address'; import { AddressPage } from './address';
import { TransactionsComponent } from '../../components/transactions/transactions'; import { TransactionsComponentModule } from '../../components/transactions/transactions.module';
@NgModule({ @NgModule({
declarations: [ declarations: [
AddressPage, AddressPage
TransactionsComponent
], ],
imports: [ imports: [
IonicPageModule.forChild(AddressPage) IonicPageModule.forChild(AddressPage),
TransactionsComponentModule
], ],
exports: [ exports: [
AddressPage AddressPage

View File

@ -33,7 +33,7 @@
<p>Next Block <a (click)="goToNextBlock()">{{ block.height + 1 }}</a></p> <p>Next Block <a (click)="goToNextBlock()">{{ block.height + 1 }}</a></p>
<h3>Transactions</h3> <h3>Transactions</h3>
<transactions [blockHash]="block.hash"></transactions> <transactions [queryType]="'block'" [queryValue]="block.hash"></transactions>
</div> </div>
<div *ngIf="loading"> <div *ngIf="loading">
<p>Loading...</p> <p>Loading...</p>

View File

@ -1,15 +1,15 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular'; import { IonicPageModule } from 'ionic-angular';
import { BlockDetailPage } from './block-detail'; import { BlockDetailPage } from './block-detail';
import { TransactionsComponent } from '../../components/transactions/transactions'; import { TransactionsComponentModule } from '../../components/transactions/transactions.module';
@NgModule({ @NgModule({
declarations: [ declarations: [
BlockDetailPage, BlockDetailPage
TransactionsComponent
], ],
imports: [ imports: [
IonicPageModule.forChild(BlockDetailPage) IonicPageModule.forChild(BlockDetailPage),
TransactionsComponentModule
], ],
exports: [ exports: [
BlockDetailPage BlockDetailPage