UNPKG

fcash-insight

Version:
126 lines (115 loc) 3.78 kB
import { Component } from '@angular/core'; import { Input } from '@angular/core'; import { NavController } from 'ionic-angular'; import { Http } from '@angular/http'; import { ApiProvider } from '../../providers/api/api'; import { CurrencyProvider } from '../../providers/currency/currency'; import { ActionSheetController } from 'ionic-angular'; import { PopoverController } from 'ionic-angular'; import { ToastController } from 'ionic-angular'; import { DenominationComponent } from '../denomination/denomination'; /** * Generated class for the HeadNavComponent component. * * See https://angular.io/docs/ts/latest/api/core/index/ComponentMetadata-class.html * for more info on Angular Components. */ @Component({ selector: 'head-nav', templateUrl: 'head-nav.html' }) export class HeadNavComponent { public showSearch: boolean = false; public loading: boolean; @Input() public title: string; public q: string; constructor( private navCtrl: NavController, private http: Http, private api: ApiProvider, public currency: CurrencyProvider, public actionSheetCtrl: ActionSheetController, public popoverCtrl: PopoverController, public toastCtrl: ToastController ) { } public search(): void { this.showSearch = false; let apiPrefix: string = this.api.apiPrefix; this.http.get(apiPrefix + 'block/' + this.q).subscribe( function (data: any): void { this.resetSearch(); console.log('block', data); let parsedData: any = JSON.parse(data._body); this.navCtrl.push('block-detail', { 'blockHash': parsedData.hash }); }.bind(this), () => { this.http.get(apiPrefix + 'tx/' + this.q).subscribe( function (data: any): void { this.resetSearch(); console.log('tx', data); let parsedData: any = JSON.parse(data._body); this.navCtrl.push('transaction', { 'txId': parsedData.txid }); }.bind(this), () => { this.http.get(apiPrefix + 'addr/' + this.q).subscribe( function (data: any): void { this.resetSearch(); console.log('addr', data); let parsedData: any = JSON.parse(data._body); this.navCtrl.push('address', { 'addrStr': parsedData.addrStr }); }.bind(this), () => { this.http.get(apiPrefix + 'block-index/' + this.q).subscribe( function (data: any): void { this.resetSearch(); let parsedData: any = JSON.parse(data._body); this.navCtrl.push('block-detail', { 'blockHash': parsedData.blockHash }); }.bind(this), function (): void { this.loading = false; this.reportBadQuery(); }.bind(this) ); } ); } ); } ); } /* tslint:disable:no-unused-variable */ private reportBadQuery(): void { this.presentToast(); } private presentToast(): void { const toast: any = this.toastCtrl.create({ message: 'No matching records found!', duration: 3000, position: 'top' }); toast.present(); } private resetSearch(): void { this.q = ''; this.loading = false; } /* tslint:enable:no-unused-variable */ public changeCurrency(myEvent: any): void { let popover: any = this.popoverCtrl.create(DenominationComponent); popover.present({ ev: myEvent }); } public toggleSearch(): void { this.showSearch = !this.showSearch; } }