mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #6783 from gabrielbazan7/feat/popupProvider
Feat: popup provider added
This commit is contained in:
commit
a3f1dba7ec
|
@ -1,159 +1,165 @@
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
import { HttpModule, Http } from '@angular/http';
|
|
||||||
import { ErrorHandler, NgModule, APP_INITIALIZER } from '@angular/core';
|
import { ErrorHandler, NgModule, APP_INITIALIZER } from '@angular/core';
|
||||||
|
import { HttpModule, Http } from '@angular/http';
|
||||||
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
|
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
|
||||||
|
|
||||||
/* Native modules */
|
/* Native modules */
|
||||||
|
import { Clipboard } from '@ionic-native/clipboard';
|
||||||
|
import { QRScanner } from '@ionic-native/qr-scanner';
|
||||||
import { StatusBar } from '@ionic-native/status-bar';
|
import { StatusBar } from '@ionic-native/status-bar';
|
||||||
import { SplashScreen } from '@ionic-native/splash-screen';
|
import { SplashScreen } from '@ionic-native/splash-screen';
|
||||||
import { Toast } from '@ionic-native/toast';
|
|
||||||
import { Clipboard } from '@ionic-native/clipboard';
|
|
||||||
import { SocialSharing } from '@ionic-native/social-sharing';
|
import { SocialSharing } from '@ionic-native/social-sharing';
|
||||||
import { QRScanner } from '@ionic-native/qr-scanner';
|
import { Toast } from '@ionic-native/toast';
|
||||||
|
|
||||||
/* Modules */
|
/* Modules */
|
||||||
|
import { MomentModule } from 'angular2-moment';
|
||||||
import { NgLoggerModule, Logger, Level } from '@nsalaun/ng-logger';
|
import { NgLoggerModule, Logger, Level } from '@nsalaun/ng-logger';
|
||||||
|
import { QRCodeModule } from 'angular2-qrcode';
|
||||||
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
||||||
import { TranslatePoHttpLoader } from '@biesbjerg/ngx-translate-po-http-loader';
|
import { TranslatePoHttpLoader } from '@biesbjerg/ngx-translate-po-http-loader';
|
||||||
import { QRCodeModule } from 'angular2-qrcode';
|
|
||||||
import { MomentModule } from 'angular2-moment';
|
|
||||||
|
|
||||||
/* Copay App */
|
/* Copay App */
|
||||||
import { CopayApp } from './app.component';
|
import { CopayApp } from './app.component';
|
||||||
|
|
||||||
/* Pages */
|
/* Pages */
|
||||||
import { TabsPage } from '../pages/tabs/tabs';
|
|
||||||
import { OnboardingPage } from '../pages/onboarding/onboarding';
|
|
||||||
import { TourPage } from '../pages/onboarding/tour/tour';
|
|
||||||
import { EmailPage } from '../pages/onboarding/email/email';
|
|
||||||
import { BackupRequestPage } from '../pages/onboarding/backup-request/backup-request';
|
import { BackupRequestPage } from '../pages/onboarding/backup-request/backup-request';
|
||||||
import { DisclaimerPage } from '../pages/onboarding/disclaimer/disclaimer';
|
import { DisclaimerPage } from '../pages/onboarding/disclaimer/disclaimer';
|
||||||
|
import { EmailPage } from '../pages/onboarding/email/email';
|
||||||
|
import { OnboardingPage } from '../pages/onboarding/onboarding';
|
||||||
|
import { TabsPage } from '../pages/tabs/tabs';
|
||||||
|
import { TourPage } from '../pages/onboarding/tour/tour';
|
||||||
|
|
||||||
/* Tabs */
|
/* Tabs */
|
||||||
import { HomePage } from '../pages/home/home';
|
import { HomePage } from '../pages/home/home';
|
||||||
import { ReceivePage } from '../pages/receive/receive';
|
import { ReceivePage } from '../pages/receive/receive';
|
||||||
import { ScanPage } from '../pages/scan/scan';
|
import { ScanPage } from '../pages/scan/scan';
|
||||||
import { SendPage } from '../pages/send/send';
|
import { SendPage } from '../pages/send/send';
|
||||||
import { SettingsPage } from '../pages/settings/settings';
|
import { SettingsPage } from '../pages/settings/settings';
|
||||||
|
|
||||||
/* Settings */
|
/* Settings */
|
||||||
import { AboutPage } from '../pages/settings/about/about';
|
import { AboutPage } from '../pages/settings/about/about';
|
||||||
import { AdvancedPage } from '../pages/settings/advanced/advanced';
|
import { AdvancedPage } from '../pages/settings/advanced/advanced';
|
||||||
import { TermsOfUsePage } from '../pages/settings/about/terms-of-use/terms-of-use';
|
|
||||||
import { AltCurrencyPage } from '../pages/settings/alt-currency/alt-currency';
|
import { AltCurrencyPage } from '../pages/settings/alt-currency/alt-currency';
|
||||||
|
import { TermsOfUsePage } from '../pages/settings/about/terms-of-use/terms-of-use';
|
||||||
|
|
||||||
/* Send */
|
/* Send */
|
||||||
import { AmountPage } from '../pages/send/amount/amount';
|
import { AmountPage } from '../pages/send/amount/amount';
|
||||||
import { ConfirmPage } from '../pages/send/confirm/confirm';
|
import { ConfirmPage } from '../pages/send/confirm/confirm';
|
||||||
|
|
||||||
/* Receive */
|
/* Receive */
|
||||||
import { CustomAmountPage } from '../pages/receive/custom-amount/custom-amount';
|
import { CustomAmountPage } from '../pages/receive/custom-amount/custom-amount';
|
||||||
|
|
||||||
|
|
||||||
/* Providers */
|
/* Providers */
|
||||||
import { WalletProvider } from '../providers/wallet/wallet';
|
|
||||||
import { PersistenceProvider, persistenceProviderFactory } from '../providers/persistence/persistence';
|
|
||||||
import { AppProvider } from '../providers/app/app';
|
import { AppProvider } from '../providers/app/app';
|
||||||
import { PlatformProvider } from '../providers/platform/platform';
|
import { BwcProvider } from '../providers/bwc/bwc';
|
||||||
import { ConfigProvider } from '../providers/config/config';
|
import { ConfigProvider } from '../providers/config/config';
|
||||||
import { LanguageProvider } from '../providers/language/language';
|
import { LanguageProvider } from '../providers/language/language';
|
||||||
import { ScanProvider } from '../providers/scan/scan';
|
import { PersistenceProvider, persistenceProviderFactory } from '../providers/persistence/persistence';
|
||||||
|
import { PlatformProvider } from '../providers/platform/platform';
|
||||||
|
import { PopupProvider } from '../providers/popup/popup';
|
||||||
import { ProfileProvider } from '../providers/profile/profile';
|
import { ProfileProvider } from '../providers/profile/profile';
|
||||||
import { BwcProvider } from '../providers/bwc/bwc';
|
|
||||||
import { RateProvider } from '../providers/rate/rate';
|
import { RateProvider } from '../providers/rate/rate';
|
||||||
|
import { ScanProvider } from '../providers/scan/scan';
|
||||||
|
import { WalletProvider } from '../providers/wallet/wallet';
|
||||||
|
|
||||||
export function createTranslateLoader(http: Http) {
|
export function createTranslateLoader(http: Http) {
|
||||||
return new TranslatePoHttpLoader(http, 'assets/i18n', '.po');
|
return new TranslatePoHttpLoader(http, 'assets/i18n', '.po');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let pages: any = [
|
||||||
|
AboutPage,
|
||||||
|
AdvancedPage,
|
||||||
|
AltCurrencyPage,
|
||||||
|
AmountPage,
|
||||||
|
BackupRequestPage,
|
||||||
|
ConfirmPage,
|
||||||
|
CustomAmountPage,
|
||||||
|
CopayApp,
|
||||||
|
DisclaimerPage,
|
||||||
|
EmailPage,
|
||||||
|
HomePage,
|
||||||
|
OnboardingPage,
|
||||||
|
ReceivePage,
|
||||||
|
SendPage,
|
||||||
|
ScanPage,
|
||||||
|
SettingsPage,
|
||||||
|
TermsOfUsePage,
|
||||||
|
TourPage,
|
||||||
|
TabsPage,
|
||||||
|
];
|
||||||
|
|
||||||
|
let providers: any = [
|
||||||
|
AppProvider,
|
||||||
|
BwcProvider,
|
||||||
|
ConfigProvider,
|
||||||
|
Clipboard,
|
||||||
|
LanguageProvider,
|
||||||
|
PlatformProvider,
|
||||||
|
ProfileProvider,
|
||||||
|
PopupProvider,
|
||||||
|
QRScanner,
|
||||||
|
RateProvider,
|
||||||
|
StatusBar,
|
||||||
|
SplashScreen,
|
||||||
|
ScanProvider,
|
||||||
|
SocialSharing,
|
||||||
|
Toast,
|
||||||
|
WalletProvider,
|
||||||
|
{
|
||||||
|
provide: ErrorHandler,
|
||||||
|
useClass: IonicErrorHandler
|
||||||
|
},
|
||||||
|
{
|
||||||
|
provide: APP_INITIALIZER,
|
||||||
|
useFactory: (app: AppProvider) => () => app.load(),
|
||||||
|
deps: [AppProvider],
|
||||||
|
multi: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
provide: PersistenceProvider,
|
||||||
|
useFactory: persistenceProviderFactory,
|
||||||
|
deps: [PlatformProvider, Logger],
|
||||||
|
multi: false
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
let imports: any = [
|
||||||
|
BrowserModule,
|
||||||
|
IonicModule.forRoot(CopayApp),
|
||||||
|
HttpModule,
|
||||||
|
NgLoggerModule.forRoot(Level.LOG),
|
||||||
|
MomentModule,
|
||||||
|
QRCodeModule,
|
||||||
|
TranslateModule.forRoot({
|
||||||
|
loader: {
|
||||||
|
provide: TranslateLoader,
|
||||||
|
useFactory: createTranslateLoader,
|
||||||
|
deps: [Http]
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
|
||||||
|
export function declarationsComponents() {
|
||||||
|
return pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function entryComponents() {
|
||||||
|
return pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function providersComponents() {
|
||||||
|
return providers;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function importsComponents() {
|
||||||
|
return imports;
|
||||||
|
}
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: declarationsComponents(),
|
||||||
CopayApp,
|
imports: importsComponents(),
|
||||||
HomePage,
|
|
||||||
ReceivePage,
|
|
||||||
SendPage,
|
|
||||||
ScanPage,
|
|
||||||
SettingsPage,
|
|
||||||
AboutPage,
|
|
||||||
AdvancedPage,
|
|
||||||
TermsOfUsePage,
|
|
||||||
OnboardingPage,
|
|
||||||
TourPage,
|
|
||||||
EmailPage,
|
|
||||||
BackupRequestPage,
|
|
||||||
DisclaimerPage,
|
|
||||||
TabsPage,
|
|
||||||
AmountPage,
|
|
||||||
ConfirmPage,
|
|
||||||
CustomAmountPage,
|
|
||||||
AltCurrencyPage
|
|
||||||
],
|
|
||||||
imports: [
|
|
||||||
BrowserModule,
|
|
||||||
HttpModule,
|
|
||||||
NgLoggerModule.forRoot(Level.LOG),
|
|
||||||
MomentModule,
|
|
||||||
QRCodeModule,
|
|
||||||
TranslateModule.forRoot({
|
|
||||||
loader: {
|
|
||||||
provide: TranslateLoader,
|
|
||||||
useFactory: createTranslateLoader,
|
|
||||||
deps: [Http]
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
IonicModule.forRoot(CopayApp)
|
|
||||||
],
|
|
||||||
bootstrap: [IonicApp],
|
bootstrap: [IonicApp],
|
||||||
entryComponents: [
|
entryComponents: entryComponents(),
|
||||||
CopayApp,
|
providers: providersComponents()
|
||||||
HomePage,
|
|
||||||
ReceivePage,
|
|
||||||
ScanPage,
|
|
||||||
SendPage,
|
|
||||||
SettingsPage,
|
|
||||||
AboutPage,
|
|
||||||
AdvancedPage,
|
|
||||||
TermsOfUsePage,
|
|
||||||
OnboardingPage,
|
|
||||||
TourPage,
|
|
||||||
EmailPage,
|
|
||||||
BackupRequestPage,
|
|
||||||
DisclaimerPage,
|
|
||||||
TabsPage,
|
|
||||||
AmountPage,
|
|
||||||
ConfirmPage,
|
|
||||||
CustomAmountPage,
|
|
||||||
AltCurrencyPage
|
|
||||||
],
|
|
||||||
providers: [
|
|
||||||
StatusBar,
|
|
||||||
SplashScreen,
|
|
||||||
Clipboard,
|
|
||||||
Toast,
|
|
||||||
SocialSharing,
|
|
||||||
{
|
|
||||||
provide: ErrorHandler,
|
|
||||||
useClass: IonicErrorHandler
|
|
||||||
},
|
|
||||||
{
|
|
||||||
provide: APP_INITIALIZER,
|
|
||||||
useFactory: (app: AppProvider) => () => app.load(),
|
|
||||||
deps: [AppProvider],
|
|
||||||
multi: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
provide: PersistenceProvider,
|
|
||||||
useFactory: persistenceProviderFactory,
|
|
||||||
deps: [PlatformProvider, Logger],
|
|
||||||
multi: false
|
|
||||||
},
|
|
||||||
WalletProvider,
|
|
||||||
AppProvider,
|
|
||||||
PlatformProvider,
|
|
||||||
ConfigProvider,
|
|
||||||
LanguageProvider,
|
|
||||||
QRScanner,
|
|
||||||
ScanProvider,
|
|
||||||
ProfileProvider,
|
|
||||||
BwcProvider,
|
|
||||||
RateProvider
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
export class AppModule { }
|
export class AppModule { }
|
||||||
|
|
|
@ -18,6 +18,6 @@ export class HomePage {
|
||||||
ionViewDidLoad() {
|
ionViewDidLoad() {
|
||||||
console.log('ionViewDidLoad HomePage');
|
console.log('ionViewDidLoad HomePage');
|
||||||
this.wallets = this.profile.bind();
|
this.wallets = this.profile.bind();
|
||||||
console.log('[home.ts:20]',this.wallets); //TODO
|
console.log('[home.ts:20]', this.wallets); //TODO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { Platform } from 'ionic-angular';
|
||||||
|
import { AlertController } from 'ionic-angular';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class PopupProvider {
|
||||||
|
constructor(private platform: Platform, public alertCtrl: AlertController) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ionicAlert(title, subTitle, okText): void {
|
||||||
|
let alert = this.alertCtrl.create({
|
||||||
|
title: title,
|
||||||
|
subTitle: subTitle,
|
||||||
|
buttons: [okText]
|
||||||
|
});
|
||||||
|
alert.present();
|
||||||
|
};
|
||||||
|
|
||||||
|
ionicConfirm(title, message, okText, cancelText): void {
|
||||||
|
let confirm = this.alertCtrl.create({
|
||||||
|
title: title,
|
||||||
|
message: message,
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: cancelText,
|
||||||
|
handler: () => {
|
||||||
|
console.log('Disagree clicked');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: okText,
|
||||||
|
handler: () => {
|
||||||
|
console.log('Agree clicked');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
confirm.present();
|
||||||
|
};
|
||||||
|
|
||||||
|
ionicPrompt(title, message, okText, cancelText, opts) {
|
||||||
|
opts = opts || {};
|
||||||
|
let prompt = this.alertCtrl.create({
|
||||||
|
title: title,
|
||||||
|
message: message,
|
||||||
|
inputs: [
|
||||||
|
{
|
||||||
|
name: 'title',
|
||||||
|
placeholder: 'Title'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: cancelText,
|
||||||
|
handler: data => {
|
||||||
|
console.log('Cancel clicked');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: okText,
|
||||||
|
handler: data => {
|
||||||
|
console.log('Saved clicked');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
prompt.present();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue