copay-crown
Version:
A Secure Crown Wallet
88 lines (78 loc) • 2.99 kB
text/typescript
import { Component } from "@angular/core";
import { TranslateService } from '@ngx-translate/core';
import { ModalController, NavController } from 'ionic-angular';
import { Logger } from '../../../providers/logger/logger';
// providers
import { OnGoingProcessProvider } from '../../../providers/on-going-process/on-going-process';
import { PopupProvider } from '../../../providers/popup/popup';
import { ProfileProvider } from '../../../providers/profile/profile';
import { WalletProvider } from '../../../providers/wallet/wallet';
// pages
import { TxDetailsPage } from '../../tx-details/tx-details';
import { TxpDetailsPage } from '../../txp-details/txp-details';
import * as _ from 'lodash';
export class ActivityPage {
public addressbook: any;
public txps: any;
public notifications: any;
constructor(
private navCtrl: NavController,
private logger: Logger,
private profileProvider: ProfileProvider,
private modalCtrl: ModalController,
private onGoingProcessProvider: OnGoingProcessProvider,
private walletProvider: WalletProvider,
private popupProvider: PopupProvider,
private translate: TranslateService
) {
}
ionViewWillEnter() {
let loading = this.translate.instant('Updating... Please stand by');
this.onGoingProcessProvider.set(loading);
this.profileProvider.getNotifications(50).then((nData: any) => {
this.onGoingProcessProvider.clear();
this.notifications = nData.notifications;
this.profileProvider.getTxps({}).then((txpsData: any) => {
this.txps = txpsData.txps;
}).catch((err) => {
this.logger.error(err);
});
}).catch((err) => {
this.onGoingProcessProvider.clear();
this.logger.error(err);
});
}
public openNotificationModal(n: any): void {
let wallet = this.profileProvider.getWallet(n.walletId);
if (n.txid) {
this.navCtrl.push(TxDetailsPage, { txid: n.txid, walletId: n.walletId });
} else {
let txp = _.find(this.txps, {
id: n.txpId
});
if (txp) {
let modal = this.modalCtrl.create(TxpDetailsPage, { tx: txp }, { showBackdrop: false, enableBackdropDismiss: false });
modal.present();
}
else {
this.onGoingProcessProvider.set('loadingTxInfo');
this.walletProvider.getTxp(wallet, n.txpId).then((txp) => {
let _txp = txp;
this.onGoingProcessProvider.clear();
let modal = this.modalCtrl.create(TxpDetailsPage, { tx: _txp }, { showBackdrop: false, enableBackdropDismiss: false });
modal.present();
}).catch((err) => {
this.onGoingProcessProvider.clear();
this.logger.warn('No txp found');
let title = this.translate.instant('Error');
let subtitle = this.translate.instant('Transaction not found');
this.popupProvider.ionicAlert(title, subtitle);
});
}
}
};
}