import { AbpModule } from '@abp/abp.module'; import * as ngCommon from '@angular/common'; import { NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { HttpClientModule, HttpClientJsonpModule } from '@angular/common/http'; import { CommonModule } from '@shared/common/common.module'; import { ServiceProxyModule } from '@shared/service-proxies/service-proxy.module'; import { UtilsModule } from '@shared/utils/utils.module'; import { RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; import { ModalModule } from 'ngx-bootstrap/modal'; import { AccountRoutingModule } from './account-routing.module'; import { AccountComponent } from './account.component'; import { AccountRouteGuard } from './auth/account-route-guard'; import { ConfirmEmailComponent } from './email-activation/confirm-email.component'; import { EmailActivationComponent } from './email-activation/email-activation.component'; import { LanguageSwitchComponent } from './language-switch.component'; import { LoginComponent } from './login/login.component'; import { LoginService } from './login/login.service'; import { SendTwoFactorCodeComponent } from './login/send-two-factor-code.component'; import { ValidateTwoFactorCodeComponent } from './login/validate-two-factor-code.component'; import { ForgotPasswordComponent } from './password/forgot-password.component'; import { ResetPasswordComponent } from './password/reset-password.component'; import { PayPalPurchaseComponent } from './payment/paypal/paypal-purchase.component'; import { StripePurchaseComponent } from './payment/stripe/stripe-purchase.component'; import { BuyEditionComponent } from './payment/buy.component'; import { UpgradeEditionComponent } from './payment/upgrade.component'; import { ExtendEditionComponent } from './payment/extend.component'; import { RegisterTenantResultComponent } from './register/register-tenant-result.component'; import { RegisterTenantComponent } from './register/register-tenant.component'; import { RegisterComponent } from './register/register.component'; import { SelectEditionComponent } from './register/select-edition.component'; import { TenantRegistrationHelperService } from './register/tenant-registration-helper.service'; import { TenantChangeModalComponent } from './shared/tenant-change-modal.component'; import { TenantChangeComponent } from './shared/tenant-change.component'; import { OAuthModule } from 'angular-oauth2-oidc'; import { PaymentHelperService } from './payment/payment-helper.service'; import { PrivacyPolicyComponent } from './register/privacy-policy.component'; import { TermsAndConditionsComponent } from './register/terms-conditions.component'; import { CookiesContentComponent } from './register/cookies-content.component'; import { PublicTrackingPageComponent } from './public-tracking-page/public-tracking-page-order.component'; import { TrackingPageOrderDetailComponent } from './tracking-page-order-detail/tracking-page-order-detail.component'; import { TrackingPageViewOrderStatusComponent } from './tracking-page-order-detail/tracking-page-view-order-status.component'; import { TrackingPageViewOrderIncidentComponent } from './tracking-page-order-detail/tracking-page-view-order-incident-list'; import { AgmOverlays } from 'agm-overlays'; import { AgmCoreModule, LAZY_MAPS_API_CONFIG } from '@agm/core'; import { AutoCompleteModule } from 'primeng/autocomplete'; import { EditorModule } from 'primeng/editor'; import { InputMaskModule } from 'primeng/inputmask'; import { PaginatorModule } from 'primeng/paginator'; import { TreeModule } from 'primeng/tree'; import { DragDropModule } from 'primeng/dragdrop'; import { ContextMenuModule } from 'primeng/contextmenu'; import { TabsModule, PopoverModule, BsDropdownModule, BsDatepickerModule, TimepickerModule } from 'ngx-bootstrap'; import { TimePickerModule } from '@progress/kendo-angular-dateinputs'; import { AppCommonModule } from '@app/shared/common/app-common.module'; import { TableModule } from 'primeng/table'; import { NgxChartsModule } from '@swimlane/ngx-charts'; import CountoModule from 'angular2-counto'; import { TextMaskModule } from 'angular2-text-mask'; import { ImageCropperModule } from 'ngx-image-cropper'; import { AngularFontAwesomeModule } from 'angular-font-awesome'; import { AgmJsMarkerClustererModule } from '@agm/js-marker-clusterer'; import { NgSelectModule } from '@ng-select/ng-select'; import { ToastModule } from 'primeng/toast'; import { LocaleMappingService } from '@shared/locale-mapping.service'; import { PasswordModule } from 'primeng/password'; import { StripePaymentResultComponent } from './payment/stripe/stripe-payment-result.component'; import { StripeCancelPaymentComponent } from './payment/stripe/stripe-cancel-payment.component'; import { PaymentCompletedComponent } from './payment/payment-completed.component'; import { SessionLockScreenComponent } from './login/session-lock-screen.component'; import { AppBsModalModule } from '@shared/common/appBsModal/app-bs-modal.module'; import { SprintShipModule } from '@app/sprintship/sprintship.module'; import { OrderDetailComponent } from '@app/sprintship/controller/order-detail/order-detail.component'; import { AddressFormComponent } from '@app/shared/layout/form/address-form.component'; import { MainModule } from '@app/main/main.module'; import { GooglePlaceModule } from 'ngx-google-places-autocomplete'; import { AppConsts } from '@shared/AppConsts'; import { GoogleMapsConfig } from 'AppPreBootstrap'; export function getRecaptchaLanguage(): string { return new LocaleMappingService().map('recaptcha', abp.localization.currentLanguage.name); // return new LocaleMappingService().map('recaptcha', abp.localization.currentLanguage.name); } @NgModule({ imports: [ ngCommon.CommonModule, FormsModule, HttpClientModule, HttpClientJsonpModule, RecaptchaModule.forRoot(), ModalModule.forRoot(), TabsModule.forRoot(), AbpModule, CommonModule, UtilsModule, ServiceProxyModule, AccountRoutingModule, UtilsModule, AppCommonModule, TableModule, ContextMenuModule, PaginatorModule, EditorModule, TextMaskModule, ImageCropperModule, AngularFontAwesomeModule, AgmOverlays, AgmCoreModule.forRoot(), AgmJsMarkerClustererModule, OAuthModule.forRoot(), PasswordModule, AppBsModalModule, SprintShipModule, GooglePlaceModule, ], declarations: [ AccountComponent, TenantChangeComponent, TenantChangeModalComponent, LoginComponent, RegisterComponent, RegisterTenantComponent, RegisterTenantResultComponent, SelectEditionComponent, ForgotPasswordComponent, ResetPasswordComponent, EmailActivationComponent, ConfirmEmailComponent, SendTwoFactorCodeComponent, ValidateTwoFactorCodeComponent, LanguageSwitchComponent, BuyEditionComponent, UpgradeEditionComponent, ExtendEditionComponent, PayPalPurchaseComponent, StripePurchaseComponent, PrivacyPolicyComponent, TermsAndConditionsComponent, CookiesContentComponent, PublicTrackingPageComponent, TrackingPageOrderDetailComponent, TrackingPageViewOrderStatusComponent, TrackingPageViewOrderIncidentComponent, StripePurchaseComponent, StripePaymentResultComponent, StripeCancelPaymentComponent, PaymentCompletedComponent, SessionLockScreenComponent, // AddressFormComponent // OrderDetailComponent ], exports: [ // AddressFormComponent // AssignRouteToManagerModalComponent ], providers: [ LoginService, TenantRegistrationHelperService, PaymentHelperService, AccountRouteGuard, { provide: RECAPTCHA_LANGUAGE, useFactory: getRecaptchaLanguage }, { provide: LAZY_MAPS_API_CONFIG, useClass: GoogleMapsConfig} ] }) export class AccountModule { }