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 { HttpModule, Http } from '@angular/http';
|
||||
import { ErrorHandler, NgModule, APP_INITIALIZER } from '@angular/core';
|
||||
import { HttpModule, Http } from '@angular/http';
|
||||
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
|
||||
|
||||
/* Native modules */
|
||||
import { Clipboard } from '@ionic-native/clipboard';
|
||||
import { QRScanner } from '@ionic-native/qr-scanner';
|
||||
import { StatusBar } from '@ionic-native/status-bar';
|
||||
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 { QRScanner } from '@ionic-native/qr-scanner';
|
||||
import { Toast } from '@ionic-native/toast';
|
||||
|
||||
/* Modules */
|
||||
import { MomentModule } from 'angular2-moment';
|
||||
import { NgLoggerModule, Logger, Level } from '@nsalaun/ng-logger';
|
||||
import { QRCodeModule } from 'angular2-qrcode';
|
||||
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
||||
import { TranslatePoHttpLoader } from '@biesbjerg/ngx-translate-po-http-loader';
|
||||
import { QRCodeModule } from 'angular2-qrcode';
|
||||
import { MomentModule } from 'angular2-moment';
|
||||
|
||||
/* Copay App */
|
||||
import { CopayApp } from './app.component';
|
||||
|
||||
/* 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 { 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 */
|
||||
import { HomePage } from '../pages/home/home';
|
||||
import { ReceivePage } from '../pages/receive/receive';
|
||||
import { ScanPage } from '../pages/scan/scan';
|
||||
import { SendPage } from '../pages/send/send';
|
||||
import { SettingsPage } from '../pages/settings/settings';
|
||||
|
||||
/* Settings */
|
||||
import { AboutPage } from '../pages/settings/about/about';
|
||||
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 { TermsOfUsePage } from '../pages/settings/about/terms-of-use/terms-of-use';
|
||||
|
||||
/* Send */
|
||||
import { AmountPage } from '../pages/send/amount/amount';
|
||||
import { ConfirmPage } from '../pages/send/confirm/confirm';
|
||||
|
||||
/* Receive */
|
||||
import { CustomAmountPage } from '../pages/receive/custom-amount/custom-amount';
|
||||
|
||||
|
||||
/* Providers */
|
||||
import { WalletProvider } from '../providers/wallet/wallet';
|
||||
import { PersistenceProvider, persistenceProviderFactory } from '../providers/persistence/persistence';
|
||||
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 { 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 { BwcProvider } from '../providers/bwc/bwc';
|
||||
import { RateProvider } from '../providers/rate/rate';
|
||||
import { ScanProvider } from '../providers/scan/scan';
|
||||
import { WalletProvider } from '../providers/wallet/wallet';
|
||||
|
||||
export function createTranslateLoader(http: Http) {
|
||||
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({
|
||||
declarations: [
|
||||
CopayApp,
|
||||
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)
|
||||
],
|
||||
declarations: declarationsComponents(),
|
||||
imports: importsComponents(),
|
||||
bootstrap: [IonicApp],
|
||||
entryComponents: [
|
||||
CopayApp,
|
||||
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
|
||||
]
|
||||
entryComponents: entryComponents(),
|
||||
providers: providersComponents()
|
||||
})
|
||||
export class AppModule { }
|
||||
|
|
|
@ -18,6 +18,6 @@ export class HomePage {
|
|||
ionViewDidLoad() {
|
||||
console.log('ionViewDidLoad HomePage');
|
||||
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