{"version":3,"file":"main.58b87fce9d0a7ca1.js","mappings":"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CEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EACF;OACH,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP;KAEJ,EACD;MACE0gB,IAAI,EAAE,WAAW;MACjB1gB,IAAI,EAAE,kBAAkB;MACxBof,aAAa,EAAE,CACb;QACEpf,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP;KAEJ,EACD;MACE0gB,IAAI,EAAE,WAAW;MACjB1gB,IAAI,EAAE,QAAQ;MACdof,aAAa,EAAE,CACb;QACEpf,IAAI,EAAE;OACP;KAEJ,EACD;MACE0gB,IAAI,EAAE,WAAW;MACjB1gB,IAAI,EAAE,+DAA+D;MACrEof,aAAa,EAAE,CACb;QACEpf,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP;KAEJ,EACD;MACE0gB,IAAI,EAAE,WAAW;MACjB1gB,IAAI,EAAE,SAAS;MACfof,aAAa,EAAE,CACb;QACEpf,IAAI,EAAE;OACP,EACD;QACEA,IAAI,EAAE;OACP;KAEJ;;CAGN;;;;;;;;;;;;;;;;;;;AC1N8C;AAGF;AACY;AACgB;AAEzE,IAAI9I,6EAAsB,EAAE;EAC1Bs8D,6DAAc,EAAE;;AAGlB;AACA;AACAl5C,QAAQ,CAACo5C,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EACjDC,sEAAAA,EAAwB,CACrBC,eAAe,CAAC73D,sDAAS,CAAC,CAC1BwhB,KAAK,CAAC4oC,GAAG,IAAI97C,OAAO,CAACC,GAAG,CAAC67C,GAAG,CAAC,CAAC;EAE/B;EACAsN,uFAAmB,EAAE;AACvB,CAAC,CAAC;;;;;;;;;;ACpBJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/app/JssState.ts","./src/app/addressbook/addressbook.lazy.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/credit-cards/components/credit-card-list/credit-card-list.component.ts","./src/app/credit-cards/components/credit-card-list/credit-card-list.component.html","./src/app/credit-cards/components/credit-card-transaction-overview/credit-card-transaction-overview.component.ts","./src/app/credit-cards/components/credit-card-transaction-overview/credit-card-transaction-overview.component.html","./src/app/credit-cards/components/credit-cards-limit-overview/credit-cards-limit-overview.component.ts","./src/app/credit-cards/components/credit-cards-limit-overview/credit-cards-limit-overview.component.html","./src/app/credit-cards/components/credit-cards-overview/credit-cards-overview.component.ts","./src/app/credit-cards/components/credit-cards-overview/credit-cards-overview.component.html","./src/app/credit-cards/credit-cards.module.ts","./src/app/credit-cards/pipes/credit-card-name.pipe.ts","./src/app/credit-cards/services/credit-card-transactions.service.ts","./src/app/credit-cards/services/credit-cards.service.ts","./src/app/dashboard/components/account-manager-information/account-manager-information.component.ts","./src/app/dashboard/components/account-manager-information/account-manager-information.component.html","./src/app/dashboard/components/accounts-overview/accounts-overview.component.ts","./src/app/dashboard/components/accounts-overview/accounts-overview.component.html","./src/app/dashboard/components/bank-account-settings/bank-account-settings.component.ts","./src/app/dashboard/components/bank-account-settings/bank-account-settings.component.html","./src/app/dashboard/dashboard.module.ts","./src/app/dashboard/services/account-manager-information.service.ts","./src/app/dashboard/services/account-overview.service.ts","./src/app/dashboard/services/bank-account-settings.service.ts","./src/app/dialogs/components/address-book-popup/address-book-popup.component.ts","./src/app/dialogs/components/address-book-popup/address-book-popup.component.html","./src/app/dialogs/components/approval-popup/approval-popup.component.ts","./src/app/dialogs/components/approval-popup/approval-popup.component.html","./src/app/dialogs/components/country-list-popup/country-list-popup.component.ts","./src/app/dialogs/components/country-list-popup/country-list-popup.component.html","./src/app/dialogs/components/default-portfolio-selector/default-portfolio-selector.component.ts","./src/app/dialogs/components/default-portfolio-selector/default-portfolio-selector.component.html","./src/app/dialogs/components/details-confirm-popup/details-confirm-popup.component.ts","./src/app/dialogs/components/details-confirm-popup/details-confirm-popup.component.html","./src/app/dialogs/components/error-handling-popup/error-handling-popup.component.ts","./src/app/dialogs/components/error-handling-popup/error-handling-popup.component.html","./src/app/dialogs/components/info-popup/info-popup.component.ts","./src/app/dialogs/components/info-popup/info-popup.component.html","./src/app/dialogs/components/personal-archive-message/personal-archive-message.component.ts","./src/app/dialogs/components/personal-archive-message/personal-archive-message.component.html","./src/app/dialogs/components/popup/popup.component.ts","./src/app/dialogs/components/radio-buttons-popup/radio-buttons-popup.component.ts","./src/app/dialogs/components/radio-buttons-popup/radio-buttons-popup.component.html","./src/app/dialogs/components/sentoo-payment/sentoo-payment-popup.component.ts","./src/app/dialogs/components/sentoo-payment/sentoo-payment-popup.component.html","./src/app/dialogs/components/upload-document/upload-document.component.ts","./src/app/dialogs/components/upload-document/upload-document.component.html","./src/app/dialogs/dialogs.module.ts","./src/app/dialogs/services/dialog-state.service.ts","./src/app/google-analytics/google-analytics.module.ts","./src/app/google-analytics/services/google-analytics.service.ts","./src/app/google-analytics/services/gtm.ts","./src/app/google-analytics/services/window-reference.ts","./src/app/jss-context.service.ts","./src/app/jss-data-fetcher.service.ts","./src/app/jss-graphql.module.ts","./src/app/jss-graphql.service.ts","./src/app/jss-meta.service.ts","./src/app/layout/footer-wrapper/footer-wrapper.component.ts","./src/app/layout/footer-wrapper/footer-wrapper.component.html","./src/app/layout/footer/footer.component.html","./src/app/layout/footer/footer.component.ts","./src/app/layout/header/header.component.ts","./src/app/layout/header/header.component.html","./src/app/layout/jss-layout.service.ts","./src/app/layout/layout.module.ts","./src/app/layout/logo/logo.component.html","./src/app/layout/logo/logo.component.ts","./src/app/layout/navigation/navigation.component.ts","./src/app/layout/navigation/navigation.component.html","./src/app/layout/page-title/page-title.component.html","./src/app/layout/page-title/page-title.component.ts","./src/app/layout/portfolio-selector/portfolio-selector.component.ts","./src/app/layout/portfolio-selector/portfolio-selector.component.html","./src/app/layout/portfolio-setting/portfolio-setting.component.ts","./src/app/layout/portfolio-setting/portfolio-setting.component.html","./src/app/lib/layout-service-factory.ts","./src/app/login/components/landing/landing.component.ts","./src/app/login/components/landing/landing.component.html","./src/app/login/components/login/login.component.ts","./src/app/login/components/login/login.component.html","./src/app/login/components/token-form/token-form.component.ts","./src/app/login/components/token-form/token-form.component.html","./src/app/login/login.module.ts","./src/app/login/services/login.service.ts","./src/app/login/services/qr-code.service.ts","./src/app/login/services/status.service.ts","./src/app/miscellaneous/miscellaneous.lazy.ts","./src/app/orco/orco-addressbook/orco-addressbook.lazy.ts","./src/app/orco/orco-layout/orco-layout.lazy.ts","./src/app/orco/orco-login/orco-login.lazy.ts","./src/app/orco/orco-miscellaneous/orco-miscellaneous.lazy.ts","./src/app/orco/orco-personal-archive/orco-personal-archive.lazy.ts","./src/app/orco/orco-transfers/orco-transfers.lazy.ts","./src/app/overdraft/overdraft.lazy.ts","./src/app/personal-archive/personal-archive.lazy.ts","./src/app/personal-archive/services/messages-count.service.ts","./src/app/personal-archive/services/messages-list.service.ts","./src/app/personal-archive/services/private-documents-list.service.ts","./src/app/public/components/request-login-tool/request-login-tool.component.ts","./src/app/public/components/request-login-tool/request-login-tool.component.html","./src/app/public/public.module.ts","./src/app/public/services/request-login-tool.service.ts","./src/app/reporting/components/audit-report-search/audit-report-search.component.ts","./src/app/reporting/components/audit-report-search/audit-report-search.component.html","./src/app/reporting/components/money-transfer-table/money-transfer-table.component.ts","./src/app/reporting/components/money-transfer-table/money-transfer-table.component.html","./src/app/reporting/components/report-table/report-table.component.ts","./src/app/reporting/components/sign-in-log-table/sign-in-log-table.component.ts","./src/app/reporting/components/sign-in-log-table/sign-in-log-table.component.html","./src/app/reporting/reporting.module.ts","./src/app/reporting/services/reporting.service.ts","./src/app/routing/jss-route-builder.service.ts","./src/app/routing/jss-route-resolver.service.ts","./src/app/routing/layout/layout.component.ts","./src/app/routing/layout/layout.component.html","./src/app/routing/navigation/navigation.component.ts","./src/app/routing/navigation/navigation.component.html","./src/app/routing/not-found/not-found.component.ts","./src/app/routing/not-found/not-found.component.html","./src/app/routing/routing.module.ts","./src/app/routing/server-error/server-error.component.ts","./src/app/routing/server-error/server-error.component.html","./src/app/routing/visitor-identification/visitor-identification.component.ts","./src/app/sentoo/components/sentoo-transfer/connection-error/connection-error.component.ts","./src/app/sentoo/components/sentoo-transfer/connection-error/connection-error.component.html","./src/app/sentoo/components/sentoo-transfer/payment-cancelled/payment-cancelled.component.ts","./src/app/sentoo/components/sentoo-transfer/payment-cancelled/payment-cancelled.component.html","./src/app/sentoo/components/sentoo-transfer/payment-expired/payment-expired.component.ts","./src/app/sentoo/components/sentoo-transfer/payment-expired/payment-expired.component.html","./src/app/sentoo/components/sentoo-transfer/payment-screen/payment-screen.component.ts","./src/app/sentoo/components/sentoo-transfer/payment-screen/payment-screen.component.html","./src/app/sentoo/components/sentoo-transfer/sentoo-transfer/sentoo-transfer.component.ts","./src/app/sentoo/components/sentoo-transfer/sentoo-transfer/sentoo-transfer.component.html","./src/app/sentoo/components/sentoo-transfer/validate-payment/validate-payment.component.ts","./src/app/sentoo/components/sentoo-transfer/validate-payment/validate-payment.component.html","./src/app/sentoo/components/sentoo/landing/landing.component.ts","./src/app/sentoo/components/sentoo/landing/landing.component.html","./src/app/sentoo/components/sentoo/payment-complete/payment-complete.component.ts","./src/app/sentoo/components/sentoo/payment-complete/payment-complete.component.html","./src/app/sentoo/components/sentoo/payment-invalid/payment-invalid.component.ts","./src/app/sentoo/components/sentoo/payment-invalid/payment-invalid.component.html","./src/app/sentoo/components/sentoo/payment-pending/payment-pending.component.ts","./src/app/sentoo/components/sentoo/payment-pending/payment-pending.component.html","./src/app/sentoo/components/sentoo/sentoo/sentoo.component.ts","./src/app/sentoo/components/sentoo/sentoo/sentoo.component.html","./src/app/sentoo/sentoo.module.ts","./src/app/sentoo/services/accounts.service.ts","./src/app/sentoo/services/approve.service.ts","./src/app/sentoo/services/cancel.service.ts","./src/app/sentoo/services/create.service.ts","./src/app/sentoo/services/payment-details.service.ts","./src/app/sentoo/services/qr-code.service.ts","./src/app/sentoo/services/sentoo.service.ts","./src/app/sentoo/services/status.service.ts","./src/app/session/components/session-expiry-popup/session-expiry-popup.component.ts","./src/app/session/services/expiry-popup.service.ts","./src/app/session/services/idle-config.service.ts","./src/app/session/services/idle.service.ts","./src/app/session/services/session-interceptor.service.ts","./src/app/session/services/session.service.ts","./src/app/session/session.module.ts","./src/app/shared/adapters/ab-date-adapter.ts","./src/app/shared/components/access-denied/access-denied.component.ts","./src/app/shared/components/access-denied/access-denied.component.html","./src/app/shared/components/address-book/address-book.component.ts","./src/app/shared/components/address-book/address-book.component.html","./src/app/shared/components/address/address.component.ts","./src/app/shared/components/address/address.component.html","./src/app/shared/components/bank-list/bank-list.component.ts","./src/app/shared/components/bank-list/bank-list.component.html","./src/app/shared/components/country-list/country-list.component.ts","./src/app/shared/components/country-list/country-list.component.html","./src/app/shared/components/currency-input/currency-input.component.ts","./src/app/shared/components/currency-input/currency-input.component.html","./src/app/shared/components/file-upload-field/file-upload-field.component.ts","./src/app/shared/components/file-upload-field/file-upload-field.component.html","./src/app/shared/components/foreign-bank/foreign-bank.component.ts","./src/app/shared/components/foreign-bank/foreign-bank.component.html","./src/app/shared/components/loader/loader.component.ts","./src/app/shared/components/loader/loader.component.html","./src/app/shared/components/print/print.component.ts","./src/app/shared/components/richtext/richtext.component.html","./src/app/shared/components/richtext/richtext.component.ts","./src/app/shared/components/tab-navigation/tab-navigation.component.ts","./src/app/shared/components/tab-navigation/tab-navigation.component.html","./src/app/shared/components/table/table.component.ts","./src/app/shared/components/table/table.component.html","./src/app/shared/constants.ts","./src/app/shared/directives/access.directive.ts","./src/app/shared/directives/amount-formatter.directive.ts","./src/app/shared/directives/button-loader.directive.ts","./src/app/shared/directives/date-formatter.directive.ts","./src/app/shared/directives/file-drop-zone.directive.ts","./src/app/shared/directives/iframeResizer.directive.ts","./src/app/shared/directives/scroll-invalid.directive.ts","./src/app/shared/directives/scroll-to.directive.ts","./src/app/shared/directives/units.directive.ts","./src/app/shared/emuns/portfolio-type.ts","./src/app/shared/pipes/ab-currency-symbol.pipe.ts","./src/app/shared/pipes/ab-currency.pipe.ts","./src/app/shared/pipes/ab-date.pipe.ts","./src/app/shared/pipes/ab-file-size.pipe.ts","./src/app/shared/pipes/ab-filter-countries.pipe.ts","./src/app/shared/pipes/ab-money.pipe.ts","./src/app/shared/pipes/replace.pipe.ts","./src/app/shared/pipes/safe-html.pipe.ts","./src/app/shared/pipes/sup-fraction.pipe.ts","./src/app/shared/services/account-details.service.ts","./src/app/shared/services/anti-forgery-token.service.ts","./src/app/shared/services/api-client.service.ts","./src/app/shared/services/auth-guard.service.ts","./src/app/shared/services/button-loader-interceptor.service.ts","./src/app/shared/services/button-loader-state.service.ts","./src/app/shared/services/configuration-settings-context.service.ts","./src/app/shared/services/data-subscription.service.ts","./src/app/shared/services/default-portfolio.service.ts","./src/app/shared/services/error-handling-interceptor.service.ts","./src/app/shared/services/form-all-fields-validation.service.ts","./src/app/shared/services/form-fields-generator.service.ts","./src/app/shared/services/full-portfolio-view.service.ts","./src/app/shared/services/get-item-list-fields.service.ts","./src/app/shared/services/http-cancel-interceptor.service.ts","./src/app/shared/services/initial-view.service.ts","./src/app/shared/services/loader-interceptor.service.ts","./src/app/shared/services/loader.service.ts","./src/app/shared/services/menu-trigger.service.ts","./src/app/shared/services/portfolio.service.ts","./src/app/shared/services/router-access.service.ts","./src/app/shared/services/task.service.ts","./src/app/shared/services/user-agent.service.ts","./src/app/shared/services/user.service.ts","./src/app/shared/shared.module.ts","./src/app/transactions/transactions.lazy.ts","./src/app/transfers/enums/swift-fee-payee.ts","./src/app/transfers/enums/transfer-type.ts","./src/app/transfers/services/bank-by-bic.service.ts","./src/app/transfers/services/bank.service.ts","./src/app/transfers/services/basket-check-payments.service.ts","./src/app/transfers/services/bulk-transfer.service.ts","./src/app/transfers/services/country-list.service.ts","./src/app/transfers/services/internal-accounts.service.ts","./src/app/transfers/services/reference-codes.service.ts","./src/app/transfers/services/state.service.ts","./src/app/transfers/services/to-accounts.service.ts","./src/app/transfers/transfers.lazy.ts","./src/app/user-access-management/user-access-management.lazy.ts","./src/app/validators/directives/min-length-trim.directive.ts","./src/app/validators/functions/range-validation.ts","./src/app/validators/validators.module.ts","./src/environments/environment.ts","./src/graphql-fragment-types.ts","./src/main.ts","./node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["import {\r\n RouteData,\r\n LayoutServiceContextData,\r\n} from '@sitecore-jss/sitecore-jss-angular';\r\nimport { LayoutServiceError } from './layout/jss-layout.service';\r\n\r\nexport class JssState> {\r\n language: string;\r\n serverRoute: string;\r\n routeFetchError?: LayoutServiceError;\r\n sitecore?: LayoutServiceContextData & {\r\n route: RouteData;\r\n };\r\n viewBag: { [key: string]: unknown };\r\n}\r\n","// This file is generated do not modify manually\r\nexport const addressbook = [\r\n { path: 'AddressBook', loadChildren: () =>\r\n import('./addressbook.module').then(m => m.AddressbookModule) },\r\n { path: 'AddressBookForm', loadChildren: () =>\r\n import('./addressbook.module').then(m => m.AddressbookModule) },\r\n];\r\n","import { Component, ElementRef, OnDestroy, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { JssContextService } from './jss-context.service';\r\nimport { environment as env } from '../environments/environment';\r\nimport { Subscription } from 'rxjs';\r\nimport { GoogleAnalyticsService } from './google-analytics/services/google-analytics.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n private contextSubscription: Subscription;\r\n\r\n constructor(\r\n translate: TranslateService,\r\n jssContextService: JssContextService,\r\n googleAnalyticsService: GoogleAnalyticsService,\r\n private _elementRef: ElementRef\r\n ) {\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n translate.setDefaultLang(env.defaultLanguage);\r\n\r\n // the lang to use. if the lang isn't available, it will use the current loader to get them\r\n translate.use(env.defaultLanguage);\r\n\r\n this.contextSubscription = jssContextService.state.subscribe(jssState => {\r\n // listen for language changes\r\n if (jssState.language) {\r\n translate.use(jssState.language);\r\n }\r\n\r\n if (\r\n jssState.sitecore &&\r\n jssState.sitecore.context &&\r\n jssState.sitecore.context.googleAnalyticsTrackingId\r\n ) {\r\n googleAnalyticsService.initAnalytics(\r\n jssState.sitecore.context.googleAnalyticsTrackingId as string\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this._elementRef?.nativeElement?.removeAttribute('ng-version');\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.contextSubscription) {\r\n this.contextSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n","import { APP_BASE_HREF } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { addressbook } from './addressbook/addressbook.lazy';\r\nimport { AppComponent } from './app.component';\r\nimport { CreditCardsComponents, CreditCardsModule } from './credit-cards/credit-cards.module';\r\nimport { DashboardComponents, DashboardModule } from './dashboard/dashboard.module';\r\nimport { DialogsComponents, DialogsModule } from './dialogs/dialogs.module';\r\nimport { JssContextService } from './jss-context.service';\r\nimport { JssDataFetcherService } from './jss-data-fetcher.service';\r\nimport { GraphQLModule } from './jss-graphql.module';\r\nimport { JssMetaService } from './jss-meta.service';\r\nimport { JssLayoutService } from './layout/jss-layout.service';\r\nimport { LayoutComponents, LayoutModule } from './layout/layout.module';\r\nimport { LoginComponents, LoginModule } from './login/login.module';\r\nimport { SentooComponents, SentooModule } from './sentoo/sentoo.module';\r\nimport { miscellaneous } from './miscellaneous/miscellaneous.lazy';\r\nimport { orcoAddressbook } from './orco/orco-addressbook/orco-addressbook.lazy';\r\nimport { orcoLayout } from './orco/orco-layout/orco-layout.lazy';\r\nimport { orcoLogin } from './orco/orco-login/orco-login.lazy';\r\nimport { orcoMiscellaneous } from './orco/orco-miscellaneous/orco-miscellaneous.lazy';\r\nimport { orcoPersonalArchive } from './orco/orco-personal-archive/orco-personal-archive.lazy';\r\nimport { orcoTransfers } from './orco/orco-transfers/orco-transfers.lazy';\r\nimport { overdraft } from './overdraft/overdraft.lazy';\r\nimport { personalArchive } from './personal-archive/personal-archive.lazy';\r\nimport { PublicComponents, PublicModule } from './public/public.module';\r\nimport { ReportingComponents, ReportingModule } from './reporting/reporting.module';\r\nimport { RoutingComponents, RoutingModule } from './routing/routing.module';\r\nimport { SessionComponents, SessionModule } from './session/session.module';\r\nimport { SharedComponents, SharedModule } from './shared/shared.module';\r\nimport { transactions } from './transactions/transactions.lazy';\r\nimport { transfers } from './transfers/transfers.lazy';\r\nimport { userAccessManagement } from './user-access-management/user-access-management.lazy';\r\n\r\n\r\nconst ImportedModules = [\r\n ...RoutingComponents,\r\n ...SharedComponents,\r\n ...LayoutComponents,\r\n ...LoginComponents,\r\n ...SentooComponents,\r\n ...PublicComponents,\r\n ...DashboardComponents,\r\n ...SessionComponents,\r\n ...ReportingComponents,\r\n ...DialogsComponents,\r\n ...CreditCardsComponents\r\n];\r\n\r\nconst JssComponentsLazyLoading = [\r\n ...transactions,\r\n ...userAccessManagement,\r\n ...transfers,\r\n ...addressbook,\r\n ...miscellaneous,\r\n ...personalArchive,\r\n ...orcoTransfers,\r\n ...orcoMiscellaneous,\r\n ...overdraft,\r\n ...orcoLayout,\r\n ...orcoPersonalArchive,\r\n ...orcoAddressbook,\r\n ...orcoLogin\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n // withServerTransition is needed to enable universal rendering\r\n BrowserModule.withServerTransition({ appId: 'my-app' }),\r\n BrowserTransferStateModule,\r\n HttpClientModule,\r\n SharedModule,\r\n RoutingModule,\r\n BrowserAnimationsModule,\r\n TranslateModule.forRoot(),\r\n LayoutModule,\r\n GraphQLModule,\r\n SentooModule,\r\n LoginModule,\r\n PublicModule,\r\n CreditCardsModule,\r\n DashboardModule,\r\n SessionModule,\r\n DialogsModule,\r\n ReportingModule,\r\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\r\n JssModule.withComponents(ImportedModules, JssComponentsLazyLoading)\r\n ],\r\n providers: [\r\n JssContextService,\r\n JssDataFetcherService,\r\n JssLayoutService,\r\n JssMetaService,\r\n CookieService,\r\n // IMPORTANT: you must set the base href with this token, not a tag in the HTML.\r\n // the Sitecore Experience Editor will not work correctly when a base tag is used.\r\n { provide: APP_BASE_HREF, useValue: '/' },\r\n ],\r\n declarations: [\r\n AppComponent\r\n ],\r\n bootstrap: [\r\n AppComponent\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n ICard,\r\n ICreditCardStatus,\r\n CreditCardsResponse,\r\n CreditCardsService\r\n} from './../../services/credit-cards.service';\r\n\r\n@Component({\r\n selector: 'ab-credit-card-list',\r\n templateUrl: './credit-card-list.component.html',\r\n styleUrls: ['./credit-card-list.component.scss']\r\n})\r\nexport class CreditCardListComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n public cards: Array;\r\n public selectedCard: ICard;\r\n public placeholder: string;\r\n public cardId: string;\r\n public CreditCardStatus = ICreditCardStatus;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private creditCardsService: CreditCardsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.cardId = this.route.snapshot.queryParamMap.get('id');\r\n this.placeholder = (this.rendering.fields.placeholder as any).value;\r\n this.creditCardsService\r\n .getCreditCards()\r\n .subscribe(response => this.handleResponse(response));\r\n }\r\n\r\n handleResponse(response: CreditCardsResponse) {\r\n this.cards = response.cards;\r\n\r\n if (this.cards.length === 1) {\r\n this.selectedCard = this.cards[0];\r\n this.changeAccount(this.cardId ? true : false);\r\n } else {\r\n this.selectedCard = this.cards.filter(card => card.id === this.cardId)[0];\r\n }\r\n }\r\n\r\n changeAccount(stopRedirect = false) {\r\n if (stopRedirect !== true) {\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: { id: this.selectedCard.id },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n }\r\n}\r\n","
0\">\r\n
\r\n \r\n \r\n \r\n \r\n {{ card.name }} - {{ card.suffix }}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{ selectedCard?.balance.amount | number }}\r\n {{ selectedCard?.balance.currencyCode }}\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n {{ selectedCard?.availableCredit.amount | number }}\r\n {{ selectedCard?.availableCredit.currencyCode }}\r\n

\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, map, debounceTime } from 'rxjs/operators';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n CreditCardTransactionsService,\r\n ICreditCardTransaction\r\n} from './../../services/credit-card-transactions.service';\r\n\r\n@Component({\r\n selector: 'ab-credit-card-transaction-overview',\r\n templateUrl: './credit-card-transaction-overview.component.html',\r\n styleUrls: ['./credit-card-transaction-overview.component.scss']\r\n})\r\nexport class CreditCardTransactionOverviewComponent\r\n implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n public subscription: Subscription;\r\n public transactions: Array = [];\r\n public isLoading: boolean;\r\n public id: string;\r\n public hasMore = false;\r\n private pageNumber = 1;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private creditCardTransactionsService: CreditCardTransactionsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subscription = this.route.queryParams\r\n .pipe(\r\n filter(params => 'id' in params),\r\n map(params => params.id),\r\n debounceTime(100)\r\n )\r\n .subscribe(id => {\r\n this.id = id;\r\n this.getTransactions(id);\r\n });\r\n }\r\n\r\n getTransactions(id: string): void {\r\n this.isLoading = true;\r\n this.creditCardTransactionsService\r\n .getTransaction(id, this.pageNumber)\r\n .subscribe(response => {\r\n this.isLoading = false;\r\n this.transactions = [...this.transactions, ...response.transactions];\r\n this.hasMore = response.transactions.length === response.pageSize;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onScroll() {\r\n if (!this.isLoading) {\r\n this.pageNumber++;\r\n this.getTransactions(this.id);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0,\r\n 'text-success': transaction.amount.amount < 0\r\n }\"\r\n >\r\n {{ transaction.amount | abCurrency }}\r\n \r\n \r\n \r\n
\r\n \r\n
{{ transaction.date | abDate }}{{ transaction.merchant }}{{ transaction.country }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ComponentRendering, Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { GetItemListFieldsService } from '../../../shared/services/get-item-list-fields.service';\r\nimport { CreditCardsService, ICard } from '../../services/credit-cards.service';\r\n\r\n@Component({\r\n selector: 'ab-credit-cards-limit-overview',\r\n templateUrl: './credit-cards-limit-overview.component.html',\r\n styleUrls: ['./credit-cards-limit-overview.component.scss']\r\n})\r\nexport class CreditCardsLimitOverviewComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public tableColumns: Item[];\r\n public isLoading = true;\r\n public items: { [key: string]: Item };\r\n public cards: Array;\r\n\r\n constructor(\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n private creditCardsService: CreditCardsService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.tableColumns = (this.rendering.fields.items as Item[]).filter(\r\n i => i.name !== 'Metadata'\r\n ) as Item[];\r\n\r\n this.items = this.getItemListFieldsService.getItems(\r\n (this.rendering.fields.items as Item[]).filter(\r\n i => i.name === 'Metadata'\r\n )[0].fields.items as Item[]\r\n );\r\n\r\n this.creditCardsService.getCreditCards().subscribe(\r\n response => {\r\n this.isLoading = false;\r\n this.cards = response.cards;\r\n },\r\n () => (this.isLoading = false)\r\n );\r\n }\r\n\r\n setOdd(i: number) {\r\n return i % 2 === 0;\r\n }\r\n}\r\n","
\r\n

\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
{{ card | creditCardName }}\r\n {{ card.limit.amount | number }} {{ card.limit.currencyCode }}\r\n \r\n {{ card.status }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n ICard,\r\n ICreditCardStatus,\r\n CreditCardsService\r\n} from './../../services/credit-cards.service';\r\nimport { DialogStateService } from '../../../dialogs/services/dialog-state.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { FullPortfolioViewService } from '../../../shared/services/full-portfolio-view.service';\r\n\r\n@Component({\r\n selector: 'ab-credit-cards-overview',\r\n templateUrl: './credit-cards-overview.component.html',\r\n styleUrls: ['./credit-cards-overview.component.scss']\r\n})\r\nexport class CreditCardsOverviewComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n public cards: Array;\r\n public CreditCardStatus = ICreditCardStatus;\r\n public creditCardStatusMap = [];\r\n public isLoading = true;\r\n public isPortfolioCif7 = false;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private dialogStateService: DialogStateService,\r\n private creditCardsService: CreditCardsService,\r\n private fullPortfolioViewService: FullPortfolioViewService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.creditCardStatusMap[\r\n ICreditCardStatus.ACTIVE\r\n ] = this.rendering.fields.statuses[0].fields.label.value;\r\n this.creditCardStatusMap[\r\n ICreditCardStatus.BLOCKED\r\n ] = this.rendering.fields.statuses[1].fields.label.value;\r\n this.creditCardStatusMap[\r\n ICreditCardStatus.UNLINKED\r\n ] = this.rendering.fields.statuses[2].fields.label.value;\r\n\r\n this.getCards();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(s => s.unsubscribe());\r\n }\r\n\r\n getCards(): void {\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService.bankAccounts.subscribe(() => {\r\n this.subscriptions.push(\r\n this.creditCardsService.getCreditCards().subscribe(\r\n response => {\r\n this.isLoading = false;\r\n this.cards = response.cards;\r\n this.isPortfolioCif7 =\r\n this.cards !== null && this.cards.length > 0;\r\n },\r\n () => (this.isLoading = false)\r\n )\r\n );\r\n })\r\n );\r\n }\r\n\r\n changeStatus(card: ICard): void {\r\n if (card.status === this.CreditCardStatus.ACTIVE) {\r\n this.dialogStateService\r\n .openDialog('unlink-card-confirmation', [card.name, card.suffix])\r\n .subscribe(confirm => this.confirm(confirm, card));\r\n }\r\n }\r\n\r\n confirm(confirm: boolean, card: ICard): void {\r\n if (confirm) {\r\n this.creditCardsService.unlinkCreditCard(card.suffix).subscribe(() => {\r\n this.getCards();\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ card.suffix }}\r\n \r\n {{ card.name }}\r\n \r\n ({{ creditCardStatusMap[card.status] }})\r\n \r\n {{ card.limit.currencyCode }}\r\n {{ card.limit.amount | currency: '':'' }}\r\n \r\n {{ card.balance.amount | currency: '':'' }}\r\n \r\n {{ card.availableCredit.amount | currency: '':'' }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';\r\nimport { MatLegacyMenuModule } from '@angular/material/legacy-menu';\r\nimport { RouterModule } from '@angular/router';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { CreditCardListComponent } from './components/credit-card-list/credit-card-list.component';\r\nimport { CreditCardTransactionOverviewComponent } from './components/credit-card-transaction-overview/credit-card-transaction-overview.component';\r\nimport { CreditCardsLimitOverviewComponent } from './components/credit-cards-limit-overview/credit-cards-limit-overview.component';\r\nimport { CreditCardsOverviewComponent } from './components/credit-cards-overview/credit-cards-overview.component';\r\nimport { CreditCardNamePipe } from './pipes/credit-card-name.pipe';\r\n\r\nconst CreditCardsComponents = [\r\n { name: 'CreditCardsOverview', type: CreditCardsOverviewComponent },\r\n { name: 'CreditCardsLimitOverview', type: CreditCardsLimitOverviewComponent },\r\n { name: 'CreditCardList', type: CreditCardListComponent },\r\n {\r\n name: 'CreditCardTransactionOverview',\r\n type: CreditCardTransactionOverviewComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n CreditCardsOverviewComponent,\r\n CreditCardListComponent,\r\n CreditCardTransactionOverviewComponent,\r\n CreditCardsLimitOverviewComponent,\r\n CreditCardNamePipe\r\n ],\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n JssModule,\r\n RouterModule,\r\n MatLegacyMenuModule,\r\n MatLegacyTooltipModule\r\n ]\r\n})\r\nexport class CreditCardsModule {}\r\n\r\nexport { CreditCardsComponents };\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ICard } from '../services/credit-cards.service';\r\n\r\n@Pipe({\r\n name: 'creditCardName'\r\n})\r\nexport class CreditCardNamePipe implements PipeTransform {\r\n transform(card: ICard): string {\r\n return `xxxx xxxx xxxx ${card.suffix.substr(card.suffix.length - 4)} - ${\r\n card.cardType\r\n } - ${card.name}`;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_GET_CREDITCARD_TRANSACTIONS } from './../../shared/constants';\r\nimport { IBalance } from '../../shared/interfaces/balance.interface';\r\n\r\ninterface ICreditCardTransaction {\r\n id: string;\r\n date: Date;\r\n merchant: string;\r\n country: string;\r\n amount: IBalance;\r\n}\r\n\r\ninterface CreditCardTransactionsResponse extends ApiResponse {\r\n transactions: Array;\r\n pageSize: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreditCardTransactionsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_GET_CREDITCARD_TRANSACTIONS);\r\n }\r\n\r\n getTransaction(id: string, pageNumber: number): Observable {\r\n return this.get({\r\n id: id,\r\n pageNumber\r\n });\r\n }\r\n}\r\n\r\nexport { CreditCardTransactionsResponse, ICreditCardTransaction };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_GET_CREDITCARDS } from './../../shared/constants';\r\nimport { IBalance } from '../../shared/interfaces/balance.interface';\r\n\r\nenum ICreditCardStatus {\r\n ACTIVE = 'Active',\r\n UNLINKED = 'Unlinked',\r\n BLOCKED = 'Blocked'\r\n}\r\n\r\ninterface ICard {\r\n id: string;\r\n number: string;\r\n name: string;\r\n limit: IBalance;\r\n balance: IBalance;\r\n availableCredit: IBalance;\r\n status: ICreditCardStatus;\r\n suffix: string;\r\n cardType: string;\r\n pendingLimitRequest: boolean;\r\n}\r\n\r\ninterface CreditCardsResponse extends ApiResponse {\r\n cards: Array;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreditCardsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_GET_CREDITCARDS);\r\n }\r\n\r\n getCreditCards(): Observable {\r\n return this.get();\r\n }\r\n\r\n unlinkCreditCard(suffix: string) {\r\n return this.delete({\r\n suffix: suffix\r\n });\r\n }\r\n}\r\n\r\nexport { CreditCardsResponse, ICard, ICreditCardStatus };\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { Subscription } from 'rxjs';\r\nimport { PortfolioService } from '../../../shared/services/portfolio.service';\r\nimport { PortfolioType } from '../../../shared/emuns/portfolio-type';\r\nimport {\r\n AccountManagerInformationService,\r\n IAccountManagerInformation\r\n} from '../../services/account-manager-information.service';\r\nimport { FullPortfolioViewService } from '../../../shared/services/full-portfolio-view.service';\r\n\r\n@Component({\r\n selector: 'ab-account-manager-information',\r\n templateUrl: './account-manager-information.component.html',\r\n styleUrls: ['./account-manager-information.component.scss']\r\n})\r\nexport class AccountManagerInformationComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public isPortfolioCorporate: boolean = undefined;\r\n public accountManagerName: string;\r\n public accountManagerPhone: string;\r\n public accountManagerEmail: string;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private portfolioService: PortfolioService,\r\n private accountManagerInformationService: AccountManagerInformationService,\r\n private fullPortfolioViewService: FullPortfolioViewService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.getPortfolioType();\r\n }\r\n\r\n getPortfolioType(): void {\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService.getFullPortfolioView().subscribe(() => {\r\n this.subscriptions.push(\r\n this.portfolioService.getSelectedPortfolio().subscribe(portfolios => {\r\n this.isPortfolioCorporate =\r\n PortfolioType[portfolios[0]?.portfolioType] ===\r\n PortfolioType.Corporate;\r\n if (this.isPortfolioCorporate) {\r\n this.getAccountManagerInfo();\r\n }\r\n })\r\n );\r\n })\r\n );\r\n }\r\n\r\n getAccountManagerInfo(): void {\r\n this.subscriptions.push(\r\n this.accountManagerInformationService\r\n .getAccountManagerInformation()\r\n .subscribe((data: IAccountManagerInformation) => {\r\n this.accountManagerName = data?.name;\r\n this.accountManagerPhone = data?.phone;\r\n this.accountManagerEmail = data?.email;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Account Officer

\r\n

{{ accountManagerName }} |

\r\n

\r\n Tel:\r\n {{ accountManagerPhone }} |\r\n

\r\n

\r\n {{ accountManagerEmail }}\r\n

\r\n
\r\n
\r\n\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n QueryList,\r\n ViewChildren\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n IAccount,\r\n IProduct,\r\n AccountOverviewResponse,\r\n AccountOverviewService\r\n} from '../../services/account-overview.service';\r\nimport { MenuTriggerService } from '../../../shared/services/menu-trigger.service';\r\nimport { DialogStateService } from '../../../dialogs/services/dialog-state.service';\r\nimport { PortfolioService } from '../../../shared/services/portfolio.service';\r\nimport { PortfolioType } from '../../../shared/emuns/portfolio-type';\r\nimport { Subscription } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { AccountDetailsService } from '../../../shared/services/account-details.service';\r\nimport { FullPortfolioViewService } from '../../../shared/services/full-portfolio-view.service';\r\nimport { InitialViewService } from '../../../shared/services/initial-view.service';\r\nimport { MatLegacyMenuTrigger } from '@angular/material/legacy-menu';\r\n\r\n@Component({\r\n selector: 'ab-accounts-overview',\r\n templateUrl: './accounts-overview.component.html',\r\n styleUrls: ['./accounts-overview.component.scss']\r\n})\r\nexport class AccountsOverviewComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n @Input() rendering: ComponentRendering;\r\n @ViewChildren(MatLegacyMenuTrigger)\r\n menuTriggers: QueryList;\r\n\r\n public portfolio: IAccount;\r\n public isLoading = true;\r\n public isRetail = false;\r\n public portfolioChanged = false;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private router: Router,\r\n private accountOverviewService: AccountOverviewService,\r\n private menuTriggerService: MenuTriggerService,\r\n private dialogStateService: DialogStateService,\r\n private portfolioService: PortfolioService,\r\n private accountDetailsService: AccountDetailsService,\r\n private fullPortfolioViewService: FullPortfolioViewService,\r\n private initialViewService: InitialViewService\r\n ) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n documentClick(event) {\r\n this.menuTriggerService.documentEvent(event);\r\n }\r\n\r\n ngOnInit() {\r\n this.portfolioService.portfolioChanged.subscribe((hasChanged) => {\r\n this.portfolioChanged = hasChanged;\r\n });\r\n this.getAccountOverview();\r\n this.setPortfolioType();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.menuTriggerService.afterViewInit(this.menuTriggers);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.menuTriggerService.unsubscribeFromAction();\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n }\r\n\r\n setPortfolioType() {\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService.getFullPortfolioView().subscribe(() => {\r\n this.subscriptions.push(\r\n this.portfolioService\r\n .getSelectedPortfolio()\r\n .subscribe((portfolios) => {\r\n this.isRetail =\r\n PortfolioType[portfolios[0]?.portfolioType] ===\r\n PortfolioType.Retail;\r\n })\r\n );\r\n })\r\n );\r\n }\r\n\r\n getAccountOverview() {\r\n this.subscriptions.push(\r\n this.initialViewService\r\n .getAccounts()\r\n .pipe(first())\r\n .subscribe(\r\n (accountsOverview) => {\r\n if (accountsOverview && !this.portfolioChanged) {\r\n this.handleResponse(accountsOverview);\r\n } else {\r\n this.subscriptions.push(\r\n this.accountOverviewService.getAccountOverview().subscribe(\r\n (response) => {\r\n this.handleResponse(response);\r\n },\r\n () => (this.isLoading = false)\r\n )\r\n );\r\n }\r\n },\r\n () => (this.isLoading = false)\r\n )\r\n );\r\n }\r\n\r\n handleResponse(response: AccountOverviewResponse) {\r\n this.portfolio = response?.portfolios?.[0];\r\n if (!this.accountDetailsService.fromLogin && this.portfolio) {\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService.getFullPortfolioView().subscribe(() => {\r\n this.accountDetailsService\r\n .getDetails()\r\n .subscribe((accounts: { [key: string]: IProduct }) => {\r\n this.isLoading = false;\r\n this.setAccountBalance(accounts);\r\n });\r\n })\r\n );\r\n } else {\r\n this.isLoading = false;\r\n }\r\n\r\n if (this.portfolio) {\r\n this.portfolio.products.sort((first: IProduct, second: IProduct) => {\r\n if (first.status === 'open' && first.accountActions != null) return -1;\r\n else return 1;\r\n });\r\n }\r\n }\r\n\r\n setAccountBalance(accounts: { [key: string]: IProduct }) {\r\n this.portfolio.products.forEach((product) => {\r\n const currentAccount = accounts[product.accountId];\r\n if (currentAccount) {\r\n product.visible = currentAccount.visible;\r\n product.accountName = currentAccount.accountName;\r\n product.bookBalance = currentAccount.bookBalance;\r\n product.availableBalance = currentAccount.availableBalance;\r\n }\r\n });\r\n }\r\n\r\n public openDialog(portfolio: IAccount) {\r\n this.dialogStateService\r\n .openDialog('BankAccountSetting', JSON.stringify(portfolio))\r\n .subscribe((result) => {\r\n if (result) {\r\n this.getAccountOverview();\r\n }\r\n });\r\n }\r\n\r\n public openUrl(url: string) {\r\n // TODO, change Portfolio ID\r\n let urlSegments = url.split('?'),\r\n uri = urlSegments[0],\r\n queryParams = urlSegments[1].split('&'),\r\n accountId = queryParams[0].split('id=')[1],\r\n mode = queryParams[1] ? queryParams[1].split('=')[1] : '';\r\n\r\n this.router.navigate([uri], {\r\n queryParams: {\r\n fromAccount: accountId,\r\n mode: mode\r\n }\r\n });\r\n }\r\n}\r\n"," \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n {{ portfolio.name }}\r\n

\r\n
\r\n\r\n \r\n {{ rendering.fields.newAccountNewLink.value.text }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ product.accountNumber }}\r\n {{\r\n product.accountNumber\r\n }}\r\n \r\n {{ product.accountName }}\r\n \r\n ({{ product.status }})\r\n \r\n \r\n {{ product.bookBalance.currencyCode }}\r\n \r\n {{ product.bookBalance.amount | currency: '':'' }}\r\n \r\n {{ product.availableBalance.amount | currency: '':'' }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n TemplateRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport {\r\n MatLegacyDialog,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport {\r\n DialogStateService,\r\n IDialogState,\r\n DialogState\r\n} from '../../../dialogs/services/dialog-state.service';\r\nimport { IAccount, IProduct } from '../../services/account-overview.service';\r\nimport { BankAccountSettingsService } from '../../services/bank-account-settings.service';\r\nimport { ApiResponse } from '../../../shared/services/api-client.service';\r\nimport { ConfigurationSettingsContextService } from '../../../shared/services/configuration-settings-context.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n FormFields,\r\n FormFieldsGeneratorService\r\n} from '../../../shared/services/form-fields-generator.service';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router, RouterEvent, NavigationStart } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'ab-bank-account-settings',\r\n templateUrl: './bank-account-settings.component.html',\r\n styleUrls: ['./bank-account-settings.component.scss']\r\n})\r\nexport class BankAccountSettingsComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild('bankAccountSettings') bankAccountSettings: TemplateRef;\r\n @ViewChild('bankAccountSettingsForm') bankAccountSettingsForm: NgForm;\r\n\r\n public portfolio: IAccount;\r\n public dialogRef: MatLegacyDialogRef;\r\n public editedProducts: IProduct[] = [];\r\n public tableColumns: Item;\r\n public formFields: FormFields;\r\n public allowedCharactersRegex = new RegExp(\r\n \"^([A-Za-z0-9&@#$!*-:().,'+-])+([\\\\sA-Za-z0-9&@#$!*-:().,'+-])*$\"\r\n );\r\n\r\n private dialogId: string;\r\n private dialogStateSubscription: Subscription;\r\n private routerSubscription: Subscription;\r\n\r\n constructor(\r\n private dialog: MatLegacyDialog,\r\n private dialogStateService: DialogStateService,\r\n private bankAccountSettingsService: BankAccountSettingsService,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private router: Router,\r\n private configurationSettingsContextService: ConfigurationSettingsContextService\r\n ) {}\r\n\r\n get validationAlllowedCharacters() {\r\n return this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'ValidationAlllowedCharacters'\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.dialogId = (this.rendering.fields._id).value;\r\n // console.log(this.portfolio.products);\r\n this.routerSubscription = this.router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n if (this.dialogRef) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.dialogStateSubscription = this.dialogStateService\r\n .getDialogState()\r\n .subscribe((value: IDialogState) => {\r\n if (\r\n this.dialogId === value.rendaringName &&\r\n value.dialogState === DialogState.Open\r\n ) {\r\n this.dialogRef = this.dialog.open(this.bankAccountSettings, {\r\n panelClass: 'popup-dialog',\r\n disableClose: true\r\n });\r\n if (value.data) {\r\n this.portfolio = JSON.parse(value.data);\r\n }\r\n this.dialogRef.afterClosed().subscribe(() => {\r\n this.editedProducts = [];\r\n });\r\n }\r\n });\r\n\r\n this.tableColumns = (this.rendering.fields.items as Item[]).filter(\r\n (i) => i.name === 'Table'\r\n )[0] as Item;\r\n\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n\r\n this.allowedCharactersRegex = new RegExp(this.validationAlllowedCharacters);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dialogStateSubscription) {\r\n this.dialogStateSubscription.unsubscribe();\r\n }\r\n\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n addToEdit(product: IProduct) {\r\n if (\r\n this.editedProducts.length === 0 ||\r\n !this.editedProducts.some(\r\n (p) => p.accountNumber === product.accountNumber\r\n )\r\n ) {\r\n this.editedProducts.push(product);\r\n }\r\n }\r\n\r\n submit(): void {\r\n console.log(this.editedProducts);\r\n this.bankAccountSettingsService\r\n .saveBankAccountsSettings(this.editedProducts)\r\n .subscribe((response) => this.handleResponse(response));\r\n }\r\n\r\n handleResponse(response: ApiResponse) {\r\n if (response.callIsSuccess) {\r\n this.dialogRef.close();\r\n this.dialogStateService.closeDialogByReference(this.dialogId, true);\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ product.accountNumber }}\r\n \r\n {{\r\n formFields.genericErrors.invalidAccountNameCharacter.message\r\n }}\r\n {{\r\n formFields.genericErrors.invalidAccountNameRange.message\r\n }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { MatLegacyMenuModule } from '@angular/material/legacy-menu';\r\nimport { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';\r\n\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { AccountsOverviewComponent } from './components/accounts-overview/accounts-overview.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { BankAccountSettingsComponent } from './components/bank-account-settings/bank-account-settings.component';\r\nimport { AccountManagerInformationComponent } from './components/account-manager-information/account-manager-information.component';\r\n\r\nconst DashboardComponents = [\r\n {\r\n name: 'AccountManagerInformation',\r\n type: AccountManagerInformationComponent\r\n },\r\n { name: 'AccountsOverview', type: AccountsOverviewComponent },\r\n { name: 'BankAccountSettings', type: BankAccountSettingsComponent }\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AccountsOverviewComponent,\r\n BankAccountSettingsComponent,\r\n AccountManagerInformationComponent\r\n ],\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n JssModule,\r\n RouterModule,\r\n MatLegacyMenuModule,\r\n MatLegacyTooltipModule\r\n ]\r\n})\r\nexport class DashboardModule {}\r\n\r\nexport { DashboardComponents };\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_PORTFOLIO_ACCOUNT_MANAGER } from '../../shared/constants';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface IAccountManagerInformation extends ApiResponse {\r\n name?: string;\r\n email?: string;\r\n phone?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountManagerInformationService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PORTFOLIO_ACCOUNT_MANAGER);\r\n }\r\n\r\n getAccountManagerInformation(): Observable {\r\n return this.get();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_ACCOUNTSOVERVIEW_ENDPOINT } from './../../shared/constants';\r\nimport { IBalance } from '../../shared/interfaces/balance.interface';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\ninterface ISource {\r\n source: any;\r\n}\r\n\r\ninterface IAccountActions {\r\n name: string;\r\n url: string;\r\n}\r\n\r\ninterface IProduct {\r\n accountActions: Array;\r\n accountId: string;\r\n accountNumber: string;\r\n availableBalance: IBalance;\r\n portfolioName?: string;\r\n bookBalance: IBalance;\r\n description: string;\r\n isCreditCard?: boolean;\r\n isLinkActive: boolean;\r\n limit: number | null;\r\n status: string;\r\n visible: boolean;\r\n accountName: string;\r\n isDefaultAccount?: boolean;\r\n portfolioId?: string;\r\n}\r\n\r\ninterface IAccount {\r\n id: string;\r\n isCorporate: boolean;\r\n isDefault: boolean;\r\n isJoint: boolean;\r\n isSingle: boolean;\r\n name: string;\r\n products: IProduct[];\r\n source: ISource;\r\n}\r\n\r\ninterface AccountOverviewResponse extends ApiResponse {\r\n cards: Array | null;\r\n portfolios: Array | null;\r\n source: null;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountOverviewService extends ApiClientService {\r\n private storedDate: AccountOverviewResponse;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_ACCOUNTSOVERVIEW_ENDPOINT);\r\n }\r\n\r\n // saveOnce is used after login for store the data return by server.\r\n // The call are make after success login because we need to have user permissions\r\n // before Layout service return navigation data\r\n getAccountOverview(saveOnce?: boolean): Observable {\r\n return Observable.create(observer => {\r\n if (this.storedDate) {\r\n observer.next(this.storedDate);\r\n this.storedDate = null;\r\n return;\r\n }\r\n\r\n this.get().subscribe(\r\n result => {\r\n if (saveOnce) {\r\n this.storedDate = result;\r\n }\r\n\r\n observer.next(result);\r\n },\r\n error => {\r\n observer.next(error);\r\n }\r\n );\r\n });\r\n }\r\n}\r\n\r\nexport { AccountOverviewResponse, IAccount, IProduct };\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_USER_BANKACCOUNTS_SETTINGS } from '../../shared/constants';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { IProduct } from './account-overview.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BankAccountSettingsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_USER_BANKACCOUNTS_SETTINGS);\r\n }\r\n\r\n saveBankAccountsSettings(\r\n bankAccounts: Array\r\n ): Observable {\r\n return this.postWithButtonLoader(bankAccounts);\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { GetItemListFieldsService } from '../../../shared/services/get-item-list-fields.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { ToAccountsListForTransfersResponse } from '../../../transfers/services/to-accounts.service';\r\nimport {\r\n IAccountTransferPermissions,\r\n ITransferOptions\r\n} from '../../../transfers/services/internal-accounts.service';\r\nimport TRANSFER_TYPE from '../../../transfers/enums/transfer-type';\r\nimport { ISecurityAddressBook } from '../../../shared/interfaces/address-book.interfaces';\r\n\r\n@Component({\r\n selector: 'ab-address-book-popup',\r\n templateUrl: './address-book-popup.component.html',\r\n styleUrls: ['./address-book-popup.component.scss']\r\n})\r\nexport class AddressBookPopupComponent implements OnInit {\r\n public items: { [key: string]: Item };\r\n public securityAddressBook: ISecurityAddressBook;\r\n\r\n get hideCompanies() {\r\n return (\r\n !this.data.data.transferOptions.billTransferAllowed ||\r\n this.data.data.transferType === TRANSFER_TYPE.internationalTransfer\r\n );\r\n }\r\n\r\n get hideOwnAccounts() {\r\n return (\r\n !this.data.data.transferOptions.internalTransferAllowed ||\r\n this.data.data.transferType === TRANSFER_TYPE.internationalTransfer\r\n );\r\n }\r\n\r\n get hideContacts() {\r\n return (\r\n !this.data.data.transferOptions.domesticTransferAllowed &&\r\n this.data.data.transferType !== TRANSFER_TYPE.internationalTransfer\r\n );\r\n }\r\n\r\n get domesticPermissionsEnabled() {\r\n return (\r\n this.data.data.transferType === TRANSFER_TYPE.internationalTransfer ||\r\n this.data.data.permissions.domesticTransferEnabled\r\n );\r\n }\r\n\r\n get billTransferPermissionsEnabled() {\r\n return this.data.data.permissions.billTransferEnabled;\r\n }\r\n\r\n get internalPermissionsEnabled() {\r\n return this.data.data.permissions.internalTransferEnabled;\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA)\r\n public data: {\r\n data: {\r\n dialogData: ToAccountsListForTransfersResponse;\r\n transferOptions: ITransferOptions;\r\n transferType: TRANSFER_TYPE;\r\n permissions: IAccountTransferPermissions;\r\n };\r\n fields: any;\r\n },\r\n public dialogRef: MatLegacyDialogRef,\r\n private getItemListFieldsService: GetItemListFieldsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.items = this.getItemListFieldsService.getItems(this.data.fields.items);\r\n\r\n this.securityAddressBook = {\r\n billTransferPermissionsEnabled: this.billTransferPermissionsEnabled,\r\n domesticPermissionsEnabled: this.domesticPermissionsEnabled,\r\n hideCompanies: this.hideCompanies,\r\n hideContacts: this.hideContacts,\r\n hideOwnAccounts: this.hideOwnAccounts,\r\n internalPermissionsEnabled: this.internalPermissionsEnabled\r\n };\r\n }\r\n\r\n select(item: any) {\r\n this.dialogRef.close(item);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n ElementRef,\r\n AfterViewInit,\r\n HostListener\r\n} from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields\r\n} from '../../../shared/services/form-fields-generator.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { GetItemListFieldsService } from '../../../shared/services/get-item-list-fields.service';\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators\r\n} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ab-approval-popup',\r\n templateUrl: './approval-popup.component.html',\r\n styleUrls: ['./approval-popup.component.scss']\r\n})\r\nexport class ApprovalPopupComponent implements OnInit, AfterViewInit {\r\n @ViewChild('approvalCodeInput') approvalCodeInput: ElementRef;\r\n\r\n public formFields: FormFields;\r\n public items: { [key: string]: Item };\r\n public challengeCode = 'NaN';\r\n public otpType: string;\r\n public approvalCodeErrorMessage: string;\r\n\r\n public approvalForm = new UntypedFormGroup({\r\n approvalCode: new UntypedFormControl(null, [\r\n Validators.required,\r\n Validators.pattern('[0-9]+')\r\n ])\r\n });\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private getItemListFieldsService: GetItemListFieldsService\r\n ) {}\r\n\r\n get approvalCode() {\r\n return this.approvalForm.get('approvalCode');\r\n }\r\n\r\n @HostListener('document:keypress', ['$event'])\r\n onEnterPress(event) {\r\n if (event.key === 'Enter' && this.approvalForm.valid) {\r\n this.confirm();\r\n this.approvalCodeInput.nativeElement.blur();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields({\r\n fields: this.data.fields\r\n }) as FormFields;\r\n\r\n if (this.data.fields.items && this.data.fields.items.length !== 0) {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.data.fields.items\r\n );\r\n }\r\n\r\n if (this.data.approvalData && !this.data.approvalData.isRetail) {\r\n this.otpType = 'abopassValue';\r\n }\r\n\r\n this.challengeCode = this.data.approvalData.challengeCode;\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.approvalCodeInput.nativeElement.focus();\r\n }, 1000);\r\n }\r\n\r\n radioChange() {\r\n setTimeout(() => this.approvalCodeInput.nativeElement.focus());\r\n }\r\n\r\n confirm() {\r\n const approveRequeset = this.data.approvalData.approveRequeset;\r\n if (approveRequeset) {\r\n approveRequeset({\r\n challengeCode: this.data.approvalData.challengeCode,\r\n signingCode: this.approvalForm.value.approvalCode\r\n }).subscribe((response) => {\r\n if (response.callIsSuccess) {\r\n this.dialogRef.close(true);\r\n } else {\r\n this.approvalCodeErrorMessage = response.errorDescription;\r\n this.approvalCode.setErrors({\r\n approvalCodeError: true\r\n });\r\n }\r\n });\r\n } else {\r\n this.dialogRef.close(this.approvalForm.value.approvalCode);\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {{ challengeCode }}\r\n
    \r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {{ challengeCode }}\r\n
    \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n {{ formFields.genericErrors.onlyNumbersValidation.message }}\r\n {{ approvalCodeErrorMessage }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Inject,\r\n ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { GetItemListFieldsService } from '../../../shared/services/get-item-list-fields.service';\r\nimport { Observable, fromEvent, Subject } from 'rxjs';\r\nimport { map, startWith, delay, tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'ab-country-list-popup',\r\n templateUrl: './country-list-popup.component.html',\r\n styleUrls: ['./country-list-popup.component.scss']\r\n})\r\nexport class CountryListPopupComponent implements OnInit {\r\n @Input() countryList: any;\r\n @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\r\n\r\n public selectedCountry: any;\r\n public items: any;\r\n public search: string;\r\n public filteredArray: Observable;\r\n public isEmpty = false;\r\n\r\n private _searchSubject;\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef,\r\n private getItemListFieldsService: GetItemListFieldsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.data.fields && this.data.fields.length !== 0) {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.data.fields.items\r\n );\r\n }\r\n\r\n this.filteredArray = this.searchObservable.pipe(\r\n startWith(null),\r\n map((event) => {\r\n return this.search ? this.filter() : this.data.data;\r\n }),\r\n delay(0),\r\n tap((value) => {\r\n this.isEmpty = value.length === 0;\r\n })\r\n );\r\n }\r\n\r\n confirm(country: any) {\r\n this.selectedCountry = country;\r\n this.dialogRef.close(this.selectedCountry);\r\n }\r\n\r\n clearValue() {\r\n this.search = '';\r\n this._searchSubject.next();\r\n }\r\n\r\n private filter() {\r\n return this.data.data.filter((country) => {\r\n return (\r\n country.countryName\r\n .toLowerCase()\r\n .indexOf(this.search.toLocaleLowerCase()) !== -1\r\n );\r\n });\r\n }\r\n\r\n private get searchObservable(): Observable {\r\n if (!this._searchSubject) {\r\n this._searchSubject = new Subject();\r\n\r\n fromEvent(this.searchInput.nativeElement, 'input').subscribe((event) => {\r\n this._searchSubject.next(event);\r\n });\r\n }\r\n\r\n return this._searchSubject.asObservable();\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{ country.countryName }}\r\n
\r\n {{ country.countryCode }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, NgForm } from '@angular/forms';\r\nimport {\r\n MatLegacyDialog,\r\n MatLegacyDialogRef,\r\n MatLegacyDialogState\r\n} from '@angular/material/legacy-dialog';\r\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { filter } from 'rxjs/operators';\r\nimport {\r\n DialogState,\r\n DialogStateService,\r\n IDialogState\r\n} from '../../../dialogs/services/dialog-state.service';\r\nimport { DefaultPortfolioService } from '../../../shared/services/default-portfolio.service';\r\nimport {\r\n FormFields,\r\n FormFieldsGeneratorService\r\n} from '../../../shared/services/form-fields-generator.service';\r\nimport { IPortfolio } from './../../../shared/services/portfolio.service';\r\n\r\n@Component({\r\n selector: 'ab-default-portfolio-selector',\r\n templateUrl: './default-portfolio-selector.component.html',\r\n styleUrls: ['./default-portfolio-selector.component.scss']\r\n})\r\nexport class DefaultPortfolioSelectorComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild('defaultPortfolioSelector')\r\n defaultPortfolioSelector: TemplateRef;\r\n @ViewChild('defaultPortfolioSelectorForm')\r\n defaultPortfolioSelectorForm: NgForm;\r\n\r\n public portfolios: Array;\r\n public accounts: any;\r\n public dialogRef: MatLegacyDialogRef;\r\n public tableColumns: Item;\r\n public formFields: FormFields;\r\n public selectDefaultAccount: any;\r\n public isLoading: boolean = true;\r\n public portfolioForm = new UntypedFormGroup({\r\n defaultAccount: new UntypedFormControl(''),\r\n defaultPortfolio: new UntypedFormControl('')\r\n });\r\n private dialogId: string;\r\n private dialogStateSubscription: Subscription;\r\n private routerSubscription: Subscription;\r\n private accountDetailsSubscription: Subscription;\r\n constructor(\r\n private defaultPortfolioService: DefaultPortfolioService,\r\n private dialog: MatLegacyDialog,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private dialogStateService: DialogStateService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.dialogId = (this.rendering.fields._id).value;\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n if (this.dialogRef) {\r\n this.dialogRef.close();\r\n }\r\n });\r\n\r\n this.dialogStateSubscription = this.dialogStateService\r\n .getDialogState()\r\n .subscribe((value: IDialogState) => {\r\n if (\r\n this.dialogId === value.rendaringName &&\r\n value.dialogState === DialogState.Open\r\n ) {\r\n if (\r\n !this.dialogRef ||\r\n this.dialogRef?.getState() !== MatLegacyDialogState.OPEN\r\n ) {\r\n this.dialogRef = this.dialog.open(this.defaultPortfolioSelector, {\r\n panelClass: 'popup-dialog',\r\n disableClose: true\r\n });\r\n }\r\n if (value.data) {\r\n this.portfolios = value.data?.portfolios;\r\n this.accounts = value.data?.accounts;\r\n this.isLoading = value.data?.isLoading;\r\n }\r\n }\r\n });\r\n\r\n this.tableColumns = (this.rendering.fields.items as Item[]).filter(\r\n (i) => i.name === 'Table'\r\n )[0] as Item;\r\n\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n }\r\n\r\n setDefault(selectedPortfolio: IPortfolio) {\r\n this.portfolios.forEach((portfolio) => {\r\n if (portfolio.id !== selectedPortfolio.id) {\r\n portfolio.isDefault = false;\r\n }\r\n });\r\n }\r\n\r\n getDefaultAccount(portfolio: IPortfolio) {\r\n const accountOptions = this.accounts?.filter((account) => {\r\n return account.portfolioId === portfolio.id;\r\n });\r\n const defaultSelectedAccount = accountOptions?.filter(\r\n (account) => account.isDefaultAccount\r\n )[0];\r\n const originalDefaultAccounts = accountOptions?.filter((account) => {\r\n account.accountId === portfolio.defaultAccount;\r\n })[0];\r\n return defaultSelectedAccount || originalDefaultAccounts;\r\n }\r\n\r\n selectedAccountChange(event): void {\r\n this.portfolios.forEach((portfolio) => {\r\n if (portfolio.id === event.value.portfolioId) {\r\n portfolio.defaultAccount = event.value.accountId;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.dialogRef.close(false);\r\n this.dialogStateService.closeDialogByReference(this.dialogId, false);\r\n }\r\n\r\n submit() {\r\n this.defaultPortfolioService.clearDefaultPortfolio();\r\n const updatedPortfolios = this.portfolios.map((portfolio) => {\r\n return {\r\n portfolioName: portfolio.name,\r\n portfolioNumber: portfolio.id,\r\n isDefaultPortfolio: portfolio.isDefault,\r\n defaultAccount: portfolio?.defaultAccount\r\n };\r\n });\r\n\r\n this.defaultPortfolioService\r\n .setPortfolio(updatedPortfolios)\r\n .subscribe(() => {\r\n this.dialogStateService.closeDialogByReference(this.dialogId, true);\r\n this.dialogRef.close(true);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dialogStateSubscription) {\r\n this.dialogStateSubscription.unsubscribe();\r\n }\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n if (this.accountDetailsSubscription) {\r\n this.accountDetailsSubscription.unsubscribe();\r\n }\r\n this.accounts = [];\r\n }\r\n}\r\n","\r\n
\r\n {{ rendering.fields.Title.value }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{ portfolio.name }}\r\n \r\n \r\n \r\n \r\n \r\n {{ account?.accountName }} -\r\n {{\r\n account?.availableBalance?.currencyCode\r\n | abCurrencySymbol\r\n }}\r\n \r\n -\r\n {{ account?.accountNumber }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ rendering.fields.BodyText.value }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { IDialogState, DialogState } from '../../services/dialog-state.service';\r\n\r\n/*\r\n\r\nComponent which can be use for creating a confirmation dialogs with details.\r\nThe component need to receive formatted data like array of strings.\r\nThe position of each string into array need to corispondent with the position of label into\r\narray of items which Siteecore JSS return for this specific popup.\r\n\r\nIf Sitecore return array like:\r\n['Amount', 'From account', 'To account', 'Description', 'Transfer Date']\r\n\r\nwe need to pass array to component like:\r\n['1,234.00 USD', '0851780490', '22220003', 'transfer description', '25.05.2019']\r\n\r\nif we pass array like:\r\n['1,234.00 USD', '0851780490', null, 'transfer description', null]\r\n\r\nthe component will prevent showing of labels: 'To account' and 'Transfer Date'\r\n\r\n*/\r\n\r\n@Component({\r\n selector: 'ab-details-confirm-popup',\r\n templateUrl: './details-confirm-popup.component.html',\r\n styleUrls: ['./details-confirm-popup.component.scss']\r\n})\r\nexport class DetailsConfirmPopupComponent {\r\n public errorState: boolean;\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef\r\n ) {\r\n this.errorState =\r\n data !== undefined &&\r\n data.payment !== undefined &&\r\n data.payment.errorMessage !== undefined;\r\n }\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n dismiss() {\r\n this.dialogRef.close({\r\n dialogState: DialogState.Dismiss\r\n });\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ data.payment.errorMessage }}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{ data.labels[i] }}\r\n
\r\n
{{ data.payment[i] }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\n\r\n@Component({\r\n selector: 'ab-error-handling-popup',\r\n templateUrl: './error-handling-popup.component.html',\r\n styleUrls: ['./error-handling-popup.component.scss']\r\n})\r\nexport class ErrorHandlingPopupComponent implements OnInit {\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef\r\n ) {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n \r\n

{{ data.data.errorDescription }}

\r\n \r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'ab-info-popup',\r\n templateUrl: './info-popup.component.html',\r\n styleUrls: ['./info-popup.component.scss']\r\n})\r\nexport class InfoPopupComponent {\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef,\r\n private router: Router\r\n ) {}\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n redirect() {\r\n this.dialogRef.close();\r\n this.router.navigate([this.data.RedirectUrl.url]);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { Field } from '@sitecore-jss/sitecore-jss/layout';\r\n\r\nimport {\r\n MessagesListService,\r\n IMessage\r\n} from './../../../personal-archive/services/messages-list.service';\r\nimport { DialogStateService } from './../../services/dialog-state.service';\r\n\r\n@Component({\r\n selector: 'ab-personal-archive-message',\r\n templateUrl: './personal-archive-message.component.html',\r\n styleUrls: ['./personal-archive-message.component.scss']\r\n})\r\nexport class PersonalArchiveMessageComponent implements OnInit {\r\n public messageDetails: IMessage;\r\n public sender: Field;\r\n public date: Field;\r\n public delete: Field;\r\n public body;\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef,\r\n private messagesListService: MessagesListService,\r\n private dialogStateService: DialogStateService\r\n ) {\r\n this.messageDetails = this.data.data;\r\n this.data.fields.items.forEach((item) => {\r\n switch (item.name) {\r\n case 'Sender':\r\n this.sender = item.fields.label as Field;\r\n break;\r\n case 'Date':\r\n this.date = item.fields.label as Field;\r\n break;\r\n case 'Delete':\r\n this.delete = item.fields.label as Field;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.showMessageDialog();\r\n }\r\n\r\n showMessageDialog() {\r\n this.body = this.messageDetails.body;\r\n }\r\n\r\n confirm() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n public deleteMessage() {\r\n this.dialogRef.close(true);\r\n this.dialogStateService.openDialog('ConfirmDelete').subscribe((result) => {\r\n if (result) {\r\n this.messagesListService\r\n .deleteMessage(this.messageDetails.id)\r\n .subscribe((response) => {\r\n if (response.callIsSuccess) {\r\n this.messagesListService.publishDeteledMessage(\r\n this.messageDetails.id\r\n );\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n public printMessage() {\r\n window.open(\r\n `${(this.data.fields.printMessageUrl as any).value.href}?id=${\r\n this.messageDetails.id\r\n }`\r\n );\r\n }\r\n}\r\n","\r\n
\r\n {{ messageDetails.subject }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ messageDetails.author?.name }}\r\n
\r\n
\r\n \r\n {{\r\n messageDetails.createdDate | abDate\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport {\r\n MatLegacyDialog,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { InfoPopupComponent } from '../info-popup/info-popup.component';\r\nimport {\r\n DialogStateService,\r\n DialogState,\r\n IDialogState\r\n} from '../../services/dialog-state.service';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { ApprovalPopupComponent } from '../approval-popup/approval-popup.component';\r\nimport { RadioButtonsPopupComponent } from '../radio-buttons-popup/radio-buttons-popup.component';\r\nimport { DetailsConfirmPopupComponent } from '../details-confirm-popup/details-confirm-popup.component';\r\nimport { Router, RouterEvent, NavigationStart } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\nimport { CountryListPopupComponent } from '../country-list-popup/country-list-popup.component';\r\nimport { AddressBookPopupComponent } from '../address-book-popup/address-book-popup.component';\r\nimport { PersonalArchiveMessageComponent } from '../personal-archive-message/personal-archive-message.component';\r\nimport { UploadDocumentComponent } from '../upload-document/upload-document.component';\r\nimport { ErrorHandlingPopupComponent } from '../error-handling-popup/error-handling-popup.component';\r\n\r\n@Component({\r\n selector: 'ab-popup',\r\n templateUrl: './popup.component.html',\r\n styleUrls: ['./popup.component.scss']\r\n})\r\nexport class PopupComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n\r\n private dialogId: string;\r\n private dialogStateSubscription: Subscription;\r\n private routerSubscription: Subscription;\r\n private matDialogRef: MatLegacyDialogRef;\r\n\r\n constructor(\r\n private dialog: MatLegacyDialog,\r\n private dialogStateService: DialogStateService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.dialogId = (this.rendering.fields._id).value;\r\n this.dialogStateService.addDialogId(this.dialogId);\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n if (this.matDialogRef) {\r\n this.matDialogRef.close();\r\n }\r\n });\r\n\r\n this.dialogStateSubscription = this.dialogStateService\r\n .getDialogState()\r\n .subscribe((value: IDialogState) => {\r\n if (this.dialogId === value.rendaringName) {\r\n switch (value.dialogState) {\r\n case DialogState.Open:\r\n this.openDialog(value.data, value.disableClose);\r\n break;\r\n case DialogState.Close:\r\n this.closeDialog();\r\n break;\r\n default:\r\n console.error('Missing state');\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.dialogStateSubscription) {\r\n this.dialogStateSubscription.unsubscribe();\r\n }\r\n\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private openDialog(data?, disableClose?: boolean) {\r\n let component;\r\n let dialogData: any = this.rendering.fields;\r\n\r\n switch ((this.rendering.fields.type as Field).value) {\r\n case 'Approval':\r\n component = ApprovalPopupComponent;\r\n dialogData = {\r\n approvalData: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'RadioButtons':\r\n component = RadioButtonsPopupComponent;\r\n break;\r\n case 'DetailsConfirm':\r\n component = DetailsConfirmPopupComponent;\r\n dialogData = {\r\n payment: data.details || data,\r\n labels: data.labels,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'CountryList':\r\n component = CountryListPopupComponent;\r\n dialogData = {\r\n data: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'AddressBook':\r\n component = AddressBookPopupComponent;\r\n dialogData = {\r\n data: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'PersonalArchive':\r\n component = PersonalArchiveMessageComponent;\r\n dialogData = {\r\n data: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'UploadDocument':\r\n component = UploadDocumentComponent;\r\n dialogData = {\r\n data: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'ErrorHandling':\r\n component = ErrorHandlingPopupComponent;\r\n dialogData = {\r\n data: data,\r\n fields: dialogData\r\n };\r\n break;\r\n case 'Info':\r\n default:\r\n component = InfoPopupComponent;\r\n break;\r\n }\r\n\r\n this.matDialogRef = this.dialog.open(component, {\r\n data: dialogData,\r\n disableClose:\r\n (!(this.rendering.fields.HasCloseButtonInHeader as Field)\r\n .value as boolean) || disableClose,\r\n panelClass: 'popup-dialog',\r\n closeOnNavigation: true\r\n });\r\n\r\n this.matDialogRef.afterClosed().subscribe((dialogCloseValue) => {\r\n if (!dialogCloseValue) {\r\n this.dialogStateService.closeDialogByReference(this.dialogId, false);\r\n return;\r\n }\r\n\r\n if (\r\n dialogCloseValue.dialogState &&\r\n dialogCloseValue.dialogState === DialogState.Dismiss\r\n ) {\r\n this.dialogStateService.closeDialogByReference(this.dialogId);\r\n return;\r\n }\r\n\r\n this.dialogStateService.closeDialogByReference(\r\n this.dialogId,\r\n dialogCloseValue\r\n );\r\n });\r\n\r\n if (\r\n (this.rendering.fields.HasCloseButtonInHeader as Field).value as boolean\r\n ) {\r\n this.matDialogRef.backdropClick().subscribe(() => {\r\n this.dialogStateService.closeDialogByReference(this.dialogId);\r\n });\r\n }\r\n }\r\n\r\n private closeDialog() {\r\n if (this.matDialogRef) {\r\n this.matDialogRef.close();\r\n this.matDialogRef = undefined;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { InfoPopupComponent } from '../info-popup/info-popup.component';\r\n\r\n@Component({\r\n selector: 'ab-radio-buttons-popup',\r\n templateUrl: './radio-buttons-popup.component.html',\r\n styleUrls: ['./radio-buttons-popup.component.scss']\r\n})\r\nexport class RadioButtonsPopupComponent implements OnInit {\r\n public selection = 'CSV'; // to be refactored later\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n confirm() {\r\n this.dialogRef.close(this.selection);\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n Inject,\r\n OnInit\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n Validators\r\n} from '@angular/forms';\r\nimport {\r\n MAT_DIALOG_DATA,\r\n MatDialogRef\r\n} from '@angular/material/dialog';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n FormFields\r\n} from '../../../shared/services/form-fields-generator.service';\r\n\r\n@Component({\r\n selector: 'ab-sentoo-payment-popup',\r\n templateUrl: './sentoo-payment-popup.component.html',\r\n styleUrls: ['./sentoo-payment-popup.component.scss']\r\n})\r\nexport class SentooPaymentPopupComponent implements OnInit {\r\n\r\n\r\n public formFields: FormFields;\r\n public items: { [key: string]: Item };\r\n public challengeCode = 'NaN';\r\n public otpType: string;\r\n public approvalCodeErrorMessage: string;\r\n\r\n public approvalForm = new UntypedFormGroup({\r\n approvalCode: new UntypedFormControl(null, [\r\n Validators.required,\r\n Validators.pattern('[0-9]+')\r\n ])\r\n });\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialogRef: MatDialogRef,\r\n ) {}\r\n\r\n\r\n ngOnInit() {\r\n\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n 1\r\n
    \r\n
    \r\n text\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n FormFields,\r\n FormFieldsGeneratorService\r\n} from '../../../shared/services/form-fields-generator.service';\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators\r\n} from '@angular/forms';\r\nimport {\r\n MAT_LEGACY_DIALOG_DATA,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { ConfigurationSettingsContextService } from '../../../shared/services/configuration-settings-context.service';\r\nimport { PrivateDocumentsListService } from './../../../personal-archive/services/private-documents-list.service';\r\n\r\n@Component({\r\n selector: 'ab-upload-document',\r\n templateUrl: './upload-document.component.html',\r\n styleUrls: ['./upload-document.component.scss']\r\n})\r\nexport class UploadDocumentComponent implements OnInit {\r\n @ViewChild('file') file: ElementRef;\r\n\r\n formFields: FormFields;\r\n\r\n public allowedIdCardCharactersRegex: RegExp = undefined;\r\n public maxIdLenght: number = undefined;\r\n public uploadForm = new UntypedFormGroup({\r\n documentType: new UntypedFormControl('', Validators.required),\r\n files: new UntypedFormControl(),\r\n documentSubType: new UntypedFormControl('', Validators.required),\r\n documentNumber: new UntypedFormControl('', [\r\n Validators.required,\r\n Validators.maxLength(this.maxIdLenght),\r\n Validators.pattern(this.allowedIdCardCharactersRegex)\r\n ]),\r\n expirationDate: new UntypedFormControl('', Validators.required)\r\n });\r\n\r\n public allowedExtensions: Array = [];\r\n public previewableExtenstions: Array = ['jpg', 'jpeg', 'png'];\r\n public maxFileCount: number;\r\n public maxFileSize: number;\r\n public maxFileNameSize: number;\r\n public expirationDateMin: Date;\r\n public isMaxFileCountReached: boolean;\r\n public isMaxFileNameCountReached: boolean;\r\n public isFilesExtensionsCorrect: boolean;\r\n public isFilesSizesCorrect: boolean;\r\n public initialState: boolean;\r\n public isInTheZone: boolean;\r\n\r\n public fileList: Array = [];\r\n public filesPreviews: Array = [];\r\n public showDocumentSubType: boolean;\r\n\r\n get documentType() {\r\n return this.uploadForm.get('documentType');\r\n }\r\n\r\n get documentSubType() {\r\n return this.uploadForm.get('documentSubType');\r\n }\r\n\r\n get documentNumber() {\r\n return this.uploadForm.get('documentNumber');\r\n }\r\n\r\n get expirationDate() {\r\n return this.uploadForm.get('expirationDate');\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_LEGACY_DIALOG_DATA) public data: any,\r\n public dialogRef: MatLegacyDialogRef,\r\n private privateDocumentsListService: PrivateDocumentsListService,\r\n private configurationSettingsContextService: ConfigurationSettingsContextService,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService\r\n ) {\r\n this.documentType.setValue(\r\n this.data.fields.DocumentType[0].fields.Value.value\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.setFields(this.data.fields.DocumentType[0].fields.Value.value);\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.data\r\n ) as FormFields;\r\n\r\n this.setAllowedExtensions();\r\n this.setMaxFileCount();\r\n this.setMaxFileSize();\r\n this.setMaxFileNameSize();\r\n this.setExpirationDateMin();\r\n this.allowedIdCardCharactersRegex = new RegExp(\r\n this.validationDNumberAlllowedCharacters\r\n );\r\n this.maxIdLenght = this.validationIDNumberLenght;\r\n this.isMaxFileCountReached = false;\r\n this.isMaxFileNameCountReached = false;\r\n this.isFilesExtensionsCorrect = true;\r\n this.isFilesSizesCorrect = true;\r\n this.initialState = true;\r\n\r\n this.documentType.valueChanges.subscribe((value) => this.setFields(value));\r\n }\r\n\r\n setAllowedExtensions() {\r\n this.allowedExtensions =\r\n this.data.fields.allowedFileExtensions.value.split(',');\r\n }\r\n\r\n setMaxFileCount() {\r\n this.maxFileCount = 5;\r\n }\r\n\r\n setMaxFileSize() {\r\n this.maxFileSize = this.data.fields.maxFileSize.value;\r\n }\r\n\r\n setMaxFileNameSize() {\r\n this.maxFileNameSize = parseInt(\r\n this.data.fields.maxFileNameAndExtensionSize.value,\r\n 0\r\n );\r\n }\r\n\r\n setExpirationDateMin() {\r\n this.expirationDateMin = new Date(\r\n new Date().setMonth(\r\n new Date().getMonth() +\r\n parseInt(this.data.fields.minIdValidityDuration.value)\r\n )\r\n );\r\n }\r\n\r\n setFields(value: any) {\r\n if (value === this.data.fields.DocumentType[0].fields.Value.value) {\r\n this.showDocumentSubType = true;\r\n this.documentSubType.enable();\r\n this.documentNumber.enable();\r\n this.expirationDate.enable();\r\n } else {\r\n this.showDocumentSubType = false;\r\n this.documentSubType.disable();\r\n this.documentNumber.disable();\r\n this.expirationDate.disable();\r\n }\r\n }\r\n\r\n openUploadWindow($event: any) {\r\n $event.preventDefault();\r\n this.file.nativeElement.click();\r\n }\r\n\r\n removeFile(index: number) {\r\n this.fileList.splice(index, 1);\r\n this.filesPreviews.splice(index, 1);\r\n this.isMaxFileCountReached = false;\r\n this.isMaxFileNameCountReached = false;\r\n this.isFilesExtensionsCorrect = true;\r\n this.isFilesSizesCorrect = true;\r\n for (let i = 0; i <= this.fileList.length - 1; i++) {\r\n const file = this.fileList[i];\r\n if (!this.validateExtension(file)) {\r\n this.isFilesExtensionsCorrect = false;\r\n }\r\n if (!this.validateSize(file)) {\r\n this.isFilesSizesCorrect = false;\r\n }\r\n }\r\n if (this.fileList.length == 0) {\r\n this.initialState = true;\r\n }\r\n }\r\n\r\n removeFiles() {\r\n this.fileList = [];\r\n this.filesPreviews = [];\r\n this.isMaxFileCountReached = false;\r\n this.isMaxFileNameCountReached = false;\r\n this.isFilesExtensionsCorrect = true;\r\n this.isFilesSizesCorrect = true;\r\n this.initialState = true;\r\n }\r\n\r\n onFilesSelect($event: any) {\r\n this.createFilesArray($event.target.files);\r\n this.generateFilePreviews();\r\n this.file.nativeElement.value = '';\r\n }\r\n\r\n onFilesDrop($event: any) {\r\n this.createFilesArray($event.dataTransfer.files);\r\n this.generateFilePreviews();\r\n }\r\n\r\n createFilesArray(files: Array) {\r\n let filesLenght = this.fileList.length + files.length;\r\n if (filesLenght > this.maxFileCount) {\r\n this.isMaxFileCountReached = true;\r\n this.initialState = false;\r\n return false;\r\n }\r\n this.initialState = false;\r\n this.isMaxFileCountReached = false;\r\n\r\n let filesArray: Array = [];\r\n\r\n for (let i = 0; i <= files.length - 1; i++) {\r\n const file = files[i];\r\n if (!this.validateExtension(file)) {\r\n this.isFilesExtensionsCorrect = false;\r\n }\r\n if (!this.validateSize(file)) {\r\n this.isFilesSizesCorrect = false;\r\n }\r\n filesArray.push(file);\r\n }\r\n\r\n this.fileList = this.fileList.concat(filesArray);\r\n }\r\n\r\n generateFilePreviews() {\r\n this.fileList.forEach((file, index) => {\r\n if (this.isPreviewable(file)) {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (event: any) => {\r\n this.filesPreviews[index] = event.target.result;\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n } else {\r\n this.filesPreviews[index] = false;\r\n }\r\n });\r\n }\r\n\r\n validateFile(file: File): boolean {\r\n return (\r\n this.validateExtension(file) &&\r\n this.validateSize(file) &&\r\n this.validateFilenameSize(file)\r\n );\r\n }\r\n\r\n validateExtension(file: File): boolean {\r\n let ext = file.name.split('.')[file.name.split('.').length - 1];\r\n return this.allowedExtensions.lastIndexOf(ext.toLowerCase()) != -1;\r\n }\r\n\r\n validateSize(file: File): boolean {\r\n return file.size / 1024 <= 1024 * this.maxFileSize;\r\n }\r\n\r\n validateFilenameSize(file: File): boolean {\r\n if (!this.isMaxFileNameCountReached) {\r\n this.isMaxFileNameCountReached = file.name.length > this.maxFileNameSize;\r\n }\r\n\r\n return file.name.length <= this.maxFileNameSize;\r\n }\r\n\r\n isPreviewable(file: File): boolean {\r\n let ext = file.name.split('.')[file.name.split('.').length - 1];\r\n return this.previewableExtenstions.lastIndexOf(ext.toLowerCase()) != -1;\r\n }\r\n\r\n get validationIDNumberLenght() {\r\n return parseFloat(\r\n this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'IDNumberLenght'\r\n )\r\n );\r\n }\r\n\r\n get validationDNumberAlllowedCharacters() {\r\n return this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'IDNumberAllowedCharacters'\r\n );\r\n }\r\n\r\n submit() {\r\n const formData: FormData = new FormData();\r\n\r\n this.fileList.forEach((file) => {\r\n formData.append('document', file, file.name);\r\n });\r\n\r\n formData.append('documentType', this.documentType.value);\r\n\r\n if (this.showDocumentSubType) {\r\n formData.append('idDocumentType', this.documentSubType.value);\r\n formData.append('documentNumber', this.documentNumber.value);\r\n formData.append(\r\n 'expirationDate',\r\n this.expirationDate.value.toISOString()\r\n );\r\n }\r\n\r\n this.privateDocumentsListService.uploadDocuments(formData).subscribe(() => {\r\n this.dialogRef.close(true);\r\n });\r\n }\r\n\r\n onDragOver(event) {\r\n this.isInTheZone = true;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n onDragLeave(event) {\r\n this.isInTheZone = false;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n onDrop(event) {\r\n this.isInTheZone = false;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n {{ documentType.fields.Label.value }}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ documentSubType.fields.Label.value }}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {{\r\n formFields.genericErrors.validationInvalidMaxLength.message\r\n }}\r\n {{\r\n formFields.genericErrors.validationInvalidPattern.message\r\n }}\r\n {{ formFields.genericErrors.validationRequired.message }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ formFields.genericErrors.validationRequired.message }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { ApprovalPopupComponent } from './components/approval-popup/approval-popup.component';\r\nimport { InfoPopupComponent } from './components/info-popup/info-popup.component';\r\nimport { PopupComponent } from './components/popup/popup.component';\r\nimport { RadioButtonsPopupComponent } from './components/radio-buttons-popup/radio-buttons-popup.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DetailsConfirmPopupComponent } from './components/details-confirm-popup/details-confirm-popup.component';\r\nimport { CountryListPopupComponent } from './components/country-list-popup/country-list-popup.component';\r\nimport { AddressBookPopupComponent } from './components/address-book-popup/address-book-popup.component';\r\nimport { DefaultPortfolioSelectorComponent } from './components/default-portfolio-selector/default-portfolio-selector.component';\r\nimport { PersonalArchiveMessageComponent } from './components/personal-archive-message/personal-archive-message.component';\r\nimport { UploadDocumentComponent } from './components/upload-document/upload-document.component';\r\nimport { ErrorHandlingPopupComponent } from './components/error-handling-popup/error-handling-popup.component';\r\nimport { VirtualScrollerModule } from '@iharbeck/ngx-virtual-scroller';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { SentooPaymentPopupComponent } from './components/sentoo-payment/sentoo-payment-popup.component';\r\n\r\nconst DialogsComponents = [\r\n { name: 'Popup', type: PopupComponent },\r\n { name: 'MessagesDetailsPopup', type: PopupComponent },\r\n { name: 'MessagesDeletePopup', type: PopupComponent },\r\n { name: 'DefaultPortfolioSelector', type: DefaultPortfolioSelectorComponent },\r\n { name: 'ErrorHandlingPopup', type: PopupComponent },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ApprovalPopupComponent,\r\n SentooPaymentPopupComponent,\r\n InfoPopupComponent,\r\n PopupComponent,\r\n RadioButtonsPopupComponent,\r\n DetailsConfirmPopupComponent,\r\n CountryListPopupComponent,\r\n AddressBookPopupComponent,\r\n DefaultPortfolioSelectorComponent,\r\n PersonalArchiveMessageComponent,\r\n UploadDocumentComponent,\r\n ErrorHandlingPopupComponent\r\n ],\r\n imports: [CommonModule, JssModule, SharedModule, VirtualScrollerModule],\r\n entryComponents: [\r\n InfoPopupComponent,\r\n ApprovalPopupComponent,\r\n SentooPaymentPopupComponent,\r\n RadioButtonsPopupComponent,\r\n DetailsConfirmPopupComponent,\r\n CountryListPopupComponent,\r\n AddressBookPopupComponent,\r\n PersonalArchiveMessageComponent,\r\n UploadDocumentComponent,\r\n ErrorHandlingPopupComponent\r\n ]\r\n})\r\nexport class DialogsModule {}\r\n\r\nexport { DialogsComponents };\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { NavigationEnd, Router, RouterEvent } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nenum DialogState {\r\n Open,\r\n Close,\r\n Dismiss\r\n}\r\ninterface IDialogState {\r\n rendaringName: string;\r\n dialogState: DialogState;\r\n data?: any;\r\n disableClose?: boolean;\r\n errorMessage: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DialogStateService {\r\n private dialogState: Subject;\r\n private dialogObservables: { [key: string]: any } = {};\r\n private dialogIDs: string[] = [];\r\n\r\n constructor(router: Router) {\r\n this.dialogState = new Subject();\r\n\r\n router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationEnd))\r\n .subscribe(() => {\r\n this.dialogIDs = [];\r\n });\r\n }\r\n\r\n getDialogState() {\r\n return this.dialogState.asObservable();\r\n }\r\n\r\n addDialogId(id: string) {\r\n this.dialogIDs.push(id);\r\n }\r\n\r\n checkIfPopupExists(id: string) {\r\n return this.dialogIDs.indexOf(id) !== -1;\r\n }\r\n\r\n updateDialogState(\r\n rendaringName: string,\r\n data: any,\r\n dialogState: DialogState,\r\n disableClose?: boolean\r\n ) {\r\n this.dialogState.next({\r\n rendaringName: rendaringName,\r\n dialogState: dialogState,\r\n data,\r\n disableClose\r\n });\r\n }\r\n\r\n openDialog(\r\n rendaringName: string,\r\n data?: any,\r\n disableClose?: boolean\r\n ): Observable {\r\n this.dialogState.next({\r\n rendaringName: rendaringName,\r\n dialogState: DialogState.Open,\r\n data,\r\n disableClose\r\n });\r\n\r\n return Observable.create(observer => {\r\n this.dialogObservables[rendaringName] = observer;\r\n });\r\n }\r\n\r\n updateDialogWithError(\r\n rendaringName: string,\r\n data?: any,\r\n disableClose?: boolean,\r\n errorMessage?: string\r\n ): Observable {\r\n data.errorMessage = errorMessage;\r\n this.dialogState.next({\r\n rendaringName: rendaringName,\r\n dialogState: DialogState.Open,\r\n data,\r\n disableClose\r\n });\r\n return Observable.create(observer => {\r\n this.dialogObservables[rendaringName] = observer;\r\n });\r\n }\r\n\r\n closeDialog(rendaringName: string) {\r\n this.dialogState.next({\r\n rendaringName: rendaringName,\r\n dialogState: DialogState.Close\r\n });\r\n }\r\n\r\n closeDialogByReference(rendaringName: string, data?: any) {\r\n if (this.dialogObservables[rendaringName]) {\r\n this.dialogObservables[rendaringName].next(data);\r\n delete this.dialogObservables[rendaringName];\r\n }\r\n }\r\n}\r\n\r\nexport { IDialogState, DialogState };\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class GoogleAnalyticsModule { }\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { GTM, Gtm } from './gtm';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GoogleAnalyticsService {\r\n private isInitialized = false;\r\n\r\n constructor(\r\n @Inject(GTM) private gtm: Gtm\r\n ) {}\r\n\r\n initAnalytics(trackingCode: string) {\r\n if (this.isInitialized) {\r\n return;\r\n }\r\n\r\n if (!this.gtm || !document) {\r\n return;\r\n }\r\n\r\n this.gtm({\r\n 'gtm.start': new Date().getTime(),\r\n event: 'gtm.js'\r\n });\r\n if (document !== undefined) {\r\n\r\n const s: HTMLScriptElement = document?.createElement('script');\r\n s.async = true;\r\n s.src = `https://www.googletagmanager.com/gtm.js?id=${trackingCode}`;\r\n\r\n const head: HTMLHeadElement = document?.getElementsByTagName('head')[0];\r\n head.appendChild(s);\r\n\r\n this.isInitialized = true;\r\n }\r\n }\r\n\r\n page(path: string, title?: string) {\r\n try {\r\n const params = {\r\n event: 'page',\r\n pagePath: path\r\n };\r\n\r\n if (title) {\r\n params['pageTitle'] = title;\r\n }\r\n\r\n this.gtm(params);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n}\r\n","import { InjectionToken, inject } from '@angular/core';\r\nimport { WINDOW_REFERENCE } from './window-reference';\r\n\r\nexport type Gtm = (object: any) => void;\r\n\r\nexport function getGtm(window: Window): Gtm {\r\n if (window) {\r\n if (!window['dataLayer']) {\r\n window['dataLayer'] = [];\r\n }\r\n\r\n return (object: any) => {\r\n window['dataLayer'].push(object as any);\r\n };\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport const GTM = new InjectionToken('gtm', {\r\n providedIn: 'root',\r\n factory: () => getGtm(inject(WINDOW_REFERENCE))\r\n});\r\n","import { InjectionToken, inject, PLATFORM_ID } from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\nexport function getWindow(platformId: any) {\r\n return isPlatformBrowser(platformId) ? window : null;\r\n}\r\n\r\nexport const WINDOW_REFERENCE = new InjectionToken('window-reference', {\r\n providedIn: 'root',\r\n factory: () => getWindow(inject(PLATFORM_ID))\r\n});\r\n","import { Injectable } from '@angular/core';\r\nimport { TransferState, makeStateKey } from '@angular/platform-browser';\r\nimport { LayoutServiceData } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { map, shareReplay, catchError } from 'rxjs/operators';\r\nimport { Observable, of as observableOf, BehaviorSubject } from 'rxjs';\r\nimport { JssState } from './JssState';\r\nimport { JssLayoutService, LayoutServiceError } from './layout/jss-layout.service';\r\n\r\nexport const jssKey = makeStateKey('jss');\r\n\r\n/**\r\n * Stores the JSS app's context (current route and Sitecore context data).\r\n * This implementation runs on the client (browser) side; see jss-context.server-side.service.ts\r\n * for the implementation that runs on the server (SSR) side.\r\n */\r\n@Injectable()\r\nexport class JssContextService {\r\n // components can subscribe to this (or use getValue()) to get access to latest data from Layout Service,\r\n // as well as current language and server route\r\n state: BehaviorSubject;\r\n\r\n constructor(protected transferState: TransferState, protected layoutService: JssLayoutService) {\r\n this.state = new BehaviorSubject(new JssState());\r\n }\r\n\r\n changeLanguage(language: string) {\r\n this.state.next({ ...this.state.value, language });\r\n }\r\n\r\n // primarily invoked by JssRouteResolver on URL/route change\r\n changeRoute(route: string, language: string): Observable {\r\n // on client initial load, retrieve initial state from server\r\n const foundInitialState = this.transferState.hasKey(jssKey);\r\n if (foundInitialState) {\r\n const jssState = this.transferState.get(jssKey, null);\r\n this.transferState.remove(jssKey);\r\n this.state.next(jssState);\r\n return observableOf(jssState);\r\n }\r\n\r\n const appLanguage = this.state.value.language || language;\r\n\r\n const jssState$ = this.layoutService.getRouteData(route, appLanguage).pipe(\r\n map((routeData) => {\r\n const lsResult = routeData as LayoutServiceData;\r\n\r\n const result = new JssState();\r\n result.sitecore = lsResult.sitecore ? lsResult.sitecore : null;\r\n result.language = appLanguage;\r\n result.serverRoute = route;\r\n return result;\r\n }),\r\n catchError((error: LayoutServiceError) => {\r\n const result = new JssState();\r\n result.language = appLanguage;\r\n result.serverRoute = route;\r\n result.routeFetchError = error;\r\n return observableOf(result);\r\n }),\r\n shareReplay(1)\r\n );\r\n\r\n // subscribe to it ourselves so we can maintain current state\r\n jssState$.subscribe((jssState) => {\r\n this.state.next(jssState);\r\n });\r\n\r\n return jssState$;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResponse } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class JssDataFetcherService {\r\n constructor(\r\n private readonly httpClient: HttpClient,\r\n ) {\r\n this.fetch = this.fetch.bind(this);\r\n }\r\n\r\n fetch(url: string, data: unknown): Promise> {\r\n let result: Observable;\r\n\r\n const options = {\r\n withCredentials: true,\r\n };\r\n\r\n if (data) {\r\n result = this.httpClient.post(url, data, options);\r\n } else {\r\n result = this.httpClient.get(url, options);\r\n }\r\n\r\n return result.toPromise()\r\n .then((responseData) => ({\r\n data: responseData as T,\r\n status: 200,\r\n statusText: 'OK'\r\n }))\r\n .catch((error: HttpErrorResponse) => {\r\n if (error instanceof Error) {\r\n throw error;\r\n }\r\n\r\n return {\r\n data: error.error as T,\r\n status: error.status,\r\n statusText: error.statusText\r\n };\r\n });\r\n }\r\n}\r\n","import { NgModule, PLATFORM_ID, Inject } from '@angular/core';\r\nimport { HttpClientModule, HttpHeaders } from '@angular/common/http';\r\nimport { InMemoryCache, NormalizedCacheObject, PossibleTypesMap } from '@apollo/client/core';\r\nimport { Apollo, ApolloModule } from 'apollo-angular';\r\nimport { HttpBatchLink } from 'apollo-angular/http';\r\nimport { createPersistedQueryLink } from 'apollo-angular/persisted-queries';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport { TransferState, makeStateKey } from '@angular/platform-browser';\r\nimport { sha256 } from 'js-sha256';\r\nimport { environment } from '../environments/environment';\r\nimport { JssGraphQLService } from './jss-graphql.service';\r\n\r\n/*\r\n INTROSPECTION DATA\r\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n This enables the Apollo cache to process fragments on interface types correctly.\r\n If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../graphql-fragment-types';\r\n\r\n// SSR transfer state key to serialize + rehydrate apollo cache on client side\r\n// See https://www.apollographql.com/docs/angular/recipes/server-side-rendering.html\r\nconst STATE_KEY = makeStateKey('apollo.state');\r\n\r\n@NgModule({\r\n imports: [\r\n ApolloModule,\r\n HttpClientModule, // provides HttpClient for HttpLink\r\n ],\r\n providers: [JssGraphQLService],\r\n})\r\nexport class GraphQLModule {\r\n constructor(\r\n private readonly apollo: Apollo,\r\n private readonly httpLink: HttpBatchLink,\r\n private readonly transferState: TransferState,\r\n @Inject(PLATFORM_ID) private readonly platformId: string\r\n ) {\r\n this.createApolloClient();\r\n }\r\n\r\n onServer(cache: InMemoryCache) {\r\n this.transferState.onSerialize(STATE_KEY, () => cache.extract());\r\n }\r\n\r\n onBrowser(cache: InMemoryCache) {\r\n const state = this.transferState.get(STATE_KEY, null);\r\n\r\n cache.restore(state);\r\n }\r\n\r\n private createApolloClient(): void {\r\n /*\r\n QUERY LINK SELECTION\r\n A link is transport which GraphQL queries are pushed across.\r\n You have many choices.\r\n See the apollo-link documentation for more details.\r\n */\r\n\r\n\r\n // set sc_apikey header which is required for any GraphQL calls\r\n const sc_apikey = new HttpHeaders().set('sc_apikey', environment.sitecoreApiKey);\r\n\r\n // choose between a basic HTTP link to run queries...\r\n // import { createHttpLink } from 'apollo-angular-link-http';\r\n // const link = createHttpLink({ uri: endpoint });\r\n\r\n // ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\n const batchHttp = this.httpLink.create({\r\n uri: environment.graphQLEndpoint,\r\n headers: sc_apikey\r\n });\r\n\r\n // ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n // the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n // APQ + batched, or APQ + http links for example.\r\n const automaticPersistHttp = createPersistedQueryLink({ sha256 }).concat(batchHttp);\r\n\r\n const possibleTypes = {} as PossibleTypesMap;\r\n\r\n introspectionQueryResultData.__schema.types.forEach((supertype) => {\r\n possibleTypes[supertype.name] = supertype.possibleTypes.map((subtype) => subtype.name);\r\n });\r\n\r\n const cache = new InMemoryCache({\r\n possibleTypes,\r\n });\r\n\r\n this.apollo.create({\r\n link: automaticPersistHttp,\r\n cache,\r\n ssrMode: isPlatformServer(this.platformId),\r\n ssrForceFetchDelay: 100,\r\n });\r\n\r\n const isBrowser = this.transferState.hasKey(STATE_KEY);\r\n\r\n if (isBrowser) {\r\n this.onBrowser(cache);\r\n } else {\r\n this.onServer(cache);\r\n }\r\n }\r\n}\r\n","import { Injectable, PLATFORM_ID, Inject, } from '@angular/core';\r\nimport { Apollo } from 'apollo-angular';\r\nimport { ExtraSubscriptionOptions, EmptyObject, MutationResult } from 'apollo-angular/types';\r\nimport {\r\n QueryOptions,\r\n ApolloQueryResult,\r\n SubscriptionOptions,\r\n MutationOptions,\r\n DocumentNode\r\n} from '@apollo/client/core';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\nimport { ComponentRendering, isEditorActive, resetEditorChromes } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { JssContextService } from './jss-context.service';\r\nimport { ExecutableDefinitionNode } from 'graphql';\r\nimport { isPlatformServer } from '@angular/common';\r\n\r\nexport interface JssGraphQLOptions {\r\n renderingContext?: ComponentRendering;\r\n}\r\n\r\n/**\r\n * Provides GraphQL querying services via Apollo Client.\r\n * This service is needed to use _connected GraphQL_ with your JSS app.\r\n * If you are not using GraphQL, or are only using the _integrated GraphQL_\r\n * that is within the Layout Service, you do not need this service.\r\n *\r\n * Compared to using apollo-angular directly, using this service:\r\n * * Handles Sitecore SSR issues\r\n * * Makes available ambient $datasource and $contextItem GQL variables based on current route data\r\n * * Integrates with Sitecore Experience Editor's DOM-based update needs\r\n *\r\n * The API is identical to apollo-angular's `Apollo` service otherwise.\r\n */\r\n@Injectable()\r\nexport class JssGraphQLService {\r\n private isEditingOrPreviewingAndSsr: boolean;\r\n\r\n constructor(\r\n private readonly apollo: Apollo,\r\n private readonly sitecoreContext: JssContextService,\r\n @Inject(PLATFORM_ID) private readonly platformId: string,\r\n ) {\r\n this.isEditingOrPreviewingAndSsr =\r\n isPlatformServer(this.platformId) &&\r\n this.sitecoreContext.state.value.sitecore.context.pageState !== 'normal';\r\n }\r\n\r\n private static extractVariableNames(query: DocumentNode) {\r\n const variableNames: { [key: string]: boolean } = {};\r\n query.definitions\r\n .map((def) => (def as ExecutableDefinitionNode).variableDefinitions)\r\n .filter((def) => def)\r\n .forEach((defs) =>\r\n defs.forEach((def) => {\r\n if (def.kind && def.kind === 'VariableDefinition') {\r\n variableNames[def.variable.name.value] = true;\r\n }\r\n })\r\n );\r\n\r\n return variableNames;\r\n }\r\n\r\n /**\r\n * Executes a read query against the GraphQL endpoint\r\n */\r\n query(options: QueryOptions & JssGraphQLOptions): Observable> {\r\n if (this.isEditingOrPreviewingAndSsr) {\r\n return EMPTY;\r\n }\r\n\r\n options.variables = this.addJssAmbientVariables(options.query, options.variables, options.renderingContext);\r\n\r\n const observable = this.apollo.query(options);\r\n\r\n // When a query reply is received, and we're in Experience Editor mode,\r\n // xEditor needs to know to rebind to the editable DOM elements after they get inserted\r\n // (assuming use of `jss` field in the GQL query). This accomplishes that.\r\n observable.pipe(first()).subscribe(() => {\r\n setTimeout(() => {\r\n if (isEditorActive()) {\r\n resetEditorChromes();\r\n }\r\n }, 1000);\r\n });\r\n\r\n return observable;\r\n }\r\n\r\n /**\r\n * Executes a GraphQL mutation (write) against the GraphQL endpoint\r\n */\r\n mutate(options: MutationOptions & JssGraphQLOptions): Observable> {\r\n if (this.isEditingOrPreviewingAndSsr) {\r\n return EMPTY;\r\n }\r\n\r\n this.addJssAmbientVariables(options.mutation, options.variables, options.renderingContext);\r\n\r\n return this.apollo.mutate(options);\r\n }\r\n\r\n /**\r\n * Executes a GraphQL subscription (real-time data) against the GraphQL endpoint\r\n */\r\n subscribe(options: SubscriptionOptions & JssGraphQLOptions, extra?: ExtraSubscriptionOptions) {\r\n if (this.isEditingOrPreviewingAndSsr) {\r\n return EMPTY;\r\n }\r\n\r\n this.addJssAmbientVariables(options.query, options.variables, options.renderingContext);\r\n\r\n return this.apollo.subscribe(options, extra);\r\n }\r\n\r\n private addJssAmbientVariables(query: DocumentNode, variables: V, rendering?: ComponentRendering) {\r\n if (!variables) {\r\n variables = {} as V;\r\n }\r\n\r\n const usedVariables = JssGraphQLService.extractVariableNames(query);\r\n\r\n if (usedVariables.datasource && rendering && rendering.dataSource) {\r\n (variables as EmptyObject).datasource = rendering.dataSource;\r\n }\r\n\r\n if (\r\n usedVariables.contextItem &&\r\n this.sitecoreContext.state.value.sitecore &&\r\n this.sitecoreContext.state.value.sitecore.route &&\r\n this.sitecoreContext.state.value.sitecore.route.itemId\r\n ) {\r\n (variables as EmptyObject).contextItem = this.sitecoreContext.state.value.sitecore.route.itemId;\r\n }\r\n\r\n // pass language as a variable to the query, if language exists as a variable and in sitecoreContext\r\n if (\r\n usedVariables.language &&\r\n this.sitecoreContext.state.value.language\r\n ) {\r\n (variables as EmptyObject).language = this.sitecoreContext.state.value.language;\r\n }\r\n\r\n return variables;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\n\r\nexport interface MetaSettings {\r\n title?: string;\r\n}\r\n\r\n@Injectable()\r\nexport class JssMetaService {\r\n constructor(private titleService: Title, private meta: Meta) {}\r\n\r\n setTitle(title?: string) {\r\n this.titleService.setTitle(title);\r\n }\r\n\r\n setTag(name: string, value: string) {\r\n this.meta.addTag({ name, content: value });\r\n }\r\n\r\n update(meta: MetaSettings) {\r\n this.setTitle(meta.title);\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-footer-wrapper',\r\n templateUrl: './footer-wrapper.component.html',\r\n styleUrls: ['./footer-wrapper.component.scss']\r\n})\r\nexport class FooterWrapperComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","\r\n","
\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n LayoutServiceData,\r\n LayoutServiceContextData,\r\n} from '@sitecore-jss/sitecore-jss-angular';\r\nimport { from as fromPromise, Observable, throwError as observableThrow } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { layoutServiceFactory } from '../lib/layout-service-factory';\r\n\r\nconst layoutServiceInstance = layoutServiceFactory.create();\r\n\r\nexport class LayoutServiceError {\r\n status: number;\r\n statusText: string;\r\n data?: { sitecore?: LayoutServiceContextData };\r\n}\r\n\r\n@Injectable()\r\nexport class JssLayoutService {\r\n getRouteData(\r\n route: string,\r\n language: string\r\n ): Observable {\r\n return fromPromise(layoutServiceInstance.fetchLayoutData(route, language)).pipe(\r\n map(routeData => {\r\n if (!routeData.sitecore.route) {\r\n // A missing route value signifies an invalid path, so simulate Not Found error\r\n const error = new LayoutServiceError();\r\n error.status = 404;\r\n error.statusText = 'Not Found';\r\n error.data = routeData;\r\n throw error;\r\n }\r\n return routeData;\r\n }),\r\n catchError(this.getLayoutServiceError)\r\n );\r\n }\r\n\r\n private getLayoutServiceError(error: { [key: string]: unknown }): Observable {\r\n if (error instanceof LayoutServiceError) {\r\n return observableThrow(error);\r\n }\r\n const layoutServiceError = new LayoutServiceError();\r\n const response = error.response as { status: number; statusText: string; data: unknown };\r\n if (response) {\r\n layoutServiceError.status = response.status;\r\n layoutServiceError.statusText = response.statusText;\r\n layoutServiceError.data = response.data;\r\n }\r\n\r\n return observableThrow(layoutServiceError);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LayoutModule as Layout } from '@angular/cdk/layout';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { MatLegacyMenuModule } from '@angular/material/legacy-menu';\r\nimport { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { NavigationComponent } from './navigation/navigation.component';\r\nimport { PageTitleComponent } from './page-title/page-title.component';\r\nimport { FooterWrapperComponent } from './footer-wrapper/footer-wrapper.component';\r\nimport { PortfolioSelectorComponent } from './portfolio-selector/portfolio-selector.component';\r\nimport { PortfolioSettingComponent } from './portfolio-setting/portfolio-setting.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nconst LayoutComponents = [\r\n { name: 'Header', type: HeaderComponent },\r\n { name: 'Logo', type: LogoComponent },\r\n { name: 'Navigation', type: NavigationComponent },\r\n { name: 'PortfolioSelector', type: PortfolioSelectorComponent },\r\n { name: 'PortfolioSetting', type: PortfolioSettingComponent },\r\n { name: 'PageTitle', type: PageTitleComponent },\r\n { name: 'Footer', type: FooterComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n JssModule,\r\n RouterModule,\r\n Layout,\r\n MatLegacyMenuModule,\r\n MatLegacyTooltipModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n HeaderComponent,\r\n FooterComponent,\r\n LogoComponent,\r\n NavigationComponent,\r\n PageTitleComponent,\r\n FooterWrapperComponent,\r\n PortfolioSelectorComponent,\r\n PortfolioSettingComponent\r\n ],\r\n exports: [\r\n HeaderComponent,\r\n FooterComponent,\r\n LogoComponent,\r\n NavigationComponent,\r\n PageTitleComponent,\r\n FooterWrapperComponent\r\n ]\r\n})\r\nexport class LayoutModule {}\r\nexport { LayoutComponents };\r\n","\r\n \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ab-logo',\r\n templateUrl: './logo.component.html',\r\n styleUrls: ['./logo.component.scss']\r\n})\r\nexport class LogoComponent implements OnInit {\r\n @Input() rendering: any;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n HostListener,\r\n ElementRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Router, ResolveEnd } from '@angular/router';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/types/layout';\r\nimport { IActiveItem } from '../../shared/interfaces/active-item.interface';\r\n@Component({\r\n selector: 'ab-navigation',\r\n templateUrl: './navigation.component.html',\r\n styleUrls: ['./navigation.component.scss']\r\n})\r\nexport class NavigationComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public toggleMobileMenu = false;\r\n public inMobileView: boolean;\r\n public subMenuOpen: { [key: string]: boolean } = {};\r\n\r\n private breakpointSubscription: Subscription;\r\n private routerSubscription: Subscription;\r\n\r\n @HostListener('document:click', ['$event'])\r\n documentClick(event) {\r\n if (!this.element.nativeElement.contains(event.target)) {\r\n this.subMenuOpen = {};\r\n }\r\n }\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n private element: ElementRef,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.selectActiveMenu(this.router.url);\r\n\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe('(max-width: 767.98px)')\r\n .subscribe((state: BreakpointState) => {\r\n this.inMobileView = state.matches;\r\n });\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(filter(event => event instanceof ResolveEnd))\r\n .subscribe(event => {\r\n this.subMenuOpen = {};\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe();\r\n }\r\n\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showMobileMenu() {\r\n this.toggleMobileMenu = !this.toggleMobileMenu;\r\n }\r\n\r\n isOpen(id: string) {\r\n return !!this.subMenuOpen[id];\r\n }\r\n\r\n showSubMenu(link, id: string) {\r\n if (link) {\r\n this.router.navigate([link.url]);\r\n return;\r\n }\r\n\r\n if (!this.inMobileView && !this.subMenuOpen[id]) {\r\n this.subMenuOpen = {};\r\n }\r\n\r\n this.subMenuOpen[id] = !this.subMenuOpen[id];\r\n }\r\n\r\n isAccessEnabled(items: Item[]) {\r\n if (!items || items.length === 0) {\r\n return true;\r\n }\r\n\r\n return items.some((subItem: any) => {\r\n return subItem.fields.Link?.fields.AccessEnabled === 'True';\r\n });\r\n }\r\n\r\n private selectActiveMenu(url: string) {\r\n if (url.indexOf('?') !== -1) {\r\n url = url.split('?')[0];\r\n }\r\n\r\n const items = this.rendering.fields\r\n ? (this.rendering.fields.items as IActiveItem[])\r\n : [];\r\n\r\n if (items && items.length !== 0) {\r\n items.some(item => {\r\n this.setActiveMenuRecursive(item, item, url);\r\n\r\n return item.isActive;\r\n });\r\n }\r\n }\r\n\r\n private setActiveMenuRecursive(\r\n mainItem: IActiveItem,\r\n item: Item,\r\n url: string\r\n ) {\r\n if (item.fields.Link) {\r\n mainItem.isActive = (item.fields.Link as any).url.indexOf(url) !== -1;\r\n } else {\r\n if (\r\n item.fields.items &&\r\n (item.fields.items as IActiveItem[]).length !== 0\r\n ) {\r\n (item.fields.items as IActiveItem[]).some(subItem => {\r\n this.setActiveMenuRecursive(mainItem, subItem, url);\r\n\r\n return mainItem.isActive;\r\n });\r\n } else {\r\n mainItem.isActive = false;\r\n }\r\n }\r\n }\r\n}\r\n","\r\n","\r\n
\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n

\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-page-title',\r\n templateUrl: './page-title.component.html',\r\n styleUrls: ['./page-title.component.scss']\r\n})\r\nexport class PageTitleComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public title: any;\r\n public description: any;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.rendering.fields) {\r\n this.title = (this.rendering.fields.title as Field).value;\r\n this.description = (this.rendering.fields.description as Field).value;\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n ViewChildren,\r\n QueryList,\r\n HostListener,\r\n AfterViewInit,\r\n Renderer2,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n MatLegacyMenu,\r\n MatLegacyMenuTrigger,\r\n} from \"@angular/material/legacy-menu\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nimport {\r\n IPortfolio,\r\n PortfolioService,\r\n PortfolioResponse,\r\n} from \"../../shared/services/portfolio.service\";\r\nimport { LoginService } from \"../../login/services/login.service\";\r\nimport { UserService } from \"../../shared/services/user.service\";\r\nimport { BasketCheckPaymentsService } from \"../../transfers/services/basket-check-payments.service\";\r\nimport { DialogStateService } from \"../../dialogs/services/dialog-state.service\";\r\nimport { timeout } from \"rxjs/operators\";\r\nimport { FullPortfolioViewService } from \"./../../shared/services/full-portfolio-view.service\";\r\n\r\n@Component({\r\n selector: \"ab-portfolio-selector\",\r\n templateUrl: \"./portfolio-selector.component.html\",\r\n styleUrls: [\"./portfolio-selector.component.scss\"],\r\n})\r\nexport class PortfolioSelectorComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n @Input() rendering: any;\r\n @ViewChildren(MatLegacyMenu) matMenuPortfolio: QueryList;\r\n @ViewChildren(MatLegacyMenuTrigger)\r\n menuTriggers: QueryList;\r\n\r\n private portfolioMenuTrigger: MatLegacyMenuTrigger;\r\n private isMenuOpen: boolean;\r\n private subscriptions: Subscription[] = [];\r\n\r\n public portfolios: IPortfolio[];\r\n public username: string;\r\n isLoading = false;\r\n isLoadingPortfolios = true;\r\n\r\n constructor(\r\n private portfolioService: PortfolioService,\r\n private loginService: LoginService,\r\n private router: Router,\r\n private userService: UserService,\r\n private basketCheckPaymentsService: BasketCheckPaymentsService,\r\n private dialogStateService: DialogStateService,\r\n private renderer: Renderer2,\r\n private fullPortfolioViewService: FullPortfolioViewService\r\n ) {}\r\n\r\n @HostListener(\"document:click\", [\"$event\"])\r\n documentClick(event) {\r\n if (\r\n document.querySelector(\".portfolio-actions-list\") &&\r\n !document\r\n .querySelector(\".portfolio-actions-list\")\r\n .contains(event.target as Node)\r\n ) {\r\n if (this.portfolioMenuTrigger && !this.isMenuOpen) {\r\n this.portfolioMenuTrigger.closeMenu();\r\n this.portfolioMenuTrigger = undefined;\r\n return;\r\n }\r\n\r\n this.isMenuOpen = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.getPortfolios();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.menuTriggers.changes.subscribe(() => {\r\n this.menuTriggers.forEach((menuTrigger) => {\r\n menuTrigger.menuOpened.subscribe(() => {\r\n this.portfolioMenuTrigger = menuTrigger;\r\n this.isMenuOpen = true;\r\n });\r\n });\r\n });\r\n }\r\n\r\n getPortfolios() {\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService.getFullPortfolioView().subscribe((res) => {\r\n this.subscriptions.push(\r\n this.portfolioService.getPortfolios().subscribe((response) => {\r\n this.isLoadingPortfolios = false;\r\n this.publishSelectedPortfolio(response);\r\n this.portfolios = response.portfolios;\r\n this.username = response.name;\r\n })\r\n );\r\n })\r\n );\r\n }\r\n\r\n publishSelectedPortfolio(response: PortfolioResponse): void {\r\n response.portfolios.map((portfolio) => {\r\n if (portfolio.isSelected) {\r\n this.portfolioService.setCurrentPortfolio(portfolio);\r\n }\r\n });\r\n }\r\n\r\n changePortfolio(portfolioId: string) {\r\n this.subscriptions.push(\r\n this.portfolioService\r\n .changePortfolio({ portfolioId: portfolioId })\r\n .subscribe((response) => {\r\n if (response.updated) {\r\n var url = this.rendering.fields.HomeLink.url;\r\n this.router.navigate([url]);\r\n }\r\n })\r\n );\r\n }\r\n\r\n logout() {\r\n this.showLoader();\r\n this.subscriptions.push(\r\n this.basketCheckPaymentsService\r\n .checkPayments()\r\n .pipe(timeout(5000))\r\n .subscribe(\r\n (response) => {\r\n this.hideLoader();\r\n if (response) {\r\n this.dialogStateService\r\n .openDialog(\"PendingApproval\")\r\n .subscribe((response) => {\r\n if (response) {\r\n this.logoutUser();\r\n }\r\n });\r\n } else {\r\n this.logoutUser();\r\n }\r\n },\r\n () => {\r\n this.logoutUser();\r\n }\r\n )\r\n );\r\n }\r\n\r\n logoutUser() {\r\n this.loginService.logout().subscribe((response) => {\r\n if (response.callIsSuccess) {\r\n this.userService.logoutUser();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => {\r\n subscription.unsubscribe();\r\n });\r\n }\r\n }\r\n\r\n private showLoader() {\r\n this.renderer.setStyle(document.body, \"overflow\", \"hidden\");\r\n this.isLoading = true;\r\n }\r\n\r\n private hideLoader() {\r\n this.renderer.removeStyle(document.body, \"overflow\");\r\n this.isLoading = false;\r\n }\r\n}","
\r\n \r\n \r\n {{ username }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { combineLatest, Subscription } from 'rxjs';\r\nimport { IProduct } from '../../dashboard/services/account-overview.service';\r\nimport {\r\n DefaultPortfolioResponse,\r\n DefaultPortfolioService\r\n} from '../../shared/services/default-portfolio.service';\r\nimport {\r\n IPortfolio,\r\n PortfolioService\r\n} from '../../shared/services/portfolio.service';\r\nimport {\r\n DialogState,\r\n DialogStateService\r\n} from './../../dialogs/services/dialog-state.service';\r\n\r\nimport { FullPortfolioViewService } from '../../shared/services/full-portfolio-view.service';\r\n\r\n@Component({\r\n selector: 'ab-portfolio-setting',\r\n templateUrl: './portfolio-setting.component.html',\r\n styleUrls: ['./portfolio-setting.component.scss']\r\n})\r\nexport class PortfolioSettingComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public portfolios: Array;\r\n private subscription: Subscription;\r\n private subscriptions: Subscription[] = [];\r\n private dialogStateSubscription: Subscription;\r\n private fullPortfolioViewSubscription: Subscription;\r\n public tooltipInfo: Field;\r\n public accounts: IProduct[] = [];\r\n public accountDetails: { [key: string]: IProduct } = {};\r\n public isLoading: boolean = true;\r\n public popupIsOpen: boolean;\r\n public defaultPortfolio: DefaultPortfolioResponse;\r\n constructor(\r\n private portfolioService: PortfolioService,\r\n private dialogStateService: DialogStateService,\r\n private defaultPortfolioService: DefaultPortfolioService,\r\n private fullPortfolioViewService: FullPortfolioViewService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.isLoading = true;\r\n this.subscriptions.push(\r\n this.fullPortfolioViewService\r\n .getFullPortfolioView()\r\n .subscribe(accounts => {\r\n this.subscription = combineLatest(\r\n this.portfolioService.getPortfolios(),\r\n this.defaultPortfolioService.getPortfolio()\r\n ).subscribe(([portfolios, defaultPortfolio]) => {\r\n this.isLoading = false;\r\n this.portfolios = portfolios.portfolios;\r\n this.accountDetails = accounts.bankAccounts;\r\n this.defaultPortfolio = defaultPortfolio;\r\n this.setAccountOptions();\r\n this.setDefaultPortfolio();\r\n\r\n this.dialogStateService.updateDialogState(\r\n 'DefaultPortfolioSelector',\r\n {\r\n selectedPortfolio: this.defaultPortfolio,\r\n portfolios: this.portfolios,\r\n accounts: this.accounts,\r\n isLoading: false\r\n },\r\n this.popupIsOpen === true ? DialogState.Open : DialogState.Close\r\n );\r\n });\r\n })\r\n );\r\n\r\n this.tooltipInfo = this.rendering.fields.tooltip as Field;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n if (this.dialogStateSubscription) {\r\n this.dialogStateSubscription.unsubscribe();\r\n }\r\n if (this.fullPortfolioViewSubscription) {\r\n this.fullPortfolioViewSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n setDefaultPortfolio() {\r\n this.portfolios.forEach(portfolio => {\r\n portfolio.isDefault =\r\n portfolio.id === this.defaultPortfolio.portfolioNumber;\r\n });\r\n }\r\n\r\n setAccountOptions(accountsDetails?: { [key: string]: IProduct }) {\r\n this.accounts = Object.values(\r\n this.accountDetails || accountsDetails\r\n ).filter(accounts => accounts?.status === 'open');\r\n }\r\n\r\n openDialog() {\r\n if (this.defaultPortfolio && this.defaultPortfolio.portfolioNumber) {\r\n this.setDefaultPortfolio();\r\n }\r\n\r\n this.setAccountOptions();\r\n this.popupIsOpen = true;\r\n this.dialogStateService\r\n .openDialog('DefaultPortfolioSelector', {\r\n portfolios: this.portfolios,\r\n accounts: this.accounts,\r\n isLoading: this.isLoading\r\n })\r\n .subscribe(result => {\r\n if (result) {\r\n this.popupIsOpen = false;\r\n this.defaultPortfolioService\r\n .getPortfolio()\r\n .subscribe(\r\n defaultPortfolio => (this.defaultPortfolio = defaultPortfolio)\r\n );\r\n this.fullPortfolioViewService.clearBankAccounts();\r\n this.fullPortfolioViewSubscription = this.fullPortfolioViewService\r\n .getFullPortfolioView()\r\n .subscribe(accountsDetails => {\r\n this.accountDetails = accountsDetails.bankAccounts;\r\n });\r\n }\r\n });\r\n\r\n this.dialogStateSubscription = this.dialogStateService\r\n .getDialogState()\r\n .subscribe(state => {\r\n if (state.dialogState)\r\n this.popupIsOpen =\r\n state.dialogState === DialogState.Open ? true : false;\r\n });\r\n }\r\n}\r\n","\r\n\r\n","import {\r\n LayoutService,\r\n RestLayoutService\r\n} from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nexport class LayoutServiceFactory {\r\n create(): LayoutService {\r\n return new RestLayoutService({\r\n apiHost: '',\r\n apiKey: '{2A4DCA72-3283-4714-B8C9-D175B84CF9F4}',\r\n siteName: '',\r\n configurationName: 'jss'\r\n });\r\n }\r\n}\r\n\r\nexport const layoutServiceFactory = new LayoutServiceFactory();\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n EventEmitter,\r\n} from '@angular/core';\r\n\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields,\r\n} from './../../../shared/services/form-fields-generator.service';\r\n\r\nimport { LoginService } from './../../services/login.service';\r\nimport { QrCodeService } from './../../services/qr-code.service';\r\nimport { StatusService } from './../../services/status.service';\r\nimport { AB_DASHBOARD_URL } from './../../../shared/constants';\r\nimport { GetItemListFieldsService } from './../../../shared/services/get-item-list-fields.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/types/layout';\r\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { Subscription, filter, interval, switchMap } from 'rxjs';\r\nimport { InitialViewService } from './../../../shared/services/initial-view.service';\r\nimport { IdleService } from './../../../session/services/idle.service';\r\nimport { AccountDetailsService } from './../../../shared/services/account-details.service';\r\nimport { UserAgentService } from './../../../shared/services/user-agent.service';\r\n\r\n@Component({\r\n selector: 'ab-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.scss'],\r\n})\r\nexport class LandingComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @Output() loginWithToken: EventEmitter = new EventEmitter();\r\n\r\n public items: { [key: string]: Item };\r\n public formFields: FormFields;\r\n public apiError = false;\r\n public isLoading = false;\r\n public routerSubscription: Subscription;\r\n public isDesktop: boolean;\r\n public loginWith: { [key: string]: { [name: string]: Field } };\r\n public helpSteps: Item;\r\n public pageTitle: Field;\r\n public description: Field;\r\n public qrCodeImage: string;\r\n public loginRequestId: string;\r\n private statusSubscription: Subscription;\r\n private qrCodeSubscription: Subscription;\r\n public retryQR = false;\r\n\r\n constructor(\r\n protected router: Router,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private qrCodeService: QrCodeService,\r\n private statusService: StatusService,\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n private accountDetailsService: AccountDetailsService,\r\n private initialViewService: InitialViewService,\r\n private idleService: IdleService,\r\n private userAgentService: UserAgentService,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.idleService.stopRefreshToken();\r\n this.isDesktop = this.userAgentService.isDesktopDevice();\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n\r\n if (\r\n this.rendering.fields?.items &&\r\n (this.rendering.fields.items).length !== 0\r\n ) {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.rendering.fields.items as Item[]\r\n );\r\n this.loginWith = this.getItemListFieldsService.getFields(\r\n (this.rendering.fields.items as Item[]).filter(\r\n (o) => o.name === 'LoginWith'\r\n )[0]\r\n );\r\n }\r\n\r\n this.getQRCode();\r\n }\r\n\r\n getQRCode(): void {\r\n this.isLoading = true;\r\n this.qrCodeSubscription = this.qrCodeService\r\n .getQrCode()\r\n .subscribe((qrcodeImageResponse) => {\r\n if (this.retryQR) {\r\n this.retryQR = false;\r\n }\r\n this.isLoading = false;\r\n this.qrCodeImage =\r\n 'data:image/jpeg;base64,' + qrcodeImageResponse.imageBytes;\r\n this.loginRequestId = qrcodeImageResponse.loginRequestId;\r\n this.pollLoginStatus();\r\n });\r\n }\r\n\r\n pollLoginStatus(): void {\r\n const statusObservable$ = interval(5000).pipe(\r\n switchMap(() => this.statusService.getStatus(this.loginRequestId))\r\n );\r\n\r\n this.statusSubscription = statusObservable$.subscribe({\r\n next: (status) => {\r\n if (status) {\r\n this.idleService.doRefreshToken();\r\n this.accountDetailsService.setFromLogin();\r\n\r\n this.isLoading = true;\r\n\r\n this.statusSubscription.unsubscribe();\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(\r\n filter((event: RouterEvent) => event instanceof NavigationStart)\r\n )\r\n .subscribe(() => {\r\n this.initialViewService.getInitialView().subscribe(() => {});\r\n });\r\n this.router.navigate([AB_DASHBOARD_URL]);\r\n }\r\n },\r\n error: (error) => {\r\n this.retryQR = true;\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n openApp(): void {\r\n if (this.items.continueWithApp.fields.description) {\r\n window.location.replace(\r\n (\r\n this.items.continueWithApp.fields.description as Field\r\n ).value.toString()\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n if (this.statusSubscription) {\r\n this.statusSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n\t

Select login method

\r\n\r\n
\r\n
\r\n

Login with Aruba Bank App

\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n 1\r\n
    \r\n
    \r\n
    \r\n Open the Aruba Bank App\r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 2\r\n
    \r\n
    \r\n
    \r\n
    Tap on the QR-code icon in the left corner
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 3\r\n
    \r\n
    \r\n
    \r\n Scan the QR-code and approve payment\r\n
    \r\n \r\n \r\n

    Click to generate a new QR code

    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Press the button below to open the app and approve your login to Aruba Bank Online.

\r\n \r\n
\r\n
\r\n
\r\n

Login with token

\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    Click on below button to login to Aruba Bank Online
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t2\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    Follow the steps to approve payment
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields,\r\n} from './../../../shared/services/form-fields-generator.service';\r\n\r\nimport { LoginRequest, LoginService } from './../../services/login.service';\r\nimport { AB_DASHBOARD_URL } from './../../../shared/constants';\r\nimport { GetItemListFieldsService } from './../../../shared/services/get-item-list-fields.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/types/layout';\r\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { InitialViewService } from './../../../shared/services/initial-view.service';\r\nimport { IdleService } from './../../../session/services/idle.service';\r\nimport { AccountDetailsService } from './../../../shared/services/account-details.service';\r\nimport { UserAgentService } from './../../../shared/services/user-agent.service';\r\nimport { ConfigurationSettingsContextService } from '../../../shared/services/configuration-settings-context.service';\r\n\r\ntype LoginMethod = 'qr' | 'app' | 'token';\r\n@Component({\r\n selector: 'ab-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild('usernameInput') usernameInput: ElementRef;\r\n @ViewChild('passwordInput') passwordInput: ElementRef;\r\n\r\n public title: Field;\r\n public submitButtonText: Field;\r\n public items: { [key: string]: Item };\r\n public formFields: FormFields;\r\n public apiError = false;\r\n public userBlockedError = false;\r\n public invalidCredentialsError = false;\r\n public invalidLoginMessage = '';\r\n public isLoading = false;\r\n public loginForm = new UntypedFormGroup({\r\n username: new UntypedFormControl('', Validators.required),\r\n logincode: new UntypedFormControl('', Validators.required),\r\n otpType: new UntypedFormControl(''),\r\n });\r\n public routerSubscription: Subscription;\r\n public isDesktop: boolean;\r\n public loginMethod: LoginMethod;\r\n public loginWith: { [key: string]: { [name: string]: Field } };\r\n public helpSteps: Item;\r\n public pageTitle: Field;\r\n public toggleButton: Field;\r\n public description: Field;\r\n public qrCodeImage: string;\r\n public loginRequestId: string;\r\n public displaySentooLoginScreen: boolean;\r\n\r\n constructor(\r\n protected router: Router,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private loginService: LoginService,\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n private accountDetailsService: AccountDetailsService,\r\n private initialViewService: InitialViewService,\r\n private idleService: IdleService,\r\n private userAgentService: UserAgentService,\r\n private configurationSettingsContextService: ConfigurationSettingsContextService,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n get username() {\r\n return this.loginForm.get('username');\r\n }\r\n\r\n get logincode() {\r\n return this.loginForm.get('logincode');\r\n }\r\n\r\n get otpType() {\r\n return this.loginForm.get('otpType');\r\n }\r\n\r\n get allowQRLogin() {\r\n return this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'AllowQRLogin'\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.idleService.stopRefreshToken();\r\n this.submitButtonText = this.rendering?.fields?.submitButtonText as Field;\r\n this.isDesktop = this.userAgentService.isDesktopDevice();\r\n this.loginMethod = 'app';\r\n this.displaySentooLoginScreen = this.allowQRLogin;\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n if (\r\n this.rendering?.fields?.items &&\r\n (this.rendering?.fields?.items).length !== 0\r\n ) {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.rendering.fields.items as Item[]\r\n );\r\n this.loginWith = this.getItemListFieldsService.getFields(\r\n (this.rendering.fields.items as Item[]).filter(\r\n (o) => o.name === 'LoginWith'\r\n )[0]\r\n );\r\n }\r\n if (this.displaySentooLoginScreen) {\r\n this.renderer.setStyle(document.body, 'background-color', '#0e4c8f');\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.usernameInput) {\r\n this.usernameInput.nativeElement.focus();\r\n }\r\n }\r\n\r\n loginWithToken() {\r\n this.loginMethod = 'token';\r\n }\r\n\r\n loginWithApp() {\r\n this.loginMethod = 'app';\r\n }\r\n\r\n submitAction() {\r\n if (this.loginForm.valid) {\r\n this.loginService.login(this.loginForm.value as LoginRequest).subscribe(\r\n (response) => {\r\n this.handleResponse(response);\r\n },\r\n (error) => {\r\n this.handleResponse(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n changeToken(tokenValue) {\r\n if (tokenValue) {\r\n this.otpType?.setValue(tokenValue);\r\n this.username?.setValue(this.usernameInput.nativeElement.value);\r\n setTimeout(() => {\r\n this.passwordInput.nativeElement.focus();\r\n });\r\n }\r\n }\r\n\r\n handleResponse(response) {\r\n if (!response || !response.callIsSuccess) {\r\n this.apiError = true;\r\n this.loginForm.reset({\r\n otpType: '',\r\n });\r\n if (response.error) {\r\n this.userBlockedError = response.error.errorCode === 'User.Blocked';\r\n this.invalidCredentialsError =\r\n response.error.errorCode === 'User.Failed';\r\n this.invalidLoginMessage = response.error.loginErrorMessage;\r\n }\r\n } else {\r\n this.idleService.doRefreshToken();\r\n this.accountDetailsService.setFromLogin();\r\n\r\n this.isLoading = true;\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n this.initialViewService.getInitialView().subscribe(() => {});\r\n });\r\n this.router.navigate([AB_DASHBOARD_URL]);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Need help?\r\n Contact us \r\n \r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

\r\n \r\n
\r\n {{ formFields.genericErrors.userBlocked.message }}\r\n
\r\n
\r\n\r\n \r\n
\r\n {{ formFields.genericErrors.userFailed.message }}\r\n
\r\n
\r\n\r\n \r\n
\r\n {{ invalidLoginMessage }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n {{\r\n formFields.genericErrors.usernameRequired.message }}\r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n {{\r\n formFields.genericErrors.required.message }}\r\n
    \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n {{\r\n formFields.genericErrors.required.message }}\r\n
    \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n
\r\n
\r\n
\r\n
","import {\r\n Component,\r\n Input,\r\n Output,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n EventEmitter,\r\n ElementRef,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n Validators\r\n} from '@angular/forms';\r\n\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields\r\n} from './../../../shared/services/form-fields-generator.service';\r\n\r\nimport { LoginRequest, LoginService } from './../../services/login.service';\r\nimport { AB_DASHBOARD_URL } from './../../../shared/constants';\r\nimport { GetItemListFieldsService } from './../../../shared/services/get-item-list-fields.service';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/types/layout';\r\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { Subscription, filter, interval, switchMap } from 'rxjs';\r\nimport { InitialViewService } from './../../../shared/services/initial-view.service';\r\nimport { IdleService } from './../../../session/services/idle.service';\r\nimport { AccountDetailsService } from './../../../shared/services/account-details.service';\r\n\r\n@Component({\r\n selector: 'ab-token-form',\r\n templateUrl: './token-form.component.html',\r\n styleUrls: ['./token-form.component.scss']\r\n})\r\nexport class TokenFormComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @Output() loginWithApp: EventEmitter = new EventEmitter();\r\n @ViewChild('usernameInput') usernameInput: ElementRef;\r\n @ViewChild('passwordInput') passwordInput: ElementRef;\r\n\r\n public submitButtonText: Field;\r\n public items: { [key: string]: Item };\r\n public formFields: FormFields;\r\n public apiError = false;\r\n public userBlockedError = false;\r\n public invalidCredentialsError = false;\r\n public isLoading = false;\r\n public loginForm = new UntypedFormGroup({\r\n username: new UntypedFormControl('', Validators.required),\r\n logincode: new UntypedFormControl('', Validators.required),\r\n otpType: new UntypedFormControl('')\r\n });\r\n public routerSubscription: Subscription;\r\n public loginWith: { [key: string]: { [name: string]: Field } };\r\n public helpSteps: Item;\r\n public pageTitle: Field;\r\n public helpMethod: string = 'token';\r\n\r\n constructor(\r\n protected router: Router,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private loginService: LoginService,\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n private accountDetailsService: AccountDetailsService,\r\n private initialViewService: InitialViewService,\r\n private idleService: IdleService\r\n ) {}\r\n\r\n get username() {\r\n return this.loginForm.get('username');\r\n }\r\n\r\n get logincode() {\r\n return this.loginForm.get('logincode');\r\n }\r\n\r\n get otpType() {\r\n return this.loginForm.get('otpType');\r\n }\r\n\r\n ngOnInit() {\r\n this.idleService.stopRefreshToken();\r\n this.submitButtonText = this.rendering.fields.submitButtonText as Field;\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n if (\r\n this.rendering.fields.items &&\r\n (this.rendering.fields.items).length !== 0\r\n ) {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.rendering.fields.items as Item[]\r\n );\r\n this.loginWith = this.getItemListFieldsService.getFields(\r\n (this.rendering.fields.items as Item[]).filter(\r\n (o) => o.name === 'LoginWith'\r\n )[0]\r\n );\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.usernameInput) {\r\n this.usernameInput.nativeElement.focus();\r\n }\r\n }\r\n\r\n selectActiveTab(method) {\r\n this.helpMethod = method;\r\n }\r\n\r\n submitAction() {\r\n if (this.loginForm.valid) {\r\n this.loginService.login(this.loginForm.value as LoginRequest).subscribe(\r\n (response) => {\r\n this.handleResponse(response);\r\n },\r\n (error) => {\r\n this.handleResponse(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n handleResponse(response) {\r\n if (!response || !response.callIsSuccess) {\r\n this.apiError = true;\r\n this.loginForm.reset({\r\n otpType: ''\r\n });\r\n if (response.error) {\r\n this.userBlockedError = response.error.errorCode === 'User.Blocked';\r\n this.invalidCredentialsError =\r\n response.error.errorCode === 'User.Failed';\r\n }\r\n } else {\r\n this.idleService.doRefreshToken();\r\n this.accountDetailsService.setFromLogin();\r\n\r\n this.isLoading = true;\r\n\r\n this.routerSubscription = this.router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n this.initialViewService.getInitialView().subscribe(() => {});\r\n });\r\n this.router.navigate([AB_DASHBOARD_URL]);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.routerSubscription) {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","

\r\n\r\n\r\n
\r\n {{ formFields.genericErrors.userBlocked.message }}\r\n
\r\n
\r\n\r\n\r\n
\r\n {{ formFields.genericErrors.userFailed.message }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n Aruba Bank Token\r\n
  • \r\n
  • \r\n ARUBA BANK APP\r\n
  • \r\n
\r\n \r\n
\r\n
    \r\n \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n \r\n
\r\n
    \r\n \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nimport { SharedModule } from './../shared/shared.module';\r\nimport { LandingComponent } from './components/landing/landing.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { TokenFormComponent } from './components/token-form/token-form.component';\r\nimport { LayoutModule } from '../layout/layout.module';\r\n\r\nconst LoginComponents = [\r\n { name: 'Login', type: LoginComponent },\r\n { name: 'Landing', type: LandingComponent },\r\n { name: 'TokenForm', type: TokenFormComponent }\r\n];\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, LandingComponent, TokenFormComponent],\r\n exports: [LoginComponent],\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n LayoutModule,\r\n JssModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class LoginModule {}\r\n\r\nexport { LoginComponents };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n ApiResponse,\r\n ApiClientService\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_LOGIN } from './../../shared/constants';\r\n\r\nenum tokentype {\r\n mobilephoneValue = 'softToken',\r\n abopassValue = 'hardToken'\r\n}\r\ninterface LoginRequest extends ApiResponse {\r\n username: string;\r\n logincode: string;\r\n otpType: tokentype;\r\n}\r\n\r\ninterface LoginResponse extends LoginRequest {\r\n DisableMode: string;\r\n callIsSuccess: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoginService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_LOGIN);\r\n }\r\n\r\n login(loginInputRequest: LoginRequest): Observable {\r\n return this.postWithButtonLoader({\r\n username: loginInputRequest.username,\r\n password: loginInputRequest.logincode,\r\n tokentype: tokentype[loginInputRequest.otpType]\r\n });\r\n }\r\n\r\n logout(): Observable {\r\n return this.delete();\r\n }\r\n}\r\n\r\nexport { LoginRequest, LoginResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiClientService } from './../../shared/services/api-client.service';\r\nimport { AB_API_QRCODE } from './../../shared/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class QrCodeService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_QRCODE);\r\n }\r\n\r\n getQrCode(): Observable {\r\n return this.get();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AB_API_QRCODE_STATUS } from '../../../app/shared/constants';\r\nimport { ApiClientService } from '../../../app/shared/services/api-client.service';\r\n\r\nexport interface StatusResponse {\r\n callIsSuccess: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StatusService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_QRCODE_STATUS);\r\n }\r\n\r\n getStatus(loginRequestId: string): Observable {\r\n return this.post({\r\n loginRequestId\r\n });\r\n }\r\n}\r\n","// This file is generated do not modify manually\r\nexport const miscellaneous = [\r\n { path: 'Contact', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'ExchangeRates', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'BlockAccount', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'TravelNotice', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'LinkCreditCard', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'AccountsBanner', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'ActivateTextBanking', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'LinkAtmCard', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'RequestApp', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'ATMPINCode', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'BlockBankCard', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'OverdraftList', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'ManageMobileDevices', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'Mashup', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n { path: 'NewAccount', loadChildren: () =>\r\n import('./miscellaneous.module').then(m => m.MiscellaneousModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoAddressbook = [\r\n { path: 'OrcoAddressBookForm', loadChildren: () =>\r\n import('./orco-addressbook.module').then(m => m.OrcoAddressbookModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoLayout = [\r\n { path: 'OrcoNavigation', loadChildren: () =>\r\n import('./orco-layout.module').then(m => m.OrcoLayoutModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoLogin = [\r\n { path: 'OrcoLogin', loadChildren: () =>\r\n import('./orco-login.module').then(m => m.OrcoLoginModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoMiscellaneous = [\r\n { path: 'OrcoTravelNotice', loadChildren: () =>\r\n import('./orco-miscellaneous.module').then(m => m.OrcoMiscellaneousModule) },\r\n { path: 'OrcoAccountsBanner', loadChildren: () =>\r\n import('./orco-miscellaneous.module').then(m => m.OrcoMiscellaneousModule) },\r\n { path: 'OrcoContactForm', loadChildren: () =>\r\n import('./orco-miscellaneous.module').then(m => m.OrcoMiscellaneousModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoPersonalArchive = [\r\n { path: 'OrcoUnreadMessages', loadChildren: () =>\r\n import('./orco-personal-archive.module').then(m => m.OrcoPersonalArchiveModule) },\r\n { path: 'OrcoArchiveIcon', loadChildren: () =>\r\n import('./orco-personal-archive.module').then(m => m.OrcoPersonalArchiveModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const orcoTransfers = [\r\n { path: 'OrcoTransfer', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n { path: 'OrcoBulkHeader', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n { path: 'OrcoBulkDomesticForm', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n { path: 'OrcoBulkInternationalForm', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n { path: 'OrcoBulkHeaderDetails', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n { path: 'OrcoBulkTransfersDetails', loadChildren: () =>\r\n import('./orco-transfers.module').then(m => m.OrcoTransfersModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const overdraft = [\r\n { path: 'ApplyForOverdraftSteps', loadChildren: () =>\r\n import('./overdraft.module').then(m => m.OverdraftModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const personalArchive = [\r\n { path: 'MessagesList', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'PrivateDocumentsList', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'MessagesListSearch', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'PrintMessage', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'MessagesPanel', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'UnreadMessages', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n { path: 'ArchiveIcon', loadChildren: () =>\r\n import('./personal-archive.module').then(m => m.PersonalArchiveModule) },\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_PERSONALARCHIVE_MESSAGES_COUNT } from './../../shared/constants';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\n\r\nenum MessagesType {\r\n All,\r\n UnRead\r\n}\r\n\r\ninterface MessagesCountResponse extends ApiResponse {\r\n messagesCount: number;\r\n callIsSuccess: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MessagesCountService extends ApiClientService {\r\n private unreadMessagesCount = new ReplaySubject(null);\r\n private isLoaded = false;\r\n private isLoading = false;\r\n private cleanTimer = null;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PERSONALARCHIVE_MESSAGES_COUNT);\r\n }\r\n\r\n getUnreadMessagesCount(): Observable {\r\n if (this.isLoaded) {\r\n return this.unreadMessagesCount.asObservable();\r\n }\r\n\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n\r\n this.get({ messagesType: MessagesType.UnRead }).subscribe(\r\n res => {\r\n this.isLoading = false;\r\n this.isLoaded = true;\r\n this.unreadMessagesCount.next({ ...res });\r\n this.startCleanTimer();\r\n },\r\n error => {\r\n this.isLoading = false;\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n return this.unreadMessagesCount.asObservable();\r\n }\r\n\r\n getUnreadMessagesCountWithRefresh(): Observable {\r\n this.cleanUnreadMessagesCount();\r\n\r\n return this.getUnreadMessagesCount();\r\n }\r\n\r\n cleanUnreadMessagesCount() {\r\n this.stopCleanTimer();\r\n this.isLoaded = false;\r\n this.unreadMessagesCount.complete();\r\n this.unreadMessagesCount = new ReplaySubject(null);\r\n }\r\n\r\n private startCleanTimer() {\r\n this.cleanTimer = setTimeout(() => {\r\n this.cleanUnreadMessagesCount();\r\n }, 300000); // 5 minutes timeout\r\n }\r\n\r\n private stopCleanTimer() {\r\n clearTimeout(this.cleanTimer);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_PERSONALARCHIVE_MESSAGES } from './../../shared/constants';\r\n\r\ninterface IMessage {\r\n id: string;\r\n body?: string;\r\n itemType: string;\r\n itemTypeName: string;\r\n itemTypeDisplayName: string;\r\n createdDate: Date;\r\n subject: string;\r\n author: Author;\r\n isRead: boolean;\r\n documentId: string;\r\n}\r\n\r\ninterface Author {\r\n name: string;\r\n}\r\n\r\ninterface ISearchMessagesRequest {\r\n fromDate?: string;\r\n toDate?: string;\r\n searchText?: string;\r\n}\r\n\r\ninterface MessagesResponse extends ApiResponse {\r\n messagesList: Array;\r\n callIsSuccess: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MessagesListService extends ApiClientService {\r\n private messageStatus = new Subject();\r\n private messageDeleted = new Subject();\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PERSONALARCHIVE_MESSAGES);\r\n }\r\n\r\n public getMessages(maxCount: string): Observable {\r\n return this.get({ maxCount: maxCount });\r\n }\r\n\r\n public getMessage(id: string): Observable {\r\n return this.get({ id: id });\r\n }\r\n\r\n public getMessagesList(\r\n request?: ISearchMessagesRequest\r\n ): Observable {\r\n return this.get(request);\r\n }\r\n\r\n public deleteMessage(id: string): Observable {\r\n return this.delete({ id: id });\r\n }\r\n\r\n public getMessageStatus(): Observable {\r\n return this.messageStatus.asObservable();\r\n }\r\n\r\n public publishMessageStatus(message: IMessage): void {\r\n this.messageStatus.next(message);\r\n }\r\n\r\n public getDeletedMessage(): Observable {\r\n return this.messageDeleted.asObservable();\r\n }\r\n\r\n public publishDeteledMessage(messageId: string): void {\r\n this.messageDeleted.next(messageId);\r\n }\r\n}\r\n\r\nexport { IMessage, ISearchMessagesRequest, MessagesResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_PERSONALARCHIVE_PRIVATE_DOCUMENTS } from './../../shared/constants';\r\n\r\ninterface IDocuments {\r\n documentId: string;\r\n name: string;\r\n documentType: string;\r\n date: Date;\r\n extension: string;\r\n size: string;\r\n portfolioNumber?: string;\r\n}\r\n\r\ninterface PrivateDocumentsListResponse extends ApiResponse {\r\n documentsList: Array;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrivateDocumentsListService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PERSONALARCHIVE_PRIVATE_DOCUMENTS);\r\n }\r\n\r\n getDocuments(type: string): Observable {\r\n return this.get({ type });\r\n }\r\n\r\n uploadDocuments(formData: FormData): Observable {\r\n return this.postWithButtonLoader(formData);\r\n }\r\n}\r\n\r\nexport { PrivateDocumentsListResponse, IDocuments };\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators\r\n} from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\nimport * as moment from 'moment';\r\n\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields\r\n} from './../../../shared/services/form-fields-generator.service';\r\n\r\nimport {\r\n NewTokenRequestModel,\r\n NewTokenRequestResult,\r\n RequestLoginToolService\r\n} from './../../services/request-login-tool.service';\r\n\r\nimport { DialogStateService } from './../../../dialogs/services/dialog-state.service';\r\nimport {\r\n AB_DATE_MOMENT_FORMAT,\r\n AB_LOGIN_FORM_URL,\r\n AB_LOGIN_NAME_PATTERN,\r\n AB_LOGIN_USERNAME_PATTERN\r\n} from './../../../shared/constants';\r\n\r\n@Component({\r\n selector: 'ab-login',\r\n templateUrl: './request-login-tool.component.html',\r\n styleUrls: ['./request-login-tool.component.scss']\r\n})\r\nexport class RequestLoginToolComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public submitButtonText: Field;\r\n public formBottomText: Field;\r\n public formFields: FormFields;\r\n\r\n public maxDateOfBirth: moment.Moment = moment().subtract(14, 'years');\r\n public minDateOfBirth: moment.Moment = moment().subtract(100, 'years');\r\n public noPhone = false;\r\n public selectToken = false;\r\n public apiLoading = false;\r\n public apiError = false;\r\n\r\n public requestLoginToolForm = new UntypedFormGroup({\r\n mobileDeviceType: new UntypedFormControl('', [Validators.required]),\r\n name: new UntypedFormControl('', [\r\n Validators.required,\r\n Validators.pattern(AB_LOGIN_NAME_PATTERN),\r\n Validators.maxLength(50)\r\n ]),\r\n username: new UntypedFormControl('', [\r\n Validators.required,\r\n Validators.pattern(AB_LOGIN_USERNAME_PATTERN),\r\n Validators.maxLength(20),\r\n Validators.minLength(8)\r\n ]),\r\n dateOfBirth: new UntypedFormControl('', [Validators.required]),\r\n reason: new UntypedFormControl('', [Validators.required]),\r\n pickupBranch: new UntypedFormControl('', [Validators.required])\r\n });\r\n\r\n get mobileDeviceTypeField() {\r\n return this.requestLoginToolForm.get('mobileDeviceType');\r\n }\r\n\r\n get nameField() {\r\n return this.requestLoginToolForm.get('name');\r\n }\r\n\r\n get usernameField() {\r\n return this.requestLoginToolForm.get('username');\r\n }\r\n\r\n get dateOfBirthField() {\r\n return this.requestLoginToolForm.get('dateOfBirth');\r\n }\r\n\r\n get reasonField() {\r\n return this.requestLoginToolForm.get('reason');\r\n }\r\n\r\n get pickupBranchField() {\r\n return this.requestLoginToolForm.get('pickupBranch');\r\n }\r\n\r\n constructor(\r\n protected router: Router,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private requestLoginToolService: RequestLoginToolService,\r\n private dialogStateService: DialogStateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.submitButtonText = this.rendering.fields.submitButtonText as Field;\r\n this.formBottomText = this.rendering.fields.FormBottomText as Field;\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n\r\n this.mobileDeviceTypeField.valueChanges.subscribe(value => {\r\n this.reasonField.reset('');\r\n if (value === 'Android' || value === 'iOS') {\r\n this.selectToken = true;\r\n this.noPhone = false;\r\n this.pickupBranchField.reset('');\r\n this.reasonField.clearValidators();\r\n this.reasonField.updateValueAndValidity();\r\n this.pickupBranchField.clearValidators();\r\n this.pickupBranchField.updateValueAndValidity();\r\n } else if (value === 'hardToken' || value === 'replaceToken') {\r\n this.selectToken = true;\r\n this.noPhone = true;\r\n this.pickupBranchField.setValidators(Validators.required);\r\n this.pickupBranchField.updateValueAndValidity();\r\n\r\n if (value === 'replaceToken') {\r\n this.reasonField.setValidators(Validators.required);\r\n } else {\r\n this.reasonField.clearValidators();\r\n }\r\n\r\n this.reasonField.updateValueAndValidity();\r\n } else {\r\n this.selectToken = false;\r\n }\r\n });\r\n }\r\n\r\n cancel() {\r\n this.router.navigate([AB_LOGIN_FORM_URL]);\r\n }\r\n\r\n submitAction() {\r\n if (this.requestLoginToolForm.valid) {\r\n this.apiLoading = true;\r\n const formValue = this.requestLoginToolForm.value;\r\n const newTokenRequestModel = {\r\n dateOfBirth: formValue.dateOfBirth.format(AB_DATE_MOMENT_FORMAT),\r\n name: formValue.name,\r\n username: formValue.username,\r\n mobileDeviceType: 'None'\r\n };\r\n\r\n if (\r\n formValue.mobileDeviceType === 'hardToken' ||\r\n formValue.mobileDeviceType === 'replaceToken'\r\n ) {\r\n newTokenRequestModel.tokenType = '2';\r\n newTokenRequestModel.pickupBranch = formValue.pickupBranch;\r\n newTokenRequestModel.reason =\r\n formValue.mobileDeviceType === 'replaceToken'\r\n ? formValue.reason\r\n : 'New';\r\n } else {\r\n newTokenRequestModel.tokenType = '1';\r\n newTokenRequestModel.mobileDeviceType = formValue.mobileDeviceType;\r\n }\r\n\r\n this.requestLoginToolService.send(newTokenRequestModel).subscribe(\r\n response => {\r\n this.handleResponse(response);\r\n },\r\n error => {\r\n this.handleResponse(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private handleResponse(response: NewTokenRequestResult) {\r\n this.apiLoading = false;\r\n\r\n if (!response || !response.callIsSuccess) {\r\n this.apiError = true;\r\n this.requestLoginToolForm.reset();\r\n } else {\r\n this.openSucces();\r\n }\r\n }\r\n\r\n private openSucces() {\r\n // Depending on which token type is selected a different popup will be opened\r\n if (\r\n this.mobileDeviceTypeField.value === 'Android' ||\r\n this.mobileDeviceTypeField.value === 'iOS'\r\n ) {\r\n this.dialogStateService.openDialog('appSuccess').subscribe(() => {\r\n this.reset();\r\n this.router.navigate([AB_LOGIN_FORM_URL]);\r\n });\r\n } else {\r\n this.dialogStateService.openDialog('tokenSuccess').subscribe(() => {\r\n this.reset();\r\n this.router.navigate([AB_LOGIN_FORM_URL]);\r\n });\r\n }\r\n }\r\n\r\n private reset() {\r\n this.requestLoginToolForm.reset();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ device.fields.Label.value }}\r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n {{\r\n formFields.genericErrors.validationRequestLoginToolNameRegex\r\n .message\r\n }}\r\n\r\n {{\r\n formFields.genericErrors\r\n .validationRequestLoginToolNameLength.message\r\n }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n {{\r\n formFields.genericErrors\r\n .validationRequestLoginToolUserNameRegex.message\r\n }}\r\n {{\r\n formFields.genericErrors\r\n .validationRequestLoginToolUserNameLength.message\r\n }}\r\n {{\r\n formFields.genericErrors\r\n .validationRequestLoginToolUserNameRegex.message\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n \r\n {{\r\n formFields.genericErrors\r\n .validationRequestLoginToolDateOfBirthMaximum.message\r\n }}\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ branch.fields.Label.value }}\r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ reason.fields.Label.value }}\r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { RequestLoginToolComponent } from './components/request-login-tool/request-login-tool.component';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nconst PublicComponents = [\r\n { name: 'RequestLoginTool', type: RequestLoginToolComponent }\r\n];\r\n\r\n@NgModule({\r\n declarations: [RequestLoginToolComponent],\r\n exports: [RequestLoginToolComponent],\r\n imports: [SharedModule, CommonModule, JssModule, ReactiveFormsModule]\r\n})\r\nexport class PublicModule {}\r\n\r\nexport { PublicComponents };\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiClientService } from './../../shared/services/api-client.service';\r\nimport { AB_API_REQUEST_LOGIN_TOOL } from '../../shared/constants';\r\n\r\ninterface NewTokenRequestModel {\r\n tokenType: string;\r\n mobileDeviceType: string;\r\n dateOfBirth: Date;\r\n username: string;\r\n reason: string;\r\n name: string;\r\n pickupBranch: string;\r\n}\r\n\r\ninterface NewTokenRequestResult {\r\n callIsSuccess: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestLoginToolService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_REQUEST_LOGIN_TOOL);\r\n }\r\n\r\n public send(message: NewTokenRequestModel) {\r\n return this.putWithButtonLoader(message);\r\n }\r\n}\r\n\r\nexport { NewTokenRequestModel, NewTokenRequestResult };\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormControl } from '@angular/forms';\r\nimport { ComponentRendering, Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n FormFieldsGeneratorService,\r\n FormFields\r\n} from './../../../shared/services/form-fields-generator.service';\r\nimport { DataSubscriptionService } from './../../../shared/services/data-subscription.service';\r\nimport {\r\n /*ReportingRequest, */ REPORTING_EVENTS,\r\n ReportingService\r\n} from './../../services/reporting.service';\r\nimport * as moment from 'moment';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'ab-audit-report-search',\r\n templateUrl: './audit-report-search.component.html',\r\n styleUrls: ['./audit-report-search.component.scss']\r\n})\r\nexport class AuditReportSearchComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n public formFields: FormFields;\r\n public toDateMax = new Date();\r\n public fromDateMax: moment.Moment = moment();\r\n public fromDateMin: moment.Moment = moment()\r\n .year(1950)\r\n .month(0)\r\n .date(1);\r\n public selectedReportType: string;\r\n public pageNumber: number;\r\n public searchForm: UntypedFormGroup;\r\n public page = 0;\r\n public hasMore = false;\r\n public isLoading = false;\r\n public showNoFound = false;\r\n public noFound: Item;\r\n public isFileDownloading = false;\r\n\r\n constructor(\r\n private reportingService: ReportingService,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private dataSubscriptionService: DataSubscriptionService,\r\n private cookieService: CookieService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as FormFields;\r\n\r\n this.dataSubscriptionService.initOnScroll(() => this.onScroll());\r\n\r\n this.searchForm = new UntypedFormGroup({\r\n fromDate: new UntypedFormControl(moment().subtract(30, 'days'), []),\r\n toDate: new UntypedFormControl(moment(), []),\r\n selectedReportType: new UntypedFormControl(\r\n (this.formFields.fields.select.values[0] as any).fields.Value.value,\r\n []\r\n ),\r\n selectedReportFormat: new UntypedFormControl(\r\n (this.formFields.fields.selectFormat\r\n .values[0] as any).fields.Value.value,\r\n []\r\n )\r\n });\r\n (this.rendering.fields.items as Item[]).some(o => {\r\n if (o.name === 'NoFound') {\r\n this.noFound = o;\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n get fromDateField() {\r\n return this.searchForm.get('fromDate');\r\n }\r\n\r\n get toDateField() {\r\n return this.searchForm.get('toDate');\r\n }\r\n\r\n get toDateMin() {\r\n if (this.fromDateMax.isAfter(this.fromDateField.value)) {\r\n return this.fromDateField.value;\r\n }\r\n\r\n return this.fromDateMin;\r\n }\r\n\r\n onScroll(): void {\r\n this.page++;\r\n this.dataSubscriptionService.publishEvent(REPORTING_EVENTS.SCROLLING);\r\n this.getReport(false);\r\n }\r\n\r\n onSubmit(): void {\r\n if (this.searchForm.valid) {\r\n this.page = 0;\r\n this.isLoading = true;\r\n this.dataSubscriptionService.publishEvent(REPORTING_EVENTS.SEARCHING);\r\n this.getReport(true);\r\n }\r\n }\r\n\r\n getReport(afterSubmit: boolean): void {\r\n this.reportingService.getReport(this.searchForm.value, this.page).subscribe(\r\n response => {\r\n this.stopLoading();\r\n this.hasMore = response.items.length !== 0;\r\n\r\n if (this.page === 0) {\r\n this.showNoFound = !this.hasMore;\r\n } else {\r\n this.showNoFound = false;\r\n }\r\n\r\n this.publishData(response, afterSubmit);\r\n },\r\n error => {\r\n console.error(error);\r\n this.stopLoading();\r\n }\r\n );\r\n }\r\n\r\n publishData(response, afterSubmit: boolean): void {\r\n const data = Object.assign(response);\r\n data.page = this.page;\r\n data.title = this.getTitle();\r\n data.hasMore = this.hasMore;\r\n data.afterSubmit = afterSubmit;\r\n\r\n this.dataSubscriptionService.publishData(\r\n this.searchForm.value.selectedReportType === 'SignInLog'\r\n ? REPORTING_EVENTS.SIGN_IN\r\n : REPORTING_EVENTS.MONEY_TRANSFER,\r\n data\r\n );\r\n }\r\n\r\n getTitle(): string {\r\n const arr = this.formFields.fields.select.values.filter((item: any) => {\r\n return (\r\n item.fields.Value.value === this.searchForm.value.selectedReportType\r\n );\r\n });\r\n\r\n return (arr[0] as any).fields.Label.value;\r\n }\r\n\r\n public download(): void {\r\n if (this.searchForm.valid) {\r\n this.isFileDownloading = true;\r\n\r\n const interval = setInterval(() => {\r\n if (\r\n this.cookieService.check('reportFileType') &&\r\n this.searchForm.get('selectedReportType').value ===\r\n this.cookieService.get('reportFileType')\r\n ) {\r\n this.cookieService.set('reportFileType', '0', null, '/', null, true);\r\n this.isFileDownloading = false;\r\n clearInterval(interval);\r\n }\r\n }, 500);\r\n\r\n window.location.href = this.reportingService.download(\r\n this.searchForm.value\r\n );\r\n }\r\n }\r\n\r\n private stopLoading() {\r\n this.isLoading = false;\r\n this.dataSubscriptionService.publishEvent(REPORTING_EVENTS.STOP_LOADING);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n \r\n {{ formFields.genericErrors.validationDateRange.message }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n \r\n {{ formFields.genericErrors.validationInvalidMinToDate.message }}\r\n \r\n {{ formFields.genericErrors.validationDateRange.message }}\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{ card.fields.Label.value }}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ card.fields.Label.value }}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport {\r\n ComponentRendering,\r\n Field,\r\n Item\r\n} from '@sitecore-jss/sitecore-jss/layout';\r\nimport { ReportTableComponent } from '../report-table/report-table.component';\r\nimport { REPORTING_EVENTS } from './../../services/reporting.service';\r\nimport { ICurrency } from './../../../shared/interfaces/currency.interface';\r\nimport { GetItemListFieldsService } from '../../../shared/services/get-item-list-fields.service';\r\nimport { DataSubscriptionService } from '../../../shared/services/data-subscription.service';\r\n\r\ninterface ITransferData {\r\n refN: string;\r\n beneficiary: string;\r\n amount: ICurrency;\r\n approveeId: string;\r\n approvedDate: Date;\r\n createId: string;\r\n createDate: Date;\r\n modifyId: string;\r\n modifyDate: Date;\r\n preApproveeId: string;\r\n preApproveeDate: Date;\r\n}\r\n\r\n@Component({\r\n selector: 'ab-money-transfer-table',\r\n templateUrl: './money-transfer-table.component.html',\r\n styleUrls: ['./money-transfer-table.component.scss']\r\n})\r\nexport class MoneyTransferTableComponent extends ReportTableComponent\r\n implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n public declare items: Array;\r\n public fields: { [key: string]: { [name: string]: Field } };\r\n\r\n constructor(\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n dataSubscriptionService: DataSubscriptionService\r\n ) {\r\n super(dataSubscriptionService);\r\n }\r\n\r\n ngOnInit() {\r\n this.subscribe(REPORTING_EVENTS.MONEY_TRANSFER);\r\n this.columns = (this.rendering.fields.items as Array)\r\n .filter(item => item.displayName !== 'Metadata')\r\n .map(column => {\r\n return column.fields.label.value;\r\n });\r\n\r\n this.fields = this.getItemListFieldsService.getFields(\r\n (this.rendering.fields.items as Item[]).filter(\r\n o => o.name === 'Metadata'\r\n )[0]\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ title }}

\r\n
\r\n
\r\n \r\n {{ totalNumberOfRecordsAvailable }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ column }}
\r\n \r\n \r\n \r\n {{ item.refN }}{{ item.beneficiary }}{{ item.amount | abCurrency }}{{ item.approveeId }}{{ item.approvedDate | date: 'MM/dd/yyyy hh:mm a' }}
\r\n
\r\n \r\n \r\n

{{ item.preApproveeId }}

\r\n
\r\n \r\n \r\n

{{ item.preApproveeDate | date: 'MM/dd/yyyy hh:mm a' }}

\r\n \r\n \r\n \r\n

{{ item.createId }}

\r\n \r\n \r\n \r\n

{{ item.createDate | date: 'MM/dd/yyyy hh:mm a' }}

\r\n \r\n \r\n \r\n

{{ item.modifyId }}

\r\n \r\n \r\n \r\n

{{ item.modifyDate | date: 'MM/dd/yyyy hh:mm a' }}

\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { DataSubscriptionService } from './../../../shared/services/data-subscription.service';\r\nimport { REPORTING_EVENTS } from './../../services/reporting.service';\r\n\r\n@Component({\r\n selector: 'ab-report-table',\r\n templateUrl: './report-table.component.html',\r\n styleUrls: ['./report-table.component.scss']\r\n})\r\nexport class ReportTableComponent implements OnDestroy {\r\n public columns: Array;\r\n public totalNumberOfRecordsAvailable: number;\r\n public items: Array = [];\r\n public dataSubscription: Subscription;\r\n public show: boolean;\r\n public isLoading: boolean;\r\n public title: string;\r\n public hasMore: boolean;\r\n\r\n constructor(private dataSubscriptionService: DataSubscriptionService) {}\r\n\r\n subscribe(type: string): void {\r\n this.dataSubscription = this.dataSubscriptionService\r\n .getData()\r\n .subscribe(data => {\r\n switch (data.event) {\r\n case type:\r\n this.show = true;\r\n this.hasMore = data.data.hasMore;\r\n\r\n if (data.data.hasMore || data.data.afterSubmit) {\r\n this.title = data.data.title;\r\n this.totalNumberOfRecordsAvailable =\r\n data.data.totalNumberOfRecordsAvailable;\r\n this.items =\r\n data.data.page === 0\r\n ? data.data.items\r\n : this.items.concat(data.data.items);\r\n }\r\n break;\r\n case REPORTING_EVENTS.SCROLLING:\r\n this.isLoading = true;\r\n break;\r\n case REPORTING_EVENTS.STOP_LOADING:\r\n this.isLoading = false;\r\n break;\r\n default:\r\n this.show = false;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.dataSubscription.unsubscribe();\r\n }\r\n\r\n onScroll() {\r\n if (!this.isLoading) {\r\n this.isLoading = true;\r\n this.dataSubscriptionService.onScroll();\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { ReportTableComponent } from '../report-table/report-table.component';\r\nimport { REPORTING_EVENTS } from './../../services/reporting.service';\r\n\r\ninterface ILogData {\r\n userId: string;\r\n logDateTime: string;\r\n ipAddress: string;\r\n messages: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ab-sign-in-log-table',\r\n templateUrl: './sign-in-log-table.component.html',\r\n styleUrls: ['./sign-in-log-table.component.scss']\r\n})\r\nexport class SignInLogTableComponent extends ReportTableComponent\r\n implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n declare public items: Array;\r\n public totalRecordLabel: string;\r\n\r\n ngOnInit() {\r\n this.subscribe(REPORTING_EVENTS.SIGN_IN);\r\n this.columns = (this.rendering.fields.items as Array).map(column => {\r\n return column.fields.label.value;\r\n });\r\n this.totalRecordLabel = this.columns.pop();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{ title }}

\r\n
\r\n
\r\n {{ totalRecordLabel }}\r\n {{ totalNumberOfRecordsAvailable }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ column }}
{{ item.userId }}{{ item.logDateTime | date: 'MM/dd/yyyy hh:mm:ss' }}{{ item.ipAddress }}{{ item.messages }}
\r\n\r\n
\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SharedModule } from './../shared/shared.module';\r\n\r\nimport { AuditReportSearchComponent } from './components/audit-report-search/audit-report-search.component';\r\nimport { MoneyTransferTableComponent } from './components/money-transfer-table/money-transfer-table.component';\r\nimport { SignInLogTableComponent } from './components/sign-in-log-table/sign-in-log-table.component';\r\nimport { ReportTableComponent } from './components/report-table/report-table.component';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nconst ReportingComponents = [\r\n { name: 'AuditReportSearch', type: AuditReportSearchComponent },\r\n { name: 'MoneyTransferTable', type: MoneyTransferTableComponent },\r\n { name: 'SignInLogTable', type: SignInLogTableComponent }\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AuditReportSearchComponent,\r\n MoneyTransferTableComponent,\r\n SignInLogTableComponent,\r\n ReportTableComponent\r\n ],\r\n imports: [CommonModule, JssModule, SharedModule]\r\n})\r\nexport class ReportingModule {}\r\nexport { ReportingComponents };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n // ApiResponse,\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport {\r\n AB_API_REPORTING_TABLE,\r\n AB_API_REPORTING_DOWNLOAD,\r\n AB_API_BASE,\r\n AB_API_DOMAIN\r\n} from './../../shared/constants';\r\nimport * as moment from 'moment';\r\n\r\ninterface ReportingRequest {\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n selectedReportType: string;\r\n selectedReportFormat?: string;\r\n pageNumber?: string;\r\n}\r\n\r\ninterface ReportingResponse extends ApiResponse {\r\n items: Array;\r\n totalNumberOfRecordsAvailable: number;\r\n type: string;\r\n}\r\n\r\nconst REPORTING_EVENTS = {\r\n SIGN_IN: 'auditReportSignInLog',\r\n MONEY_TRANSFER: 'auditReportMoneyTransfer',\r\n SEARCHING: 'auditReportSearching',\r\n SCROLLING: 'auditReportScrolling',\r\n STOP_LOADING: 'stopLoading'\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportingService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_REPORTING_TABLE);\r\n }\r\n\r\n getReport(\r\n filter: ReportingRequest,\r\n pageNumber: number\r\n ): Observable {\r\n return this.get({\r\n fromDate: filter.fromDate.toDate().toDateString(),\r\n toDate: filter.toDate.toDate().toDateString(),\r\n selectedReportType: filter.selectedReportType,\r\n pageNumber: pageNumber\r\n });\r\n }\r\n\r\n getDownloadUrl(): string {\r\n return AB_API_DOMAIN + AB_API_BASE + AB_API_REPORTING_DOWNLOAD;\r\n }\r\n\r\n public download(request: ReportingRequest): string {\r\n let params = new HttpParams();\r\n params = params.append(\r\n 'fromDate',\r\n request.fromDate.toDate().toDateString()\r\n );\r\n params = params.append('toDate', request.toDate.toDate().toDateString());\r\n params = params.append('selectedReportType', request.selectedReportType);\r\n params = params.append(\r\n 'selectedReportFormat',\r\n request.selectedReportFormat\r\n );\r\n return this.getDownloadUrl() + '?' + params.toString();\r\n }\r\n}\r\n\r\nexport { REPORTING_EVENTS, ReportingRequest, ReportingResponse };\r\n","import { environment as env } from '../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\n\r\nexport class JssRoute {\r\n [key: string]: string;\r\n language: string;\r\n serverRoute: string;\r\n}\r\n\r\n@Injectable()\r\nexport class JssRouteBuilderService {\r\n buildRouteUrl(route: JssRoute) {\r\n if (!route.language) {\r\n route.language = env.defaultLanguage;\r\n }\r\n if (!route.serverRoute) {\r\n route.serverRoute = env.defaultServerRoute;\r\n }\r\n return `/${route.language}${route.serverRoute}`;\r\n }\r\n\r\n parseRouteUrl(url: string[], isSSR?: boolean): JssRoute {\r\n const route = new JssRoute();\r\n // In case if we are in SSR, server will extract language from cookies\r\n route.language = isSSR ? undefined : env.defaultLanguage;\r\n route.serverRoute = env.defaultServerRoute;\r\n if (url.length === 0) {\r\n return route;\r\n }\r\n\r\n const languageRegex = /^([a-zA-Z]{2})(-[a-zA-Z]{2})?$/; // e.g. 'en' or 'en-GB'\r\n let languageSegment = url[0].toString();\r\n\r\n if (languageSegment.match(languageRegex)) {\r\n languageSegment = languageSegment.replace(languageRegex, function(_v, p1, p2) {\r\n if (p2) {\r\n // DA-dk -> da-DK\r\n return p1.toLowerCase() + p2.toUpperCase();\r\n }\r\n\r\n // EN -> en\r\n return p1.toLowerCase();\r\n });\r\n\r\n route.language = languageSegment;\r\n route.serverRoute = url.length > 1 ? url.slice(1).join('/') : env.defaultServerRoute;\r\n } else {\r\n route.serverRoute = url.join('/');\r\n }\r\n if (!route.serverRoute.startsWith('/')) {\r\n route.serverRoute = '/' + route.serverRoute;\r\n }\r\n\r\n return route;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { JssContextService } from '../jss-context.service';\r\nimport { JssState } from '../JssState';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class JssRouteResolver implements Resolve {\r\n constructor(\r\n private jssService: JssContextService,\r\n ) { }\r\n\r\n resolve(route: ActivatedRouteSnapshot, _state: RouterStateSnapshot): Observable {\r\n // route params are created by custom route matcher in app-routing.module\r\n return this.jssService.changeRoute(route.params.serverRoute, route.params.language);\r\n }\r\n}\r\n","/* eslint-disable no-shadow, no-console */\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { RouteData, Field, LayoutServiceContextData } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { JssState } from '../../JssState';\r\nimport { JssMetaService } from '../../jss-meta.service';\r\nimport { GoogleAnalyticsService } from '../../../app/google-analytics/services/google-analytics.service';\r\n\r\nenum LayoutState {\r\n Layout,\r\n NotFound,\r\n Error\r\n}\r\n\r\ninterface RouteFields {\r\n [name: string]: unknown;\r\n pageTitle: Field;\r\n}\r\n\r\n@Component({\r\n selector: 'ab-layout',\r\n templateUrl: './layout.component.html',\r\n})\r\nexport class LayoutComponent implements OnInit, OnDestroy {\r\n route: RouteData;\r\n state: LayoutState;\r\n LayoutState = LayoutState;\r\n subscription: Subscription;\r\n errorContextData: LayoutServiceContextData;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private readonly meta: JssMetaService,\r\n private googleAnalyticsService: GoogleAnalyticsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n // route data is populated by the JssRouteResolver\r\n this.subscription = this.activatedRoute.data.subscribe((data: { jssState: JssState }) => {\r\n if (!data.jssState) {\r\n this.state = LayoutState.NotFound;\r\n return;\r\n }\r\n\r\n if (data.jssState.sitecore && data.jssState.sitecore.route) {\r\n this.route = data.jssState.sitecore.route;\r\n this.setMetadata(this.route.fields);\r\n this.state = LayoutState.Layout;\r\n }\r\n\r\n if (data.jssState.routeFetchError) {\r\n if (data.jssState.routeFetchError.status >= 400 && data.jssState.routeFetchError.status < 500) {\r\n this.state = LayoutState.NotFound;\r\n } else {\r\n this.state = LayoutState.Error;\r\n }\r\n\r\n this.errorContextData = data.jssState.routeFetchError.data && data.jssState.routeFetchError.data.sitecore;\r\n }\r\n if (this.route && this.route.fields && this.route.fields.pageTitle) {\r\n this.googleAnalyticsService.page(\r\n this.activatedRoute.snapshot.params.serverRoute,\r\n this.route.fields.pageTitle.value as string\r\n );\r\n } else {\r\n this.googleAnalyticsService.page(\r\n this.activatedRoute.snapshot.params.serverRoute\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n // important to unsubscribe when the component is destroyed\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n setMetadata(routeFields: RouteFields) {\r\n // set page title, if it exists\r\n if (routeFields && routeFields.pageTitle) {\r\n this.meta.setTitle(routeFields.pageTitle.value || 'Page');\r\n }\r\n }\r\n\r\n onPlaceholderLoaded(placeholderName: string) {\r\n // you may optionally hook to the loaded event for a placeholder,\r\n // which can be useful for analytics and other DOM-based things that need to know when a placeholder's content is available.\r\n console.debug(`layout.component.ts: placeholder component fired loaded event for the ${placeholderName} placeholder`);\r\n }\r\n}\r\n","
\r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-navigation',\r\n templateUrl: './navigation.component.html',\r\n})\r\nexport class NavigationComponent {\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n // @Input() errorContextData: LayoutServiceContextData;\r\n\r\n @Input() rendering: ComponentRendering;\r\n\r\n home: any;\r\n\r\n constructor(renderer: Renderer2) {\r\n renderer.addClass(document.getElementsByTagName('main')[0], 'main-center');\r\n }\r\n\r\n ngOnInit() {\r\n this.home = this.rendering.fields.home;\r\n }\r\n\r\n goToPrevious() {\r\n window.history.back();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{home.value.text}}\r\n \r\n\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes, UrlSegment, UrlMatchResult } from '@angular/router';\r\nimport { LayoutComponent } from './layout/layout.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { ServerErrorComponent } from './server-error/server-error.component';\r\nimport { JssRouteResolver } from './jss-route-resolver.service';\r\nimport { JssRouteBuilderService } from './jss-route-builder.service';\r\nimport { JssModule } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NavigationComponent } from './navigation/navigation.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { VisitorIdentificationComponent } from './visitor-identification/visitor-identification.component';\r\nimport { LayoutModule } from '../layout/layout.module';\r\nimport { AuthGuardService } from '../shared/services/auth-guard.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\r\nexport function jssRouteMatcher(url: UrlSegment[]): UrlMatchResult {\r\n // use the route builder to parse out language / server route\r\n const routeParser = new JssRouteBuilderService();\r\n const route = routeParser.parseRouteUrl(url.map((segment) => segment.toString()));\r\n if (route == null) {\r\n return null;\r\n }\r\n\r\n // convert props to route parameters\r\n const posParams: { [key: string]: UrlSegment } = {};\r\n Object.keys(route).forEach((key) => {\r\n posParams[key] = new UrlSegment(route[key], null);\r\n });\r\n\r\n return {\r\n consumed: url,\r\n posParams\r\n };\r\n}\r\n\r\nconst routes: Routes = [\r\n { path: 'ServerError', component: ServerErrorComponent },\r\n {\r\n // matcher is effectively a catch-all route\r\n matcher: jssRouteMatcher,\r\n component: LayoutComponent,\r\n canActivate: [AuthGuardService],\r\n resolve: {\r\n jssState: JssRouteResolver\r\n },\r\n runGuardsAndResolvers: 'always',\r\n }\r\n];\r\n\r\nexport const RoutingComponents = [\r\n { name: 'NotFound', type: NotFoundComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload', initialNavigation: 'enabledBlocking' }),\r\n JssModule,\r\n TranslateModule,\r\n BrowserModule,\r\n LayoutModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n RouterModule,\r\n TranslateModule,\r\n ],\r\n declarations: [\r\n NotFoundComponent,\r\n ServerErrorComponent,\r\n LayoutComponent,\r\n NavigationComponent,\r\n VisitorIdentificationComponent\r\n ],\r\n providers: [\r\n JssRouteResolver,\r\n JssRouteBuilderService,\r\n ]\r\n})\r\nexport class RoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-server-error',\r\n templateUrl: './server-error.component.html'\r\n})\r\nexport class ServerErrorComponent {}\r\n","

500: Internal Server Error

\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { JssContextService } from '../../jss-context.service';\r\n\r\nlet emittedVI = false;\r\n\r\n/**\r\n VisitorIdentification is necessary for Sitecore Analytics to determine if the visitor is a robot.\r\n If Sitecore XP (with xConnect/xDB) is used, this is required or else analytics will not be collected for the JSS app.\r\n For XM (CMS-only) apps, this should be removed.\r\n\r\n VI detection only runs once for a given analytics ID, so this is not a recurring operation once cookies are established.\r\n */\r\n@Component({\r\n selector: 'app-visitor-identification',\r\n template: ``,\r\n})\r\nexport class VisitorIdentificationComponent implements OnInit, OnDestroy {\r\n visitorIdentificationTimestamp: number;\r\n\r\n private contextSubscription: Subscription;\r\n\r\n // inject the JssContextService, which maintains the current Sitecore Context\r\n constructor(private jssContext: JssContextService) { }\r\n\r\n ngOnInit() {\r\n this.contextSubscription = this.jssContext.state.subscribe((state) => {\r\n if (state.sitecore && state.sitecore.context) {\r\n if (\r\n !emittedVI &&\r\n typeof document !== 'undefined' &&\r\n state.sitecore.context.visitorIdentificationTimestamp\r\n ) {\r\n emittedVI = true;\r\n const script = document.createElement('script');\r\n script.src = `/layouts/system/VisitorIdentification.js`;\r\n script.type = 'text/javascript';\r\n document.getElementsByTagName('head')[0].appendChild(script);\r\n }\r\n\r\n this.visitorIdentificationTimestamp = state.sitecore.context.visitorIdentificationTimestamp;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.contextSubscription) {\r\n this.contextSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ab-connection-error',\r\n templateUrl: './connection-error.component.html',\r\n styleUrls: ['./connection-error.component.scss'],\r\n})\r\nexport class ConnectionErrorComponent implements OnInit {\r\n @Output() resetPayment: EventEmitter = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n

Sorry! It seems like you lost connection.

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Please check your network and try again.

\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { LoginService } from \"../../../../login/services/login.service\";\r\n\r\n@Component({\r\n selector: \"ab-payment-cancelled\",\r\n templateUrl: \"./payment-cancelled.component.html\",\r\n styleUrls: [\"./payment-cancelled.component.scss\"]\r\n})\r\nexport class PaymentCancelledComponent implements OnInit, OnDestroy {\r\n @Input() returnUrl: string;\r\n\r\n constructor(private loginService: LoginService) {}\r\n\r\n ngOnInit(): void {\r\n this.loginService?.logout().subscribe((response) => {});\r\n }\r\n\r\n closePayment() {\r\n if (window && window.location) {\r\n window.location.href = this.returnUrl;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n

You have cancelled the payment

\r\n
\r\n \r\n \r\n \r\n
\r\n

You can restart the payment at the merchant.

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ab-payment-expired',\r\n templateUrl: './payment-expired.component.html',\r\n styleUrls: ['./payment-expired.component.scss'],\r\n})\r\nexport class PaymentExpiredComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n

Sorry! The payment has expired.

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Please try again later.

\r\n \r\n
\r\n
\r\n
","import {\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n Validators\r\n} from '@angular/forms';\r\nimport {\r\n MatLegacyDialog,\r\n MatLegacyDialogRef\r\n} from '@angular/material/legacy-dialog';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription, take } from 'rxjs';\r\nimport { IAccount } from '../../../../transfers/services/internal-accounts.service';\r\nimport { ReferenceCodesService } from '../../../../transfers/services/reference-codes.service';\r\nimport {\r\n PaymentDetailsService,\r\n Transfer\r\n} from '../../../services/payment-details.service';\r\nimport { AccountsService } from '../../../services/accounts.service';\r\nimport { CancelService } from '../../../services/cancel.service';\r\nimport { SentooService } from '../../../services/sentoo.service';\r\nimport { PaymentStatus } from '../../../services/status.service';\r\nimport {\r\n CreateSentooPaymentService,\r\n TransferModel\r\n} from '../../../services/create.service';\r\n\r\n@Component({\r\n selector: 'ab-payment-screen',\r\n templateUrl: './payment-screen.component.html',\r\n styleUrls: ['./payment-screen.component.scss']\r\n})\r\nexport class PaymentScreenComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @Output() setPaymentStatus: EventEmitter = new EventEmitter();\r\n @Output() setMerchantInfo: EventEmitter = new EventEmitter();\r\n @Output() setCancelReturnUrl: EventEmitter = new EventEmitter();\r\n\r\n // Validate payment section\r\n @ViewChild('validatePayment') validatePayment: TemplateRef;\r\n @ViewChild('cancelPayment') cancelPaymentPopup: TemplateRef;\r\n\r\n public transfer: Transfer;\r\n public challengeCode = '';\r\n public challengeCodeError: boolean;\r\n public challengeCodeErrorMessage: string;\r\n\r\n public validatePaymentDialogRef: MatLegacyDialogRef;\r\n public cancelPaymentDialogRef: MatLegacyDialogRef;\r\n\r\n // Account list related\r\n public accounts = [];\r\n public showList = false;\r\n public selectedAccount: IAccount;\r\n\r\n // Category related\r\n public defaultValue = '';\r\n public categoryForm = new UntypedFormGroup({\r\n category: new UntypedFormControl(Validators.required),\r\n subCategory: new UntypedFormControl('', Validators.required)\r\n });\r\n public selectedAccountNumber = '';\r\n public selectedReferenceCode = '';\r\n public isSubmittingCancelPayment = false;\r\n\r\n public isLoading = false;\r\n public referenceCodes: any = [];\r\n public showCategory = true;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private createSentooPaymentService: CreateSentooPaymentService,\r\n private dialog: MatLegacyDialog,\r\n private accountsService: AccountsService,\r\n private paymentDetailsService: PaymentDetailsService,\r\n private sentooService: SentooService,\r\n private referenceCodesService: ReferenceCodesService,\r\n private cancelService: CancelService\r\n ) {}\r\n\r\n get category() {\r\n return this.categoryForm.get('category');\r\n }\r\n\r\n get subCategory() {\r\n return this.categoryForm.get('subCategory');\r\n }\r\n\r\n @HostListener('click', ['$event.target'])\r\n onClick(target: HTMLElement): void {\r\n if (\r\n target.closest('.account-selector') ||\r\n target.closest('.account-info') ||\r\n target.closest('.account-selector')\r\n ) {\r\n this.showList != this.showList;\r\n } else {\r\n this.showList = false;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isLoading = true;\r\n this.subscriptions.push(\r\n this.sentooService\r\n .getEncryptedData()\r\n .pipe(take(1))\r\n .subscribe((encryptedData) => {\r\n this.subscriptions.push(this.paymentDetailsService.getPaymentDetails(encryptedData).subscribe(\r\n (transferResponse) => {\r\n this.isLoading = false;\r\n if (!transferResponse.transferId) {\r\n this.setPaymentStatus.emit('invalid');\r\n } else {\r\n this.transfer = transferResponse;\r\n this.accountsService.getAccounts().subscribe((accounts) => {\r\n this.accounts = accounts;\r\n this.selectedAccount = accounts[0];\r\n this.referenceCodesService\r\n .getAll(\r\n this.transfer?.transactionType as any,\r\n this.selectedAccount as any\r\n )\r\n .subscribe((referenceCodes) => {\r\n this.referenceCodes =\r\n this.referenceCodesService.format(referenceCodes);\r\n this.category.setValue(this.referenceCodes[0]);\r\n this.selectCategory();\r\n });\r\n });\r\n }\r\n },\r\n (error) => {\r\n this.setPaymentStatus.emit('connection');\r\n }\r\n ));\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n\r\n onAccountChange(account: IAccount) {\r\n this.selectedAccount = account || {};\r\n this.toggleAccountList();\r\n setTimeout(() => (this.showList = false), 100);\r\n }\r\n\r\n toggleAccountList(): void {\r\n this.showList = !this.showList;\r\n }\r\n\r\n openCancelPayment() {\r\n this.cancelPaymentDialogRef = this.dialog.open(this.cancelPaymentPopup, {\r\n panelClass: 'popup-dialog-sentoo',\r\n disableClose: true\r\n });\r\n }\r\n\r\n closeCancelPaymentDialog() {\r\n this.cancelPaymentDialogRef.close();\r\n }\r\n\r\n cancelSentooPayment() {\r\n this.isSubmittingCancelPayment = true;\r\n this.subscriptions.push(\r\n this.cancelService\r\n .cancelPayment(this.transfer.transferId.toString())\r\n .subscribe((cancelResponse) => {\r\n // TODO transform to enum and not a string\r\n this.isSubmittingCancelPayment = false;\r\n this.cancelPaymentDialogRef?.close();\r\n this.validatePaymentDialogRef?.close();\r\n this.setPaymentStatus.emit('cancelled');\r\n this.setCancelReturnUrl.emit(cancelResponse?.url);\r\n })\r\n );\r\n }\r\n\r\n // Validate payment section\r\n confirmPayment() {\r\n if (this.challengeCodeError) {\r\n this.challengeCodeError = false;\r\n }\r\n const transferProperties = {\r\n amount: this.transfer.amount,\r\n beneficiaryAccount: this.transfer.beneficiaryAccount,\r\n beneficiaryCity: this.transfer.beneficiaryCity,\r\n beneficiaryHouseNumber: this.transfer.beneficiaryHouseNumber,\r\n beneficiaryInstitutionCode: this.transfer.beneficiaryInstitutionCode,\r\n beneficiaryInstitutionCodeValue:\r\n this.transfer.beneficiaryInstitutionCodeValue,\r\n beneficiaryInstitutionName: this.transfer.beneficiaryInstitutionName,\r\n beneficiaryName: this.transfer.beneficiaryName,\r\n beneficiaryPostalCode: this.transfer.beneficiaryPostalCode,\r\n beneficiaryStreet: this.transfer.beneficiaryStreet,\r\n currency: this.transfer.currency,\r\n description: this.transfer.description,\r\n destinationCountryIsoCode: null,\r\n sentooProcessorId: this.transfer.sentooProcessorId,\r\n sentooTransactionId: this.transfer.sentooTransactionId,\r\n transactionType: this.transfer.transactionType,\r\n transferId: this.transfer.transferId,\r\n valueDate: new Date().toISOString(),\r\n referenceCategoryNumber: this.selectedReferenceCode,\r\n sourceAccount: this.selectedAccount.accountNumber\r\n };\r\n this.isLoading = true;\r\n const transferObject: TransferModel = transferProperties;\r\n this.subscriptions.push(this.createSentooPaymentService\r\n .getChallengeNumber(transferObject)\r\n .subscribe(\r\n (challengeNumberResponse) => {\r\n if (challengeNumberResponse.challengeCode) {\r\n this.isLoading = false;\r\n this.challengeCode = challengeNumberResponse.challengeCode;\r\n this.openValidatePayment();\r\n } else {\r\n this.isLoading = false;\r\n this.challengeCodeError = true;\r\n this.challengeCodeErrorMessage =\r\n challengeNumberResponse.errorDescription;\r\n }\r\n },\r\n (error) => {\r\n this.isLoading = false;\r\n }\r\n ));\r\n }\r\n\r\n openValidatePayment() {\r\n this.validatePaymentDialogRef = this.dialog.open(this.validatePayment, {\r\n panelClass: 'popup-dialog-sentoo',\r\n disableClose: true\r\n });\r\n }\r\n\r\n // Category related\r\n selectCategory(): void {\r\n this.subCategory.setValue(\r\n this.category.value ? this.category.value.subcategory[0] : null\r\n );\r\n\r\n if (this.subCategory.value) {\r\n this.categoryForm.controls['subCategory'].enable();\r\n } else {\r\n this.categoryForm.controls['subCategory'].disable();\r\n }\r\n\r\n this.selectSubCategory();\r\n }\r\n\r\n selectSubCategory(event?): void {\r\n this.selectedReferenceCode =\r\n event?.value?.code || this.category?.value?.subcategory?.[0]?.code;\r\n this.subCategory.setValue(\r\n event ? event.value : this.category?.value?.subcategory?.[0]\r\n );\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n {{ challengeCodeErrorMessage }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Sentoo payment

\r\n
\r\n
\r\n

Webshop

\r\n {{transfer?.currency | abCurrencySymbol }} \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{\r\n selectedAccount?.alias ||\r\n selectedAccount?.description ||\r\n selectedAccount?.accountName\r\n }}\r\n {{ selectedAccount?.portfolioName }}\r\n {{ selectedAccount?.accountNumber }}\r\n {{ selectedAccount?.accountOwner }}\r\n
\r\n\r\n
\r\n
\r\n {{ selectedAccount?.accountCurrency | abCurrencySymbol }}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
    \r\n \r\n
  • \r\n
    \r\n
    \r\n {{\r\n account.alias || account.description || account.accountName\r\n }}\r\n {{ account?.accountNumber }}\r\n {{ account?.accountOwner }}\r\n
    \r\n\r\n
    \r\n
    \r\n {{ account.accountCurrency | abCurrencySymbol }}\r\n \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
    \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ category.category }}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ subcategory.name }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ transfer?.description }}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n \r\n
\r\n

Do you want to cancel this payment?

\r\n

You can restart the payment at the merchant.

\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription } from 'rxjs';\r\nimport { AB_SENTOO } from '../../../../shared/constants';\r\nimport { SentooService } from '../../../services/sentoo.service';\r\nimport { PaymentStatus } from '../../../services/status.service';\r\n\r\n@Component({\r\n selector: 'ab-sentoo-transfer',\r\n templateUrl: './sentoo-transfer.component.html',\r\n styleUrls: ['./sentoo-transfer.component.scss']\r\n})\r\nexport class SentooTransferComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild('qrCodeImage') qrCodeImage: ElementRef;\r\n @ViewChild('sentooPaymentToken') sentooPaymentToken: TemplateRef;\r\n\r\n public paymentStatus: PaymentStatus = 'paying';\r\n public merchantInfo: any;\r\n public isLoading = false;\r\n public searchParams: any = undefined;\r\n public returnUrl: string;\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n private sentooService: SentooService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe((params) => {\r\n this.searchParams = new URLSearchParams();\r\n for (const key in params) {\r\n if (params.hasOwnProperty(key)) {\r\n this.searchParams.set(key, params[key]);\r\n }\r\n }\r\n if (this.searchParams) {\r\n this.sentooService.setEncryptedData(this.searchParams.toString());\r\n } else {\r\n this.paymentStatus = 'invalid';\r\n }\r\n });\r\n }\r\n\r\n setPaymentStatus(paymentStatus) {\r\n this.paymentStatus = paymentStatus;\r\n }\r\n\r\n setMerchantInfo(merchantInfo) {\r\n this.merchantInfo = merchantInfo;\r\n if (this.merchantInfo.numberOfApprovalsRemaining > 0) {\r\n this.paymentStatus = 'pending';\r\n } else {\r\n this.paymentStatus = 'complete';\r\n }\r\n }\r\n\r\n setCancelReturnUrl(url) {\r\n this.returnUrl = url;\r\n }\r\n\r\n resetPayment() {\r\n const sentooTransaction = this.searchParams?.get('sentoo-transaction');\r\n const country = this.searchParams?.get('country');\r\n\r\n this.router.navigate([AB_SENTOO], {\r\n queryParams: {\r\n country,\r\n 'sentoo-transaction': sentooTransaction\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n Validators\r\n} from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormAllFieldsValidationService } from '../../../../shared/services/form-all-fields-validation.service';\r\nimport { GetItemListFieldsService, } from '../../../../shared/services/get-item-list-fields.service';\r\nimport {\r\n ApproveRequest,\r\n ApproveService\r\n} from '../../../services/approve.service';\r\nimport { Transfer } from '../../../services/payment-details.service';\r\n\r\n@Component({\r\n selector: 'ab-validate-payment',\r\n templateUrl: './validate-payment.component.html',\r\n styleUrls: ['./validate-payment.component.scss']\r\n})\r\nexport class ValidatePaymentComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @Input() transfer: Transfer;\r\n @Input() challengeCode: string;\r\n @Input() selectedAccountNumber: string;\r\n @Input() selectedReferenceCode: string;\r\n @Input() dialogRef: MatDialogRef;\r\n @Output() cancelPayment = new EventEmitter();\r\n @Output() setMerchantInfo = new EventEmitter();\r\n @Output() setPaymentStatus = new EventEmitter();\r\n @ViewChild('approvalCodeInput') approvalCodeInput: ElementRef;\r\n\r\n public isLoading = false;\r\n public isSubmittingConfirm = false;\r\n public items: any;\r\n public approvalCodeErrorMessage: string;\r\n public confirmPaymentForm = new UntypedFormGroup({\r\n approvalCode: new UntypedFormControl(null, [\r\n Validators.required,\r\n Validators.pattern('[0-9]+')\r\n ])\r\n });\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private approveService: ApproveService,\r\n private formAllFieldsValidationService: FormAllFieldsValidationService,\r\n private getItemListFieldsService: GetItemListFieldsService\r\n ) {}\r\n\r\n get approvalCode() {\r\n return this.confirmPaymentForm.get('approvalCode');\r\n }\r\n\r\n @HostListener('document:keypress', ['$event'])\r\n onEnterPress(event) {\r\n if (event.key === 'Enter' && this.confirmPaymentForm.valid) {\r\n this.submitPayment();\r\n this.approvalCodeInput.nativeElement.blur();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.getItemListFieldsService.getItems(\r\n this.rendering?.fields?.items as Item[]\r\n );\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n\r\n openCancelPaymentPopup() {\r\n this.cancelPayment.emit('trigger');\r\n }\r\n\r\n submitPayment() {\r\n const approveTransferRequest: ApproveRequest = {\r\n challengeCode: this.challengeCode,\r\n signature: this.confirmPaymentForm?.get('approvalCode')?.value\r\n };\r\n\r\n this.formAllFieldsValidationService.validationAllForms(\r\n this.confirmPaymentForm\r\n );\r\n\r\n if (!this.confirmPaymentForm.valid) {\r\n return;\r\n }\r\n\r\n this.isSubmittingConfirm = true;\r\n this.subscriptions.push(\r\n this.approveService.approveTransfer(approveTransferRequest).subscribe({\r\n next: (approveResponse: any) => {\r\n this.isSubmittingConfirm = false;\r\n if (approveResponse.callIsSuccess) {\r\n this.setMerchantInfo.emit(approveResponse);\r\n if (this.dialogRef) {\r\n this.dialogRef.close();\r\n }\r\n } else {\r\n this.approvalCodeErrorMessage = approveResponse.errorDescription;\r\n this.confirmPaymentForm.get('approvalCode')?.setErrors({\r\n approvalCodeError: true\r\n });\r\n }\r\n },\r\n error: (error: any) => {\r\n this.confirmPaymentForm.get('approvalCode')?.setErrors({\r\n approvalCodeError: true\r\n });\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Sentoo payment
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

\r\n Confirm your payment with the {{items.bankToken.fields.text.value}}\r\n

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n 1\r\n
    \r\n
    \r\n
    \r\n Pressto turn on the {{items.bankToken.fields.text.value}}\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 2\r\n
    \r\n
    \r\n
    \r\n Enter your 4-digit PIN Code in the {{items.bankToken.fields.text.value}}\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 3\r\n
    \r\n
    \r\n
    \r\n Press number \"2\"\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 4\r\n
    \r\n
    \r\n
    \r\n Enter the following Security Code in the {{items.bankToken.fields.text.value}}: {{ challengeCode }} \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 5\r\n
    \r\n
    \r\n
    \r\n Press and hold until \"2\" is shown\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 6\r\n
    \r\n
    \r\n
    \r\n Pressto generate the Transfer\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 7\r\n
    \r\n
    \r\n
    \r\n Enter the generated Transfer Approval Code in the field below\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { ComponentRendering, Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { Subject, Subscription, combineLatest, filter, interval, switchMap, takeUntil, takeWhile } from 'rxjs';\r\nimport { LoginRequest, LoginService } from '../../../../login/services/login.service';\r\nimport { AB_SENTOO_TRANSFER } from '../../../../shared/constants';\r\nimport { FormFields } from '../../../../shared/services/form-fields-generator.service';\r\nimport { GetItemListFieldsService } from '../../../../shared/services/get-item-list-fields.service';\r\nimport { QrCodeService } from '../../../services/qr-code.service';\r\nimport { SentooService } from '../../../services/sentoo.service';\r\nimport { PaymentStatus, StatusService } from '../../../services/status.service';\r\n\r\ntype AuthorizationMethod = 'qr' | 'token';\r\n\r\n@Component({\r\n selector: 'ab-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.scss'],\r\n})\r\nexport class LandingComponent implements OnInit, OnDestroy {\r\n @Input() rendering: ComponentRendering;\r\n @Output() setMerchantInfo = new EventEmitter();\r\n @Output() setPaymentStatus = new EventEmitter();\r\n @Output() setReturnUrl: EventEmitter = new EventEmitter();\r\n\r\n public authorizationMethod: AuthorizationMethod = 'qr';\r\n public qrCodeImage: string;\r\n public apiError = false;\r\n public userBlockedError = false;\r\n public invalidCredentialsError = false;\r\n public helpMethod = 'token';\r\n public arubaAppImg = 'assets/images/aruba-app.svg';\r\n public desktopImg = 'assets/images/aruba-desktop.svg';\r\n public mobileImg = 'assets/images/icon-mobile.svg';\r\n public refreshImg = 'assets/images/refresh.svg';\r\n public retryQR = false;\r\n public isLoading = false;\r\n public formFields: FormFields;\r\n public items: any;\r\n\r\n public loginForm = new UntypedFormGroup({\r\n username: new UntypedFormControl('', Validators.required),\r\n logincode: new UntypedFormControl('', Validators.required),\r\n tokenType: new UntypedFormControl('hardToken'),\r\n });\r\n\r\n private destroy$ = new Subject();\r\n private subscriptions: Subscription[] = [];\r\n private statusSubscription: Subscription;\r\n private requestQRError: boolean;\r\n\r\n constructor(\r\n private qrCodeService: QrCodeService,\r\n private sentooService: SentooService,\r\n private loginService: LoginService,\r\n private router: Router,\r\n private statusService: StatusService,\r\n private getItemListFieldsService: GetItemListFieldsService\r\n ) {}\r\n\r\n get username() {\r\n return this.loginForm.get('username');\r\n }\r\n\r\n get logincode() {\r\n return this.loginForm.get('logincode');\r\n }\r\n\r\n get tokenType() {\r\n return this.loginForm.get('tokenType');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.items = this.getItemListFieldsService.getItems(this.rendering?.fields?.items as Item[]);\r\n this.getQrCodeImage();\r\n }\r\n\r\n getQrCodeImage() {\r\n this.isLoading = true;\r\n combineLatest([this.sentooService.getCountry(), this.sentooService.getSentooTransaction()])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([country, transaction]) => {\r\n this.qrCodeService\r\n .getQrCode(country, transaction)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(\r\n (qrcodeImageResponse) => {\r\n if (this.retryQR) {\r\n this.retryQR = false;\r\n }\r\n this.isLoading = false;\r\n this.qrCodeImage = 'data:image/jpeg;base64,' + qrcodeImageResponse.qrImage;\r\n this.pollPaymentStatus();\r\n },\r\n () => {\r\n this.isLoading = false;\r\n this.requestQRError = true;\r\n this.setPaymentStatus.emit('invalid');\r\n }\r\n );\r\n });\r\n }\r\n\r\n pollPaymentStatus(): void {\r\n const timer$ = new Subject();\r\n\r\n this.subscriptions.push(\r\n combineLatest([this.sentooService.getCountry(), this.sentooService.getSentooTransaction()]).subscribe(\r\n ([country, transaction]) => {\r\n const statusObservable$ = interval(5000).pipe(\r\n takeWhile(() => !this.requestQRError),\r\n takeUntil(timer$),\r\n switchMap(() => this.statusService.getStatus(country, transaction))\r\n );\r\n\r\n setTimeout(() => {\r\n timer$.next((this.retryQR = true));\r\n }, 240000);\r\n\r\n this.statusSubscription = statusObservable$.subscribe({\r\n next: (statusResponse) => {\r\n this.setMerchantInfo.emit(statusResponse);\r\n if (statusResponse && statusResponse.status === 'cancelled') {\r\n this.setPaymentStatus.emit('cancelled');\r\n this.setReturnUrl.emit(statusResponse.returnUrl);\r\n this.statusSubscription?.unsubscribe();\r\n } else if (\r\n statusResponse &&\r\n statusResponse.status === 'approved' &&\r\n statusResponse.numberOfApprovalsRequired > 0\r\n ) {\r\n this.setPaymentStatus.emit('pending');\r\n this.statusSubscription?.unsubscribe();\r\n } else if (statusResponse && statusResponse.status === 'approved') {\r\n this.setPaymentStatus.emit('complete');\r\n this.statusSubscription?.unsubscribe();\r\n }\r\n },\r\n error: (error) => {\r\n this.setPaymentStatus.emit('invalid');\r\n this.statusSubscription?.unsubscribe();\r\n },\r\n });\r\n }\r\n )\r\n );\r\n }\r\n\r\n login(): void {\r\n if (this.loginForm.valid) {\r\n this.loginService\r\n .login(this.loginForm.value as LoginRequest)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(\r\n (response) => {\r\n combineLatest([this.sentooService.getCountry(), this.sentooService.getSentooTransaction()])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([country, sentooTransaction]) => {\r\n this.router.navigate([AB_SENTOO_TRANSFER], {\r\n queryParams: {\r\n country,\r\n 'sentoo-transaction': sentooTransaction,\r\n },\r\n });\r\n this.statusSubscription?.unsubscribe();\r\n });\r\n },\r\n (error) => {\r\n if (error) {\r\n this.apiError = true;\r\n this.loginForm.reset();\r\n this.userBlockedError = error.error.errorCode === 'User.Blocked';\r\n this.invalidCredentialsError = error.error.errorCode === 'User.Failed';\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n redirectToPaymentScreen() {\r\n this.subscriptions.push(\r\n this.router.events.pipe(filter((event: RouterEvent) => event instanceof NavigationStart)).subscribe(() => {\r\n this.router.navigate([AB_SENTOO_TRANSFER]);\r\n })\r\n );\r\n }\r\n\r\n selectActiveTab(method) {\r\n this.helpMethod = method;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n
\r\n
User is permanently blocked!
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n Invalid credentials. Your access will be blocked after multiple incorrect attempts.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Select approval method

\r\n
\r\n
\r\n

Login with {{ items?.bankApplication.fields.text.value }}

\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n 1\r\n
    \r\n
    \r\n
    \r\n Open the {{ items?.bankApplication.fields.text.value }}\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n
    \r\n 2\r\n
    \r\n
    \r\n
    \r\n Tap on the QR-code icon in the left corner\r\n
    \r\n
\r\n \r\n
  • \r\n
    \r\n
    \r\n 3\r\n
    \r\n
    \r\n
    \r\n Scan the QR-code and approve payment\r\n
    \r\n \r\n \r\n

    Click to generate a new QR code

    \r\n
    \r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Login with token

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n 1\r\n
      \r\n
      \r\n
      \r\n
      Click on below button to login to {{ items?.bankName.fields.text.value }} Online
      \r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 2\r\n
      \r\n
      \r\n
      \r\n
      Follow the steps to approve payment
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n

    Log in with {{ items?.bankToken.fields.text.value }}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n Username required\r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n Login code required\r\n
    \r\n\r\n
    \r\n \r\n \r\n Log in\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
      \r\n
    • \r\n {{ items?.bankToken.fields.text.value }}\r\n
    • \r\n
    • \r\n {{ items?.bankApplication.fields.text.value }}\r\n
    • \r\n
    \r\n

    How to receive the code with the token:

    \r\n \r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n 1\r\n
      \r\n
      \r\n
      \r\n Press to turn on the\r\n {{ items?.bankToken.fields.text.value }} Token\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 2\r\n
      \r\n
      \r\n
      \r\n Enter your 4-digit PIN Code\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 3\r\n
      \r\n
      \r\n
      \r\n Press number “1”\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 4\r\n
      \r\n
      \r\n
      \r\n Enter the Login Code generated by the {{ items?.bankToken.fields.text.value }} in the\r\n designated text field\r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n 1\r\n
      \r\n
      \r\n
      \r\n Open your {{ items?.bankApplication.fields.text.value }} ® on your mobile phone\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 2\r\n
      \r\n
      \r\n
      \r\n Click on the 'Token' icon in the mobile app menu\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 3\r\n
      \r\n
      \r\n
      \r\n Select 'Login Code' from the screen\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 4\r\n
      \r\n
      \r\n
      \r\n Enter your 5-digit PIN Code for the {{ items?.bankApplication.fields.text.value }}® to\r\n generate the Login Code\r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n 5\r\n
      \r\n
      \r\n
      \r\n Enter the generated Login Code generated by the\r\n {{ items?.bankApplication.fields.text.value }}® in the field above\r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Need help?\r\n Contact us \r\n

    \r\n
    \r\n \r\n
    \r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { StatusResponse } from '../../../services/status.service';\r\nimport { ApproveResponse } from '../../../services/approve.service';\r\nimport { LoginService } from '../../../../login/services/login.service';\r\n\r\n@Component({\r\n selector: 'ab-payment-complete',\r\n templateUrl: './payment-complete.component.html',\r\n styleUrls: ['./payment-complete.component.scss']\r\n})\r\nexport class PaymentCompleteComponent implements OnInit, OnDestroy {\r\n @Input() merchantInfo: Partial;\r\n\r\n constructor(private loginService: LoginService) {}\r\n\r\n ngOnInit(): void {\r\n this.loginService?.logout().subscribe((response) => {});\r\n }\r\n\r\n redirectToMerchant() {\r\n if (window && window.location) {\r\n window.location.href =\r\n this.merchantInfo.url || this.merchantInfo.returnUrl || '';\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {}\r\n}\r\n","
    \r\n
    \r\n
    \r\n

    You have paid successfully!

    \r\n

    You will automatically be redirected.

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ab-payment-invalid',\r\n templateUrl: './payment-invalid.component.html',\r\n styleUrls: ['./payment-invalid.component.scss'],\r\n})\r\nexport class PaymentInvalidComponent implements OnInit {\r\n @Output() resetPayment: EventEmitter = new EventEmitter();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n
    \r\n
    \r\n

    The payment is invalid

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    Please try again later.

    \r\n \r\n
    \r\n
    \r\n
    ","import { Component, Input, OnInit } from '@angular/core';\r\nimport { StatusResponse } from '../../../services/status.service';\r\nimport { ApproveResponse } from '../../../services/approve.service';\r\n\r\n@Component({\r\n selector: 'ab-payment-pending',\r\n templateUrl: './payment-pending.component.html',\r\n styleUrls: ['./payment-pending.component.scss']\r\n})\r\nexport class PaymentPendingComponent implements OnInit {\r\n @Input() merchantInfo: Partial;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n redirectToMerchant() {\r\n window.location.href = this.merchantInfo.returnUrl || this.merchantInfo.url;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n

    Payment created, eligible approvers are notified

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n After approval the payment will be executed\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Subscription } from 'rxjs';\r\nimport { SentooService } from '../../../services/sentoo.service';\r\nimport { AB_SENTOO_TRANSFER } from '../../../../shared/constants';\r\nimport { UserService } from '../../../../shared/services/user.service';\r\nimport {\r\n PaymentStatus,\r\n StatusResponse,\r\n} from '../../../services/status.service';\r\n\r\n@Component({\r\n selector: 'ab-sentoo',\r\n templateUrl: './sentoo.component.html',\r\n styleUrls: ['./sentoo.component.scss'],\r\n})\r\nexport class SentooComponent implements OnInit, OnDestroy, OnChanges {\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild('qrCodeImage') qrCodeImage: ElementRef;\r\n @ViewChild('sentooPaymentToken') sentooPaymentToken: TemplateRef;\r\n\r\n public ARUBA_APP_SENTOO_URL = 'arubabank://open/sentoo?';\r\n public ORCO_APP_SENTOO_URL = 'orcobank://open/sentoo?';\r\n\r\n public paymentStatus: PaymentStatus = 'landing';\r\n public merchantInfo: Partial;\r\n public isLoading = false;\r\n public returnUrl: string;\r\n\r\n private subscriptions: Subscription[] = [];\r\n private encryptedData: string;\r\n private openAppTimeout;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private sentooService: SentooService,\r\n private userService: UserService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.paymentStatus) {\r\n console.log(\r\n 'Payment status changed: ',\r\n changes.paymentStatus.currentValue\r\n );\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.paymentStatus = 'landing';\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n const searchParams = new URLSearchParams();\r\n for (const key in params) {\r\n if (params.hasOwnProperty(key)) {\r\n searchParams.set(key, params[key]);\r\n }\r\n }\r\n this.encryptedData = searchParams.toString();\r\n if (this.encryptedData) {\r\n this.sentooService.setEncryptedData(this.encryptedData);\r\n this.checkTransferRouteAccess();\r\n }\r\n })\r\n );\r\n\r\n this.openAppSamsungBrowser();\r\n }\r\n\r\n openAppSamsungBrowser() {\r\n const url = window.location.href;\r\n const searchParams = new URL(url).searchParams;\r\n if (url.indexOf('aruba') !== -1) {\r\n this.openAppTimeout = setTimeout(() => {\r\n window.location.replace(this.ARUBA_APP_SENTOO_URL + searchParams.toString());\r\n }, 1000);\r\n } else if (url.indexOf('orco') !== -1) {\r\n this.openAppTimeout = setTimeout(() => {\r\n window.location.replace(this.ORCO_APP_SENTOO_URL + searchParams.toString());\r\n }, 1000);\r\n }\r\n }\r\n\r\n checkTransferRouteAccess() {\r\n this.subscriptions.push(\r\n this.userService\r\n .userHasAccess(AB_SENTOO_TRANSFER)\r\n .subscribe((hasAccess) => {\r\n if (hasAccess) {\r\n const searchParams = new URLSearchParams(this.encryptedData);\r\n const sentooTransaction = searchParams?.get('sentoo-transaction');\r\n const country = searchParams?.get('country');\r\n\r\n this.router.navigate([AB_SENTOO_TRANSFER], {\r\n queryParams: {\r\n country,\r\n 'sentoo-transaction': sentooTransaction,\r\n },\r\n });\r\n }\r\n })\r\n );\r\n }\r\n\r\n setReturnUrl(url) {\r\n this.returnUrl = url;\r\n }\r\n\r\n setMerchantInfo(merchantInfo) {\r\n this.merchantInfo = merchantInfo;\r\n }\r\n\r\n setPaymentStatus(paymentStatus: PaymentStatus) {\r\n this.paymentStatus = paymentStatus;\r\n }\r\n\r\n resetPayment() {\r\n this.paymentStatus = 'landing';\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.subscriptions) {\r\n this.subscriptions.forEach((subscription) => subscription.unsubscribe());\r\n }\r\n if (this.openAppTimeout) {\r\n clearTimeout(this.openAppTimeout);\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { ANALYZE_FOR_ENTRY_COMPONENTS, NgModule } from '@angular/core';\r\nimport { ROUTES } from '@angular/router';\r\nimport {\r\n DYNAMIC_COMPONENT,\r\n JssModule,\r\n} from '@sitecore-jss/sitecore-jss-angular';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { Title } from '@angular/platform-browser';\r\nimport { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ConnectionErrorComponent } from './components/sentoo-transfer/connection-error/connection-error.component';\r\nimport { PaymentCancelledComponent } from './components/sentoo-transfer/payment-cancelled/payment-cancelled.component';\r\nimport { PaymentExpiredComponent } from './components/sentoo-transfer/payment-expired/payment-expired.component';\r\nimport { PaymentScreenComponent } from './components/sentoo-transfer/payment-screen/payment-screen.component';\r\nimport { SentooTransferComponent } from './components/sentoo-transfer/sentoo-transfer/sentoo-transfer.component';\r\nimport { ValidatePaymentComponent } from './components/sentoo-transfer/validate-payment/validate-payment.component';\r\nimport { LandingComponent } from './components/sentoo/landing/landing.component';\r\nimport { PaymentCompleteComponent } from './components/sentoo/payment-complete/payment-complete.component';\r\nimport { PaymentInvalidComponent } from './components/sentoo/payment-invalid/payment-invalid.component';\r\nimport { PaymentPendingComponent } from './components/sentoo/payment-pending/payment-pending.component';\r\nimport { SentooComponent } from './components/sentoo/sentoo/sentoo.component';\r\n\r\nconst SentooComponents = [\r\n { name: 'Sentoo', type: SentooComponent },\r\n { name: 'SentooTransfer', type: SentooTransferComponent },\r\n { name: 'Landing', type: LandingComponent },\r\n { name: 'PaymentInvalid', type: PaymentInvalidComponent },\r\n { name: 'ConnectionError', type: ConnectionErrorComponent },\r\n { name: 'PaymentCancelled', type: PaymentCancelledComponent },\r\n { name: 'PaymentComplete', type: PaymentCompleteComponent },\r\n { name: 'PaymentExpired', type: PaymentExpiredComponent },\r\n { name: 'PaymentPending', type: PaymentPendingComponent },\r\n { name: 'PaymentScreen', type: PaymentScreenComponent },\r\n { name: 'ValidatePayment', type: ValidatePaymentComponent },\r\n];\r\n\r\nconst ProviderArray = {};\r\n\r\nSentooComponents.forEach((component) => {\r\n ProviderArray[component.name] = component.type;\r\n});\r\n\r\n@NgModule({\r\n declarations: [\r\n LandingComponent,\r\n ConnectionErrorComponent,\r\n SentooComponent,\r\n PaymentInvalidComponent,\r\n SentooTransferComponent,\r\n PaymentCancelledComponent,\r\n PaymentExpiredComponent,\r\n PaymentCompleteComponent,\r\n PaymentPendingComponent,\r\n PaymentScreenComponent,\r\n ValidatePaymentComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n NgbPaginationModule,\r\n {\r\n ngModule: JssModule,\r\n providers: [\r\n {\r\n provide: ROUTES,\r\n useValue: [],\r\n multi: true,\r\n },\r\n {\r\n provide: DYNAMIC_COMPONENT,\r\n useValue: ProviderArray,\r\n },\r\n {\r\n provide: ANALYZE_FOR_ENTRY_COMPONENTS,\r\n useValue: SentooComponents,\r\n multi: true,\r\n },\r\n ],\r\n },\r\n ],\r\n providers: [Title],\r\n exports: [],\r\n})\r\nexport class SentooModule {}\r\n\r\nexport { SentooComponents };\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AB_API_SENTOO_ACCOUNTS } from '../../shared/constants';\r\nimport { ApiClientService } from '../../shared/services/api-client.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccountsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_ACCOUNTS);\r\n }\r\n\r\n getAccounts(): Observable {\r\n return this.get();\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AB_API_SENTOO_APPROVE } from \"../../../app/shared/constants\";\r\nimport {\r\n ApiClientService, ApiResponse\r\n} from \"../../../app/shared/services/api-client.service\";\r\n\r\nexport interface ApproveRequest {\r\n challengeCode: string;\r\n signature: string;\r\n transfers?: {\r\n TransferId: number;\r\n TransferFrequency: string;\r\n NumberOfApprovalsRemaining: number;\r\n SentooTransactionId: string;\r\n SentooProcessorId: string;\r\n IsApproved: boolean;\r\n }[];\r\n TokenType?: string;\r\n DeviceId?: string;\r\n ClientIp?: string;\r\n BrowserInfo?: {\r\n FingerPrintHash: string;\r\n FingerPrintRaw: string;\r\n };\r\n}\r\n\r\nexport interface ApproveResponse extends ApiResponse {\r\n numberOfApprovalsRequired: number;\r\n url: string;\r\n beneficiaryName: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ApproveService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_APPROVE);\r\n }\r\n\r\n approveTransfer(request: ApproveRequest): Observable {\r\n return this.post(request);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AB_API_SENTOO_CANCEL } from \"../../../app/shared/constants\";\r\nimport { ApiClientService } from \"../../../app/shared/services/api-client.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class CancelService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_CANCEL);\r\n }\r\n\r\n cancelPayment(paymentId: string): Observable {\r\n const params = new HttpParams().set('paymentId',paymentId);\r\n return this.get(params);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiClientService } from '../../shared/services/api-client.service';\r\nimport { AB_API_SENTOO_CREATE } from '../../shared/constants';\r\nimport { Transfer } from './payment-details.service';\r\n\r\nexport interface TransferModel {\r\n transferId: number;\r\n beneficiaryName: string;\r\n beneficiaryHouseNumber: string | null;\r\n beneficiaryStreet: string | null;\r\n beneficiaryCity: string | null;\r\n beneficiaryPostalCode: string | null;\r\n beneficiaryInstitutionName: string;\r\n beneficiaryInstitutionCode: string;\r\n beneficiaryInstitutionCodeValue: string;\r\n valueDate: string;\r\n description: string;\r\n destinationCountryIsoCode?: string;\r\n sourceAccount: string | null;\r\n beneficiaryAccount: string;\r\n currency: string;\r\n amount: number;\r\n referenceCategoryNumber: string | null;\r\n sentooTransactionId: string;\r\n sentooProcessorId: string;\r\n transactionType: string;\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateSentooPaymentService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_CREATE);\r\n }\r\n\r\n getChallengeNumber(request: TransferModel): Observable {\r\n return this.post(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiClientService } from '../../../app/shared/services/api-client.service';\r\nimport { AB_API_SENTOO_PAYMENT_DETAILS } from './../../../app/shared/constants';\r\n\r\n\r\nexport interface Transfer {\r\n transferId: number;\r\n beneficiaryName: string;\r\n beneficiaryHouseNumber: string | null;\r\n beneficiaryStreet: string | null;\r\n beneficiaryCity: string | null;\r\n beneficiaryPostalCode: string | null;\r\n beneficiaryInstitutionName: string;\r\n beneficiaryInstitutionCode: string;\r\n beneficiaryInstitutionCodeValue: string;\r\n valueDate: string;\r\n description: string;\r\n destinationCountryISOCode?: string;\r\n sourceAccount: string | null;\r\n beneficiaryAccount: string;\r\n currency: string;\r\n amount: number;\r\n referenceCategoryNumber: string | null;\r\n sentooTransactionId: string;\r\n sentooProcessorId: string;\r\n transactionType: string;\r\n userAccountPermissions: UserAccountPermission[];\r\n}\r\n\r\ninterface UserAccountPermission {\r\n accountNumber: string;\r\n accountName: string;\r\n accessEnabled: boolean;\r\n specificEnabled: boolean;\r\n access: Access[];\r\n}\r\n\r\ninterface Access {\r\n id: string;\r\n enable: boolean;\r\n upload: boolean;\r\n create: boolean;\r\n modify: boolean;\r\n approve: boolean;\r\n inquire: boolean;\r\n delete: boolean;\r\n createApproval: boolean;\r\n amountLimit: number;\r\n totalApproval: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PaymentDetailsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_PAYMENT_DETAILS);\r\n }\r\n\r\n getPaymentDetails(encryptedData: string): Observable {\r\n const params = new HttpParams().set('encryptedData', '?' + encryptedData);\r\n return this.get(params);\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AB_API_SENTOO_QRCODE } from '../../shared/constants';\r\nimport {\r\n ApiClientService\r\n} from '../../shared/services/api-client.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QrCodeService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_QRCODE);\r\n }\r\n\r\n getQrCode(country: string, sentooTransaction: string): Observable {\r\n const params = new HttpParams().set('country', country).set('sentoo-transaction', sentooTransaction);\r\n return this.get(params);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SentooService {\r\n private encryptedDataSubject: BehaviorSubject =\r\n new BehaviorSubject(undefined);\r\n private sentooTransactionSubject: BehaviorSubject =\r\n new BehaviorSubject(undefined);\r\n private countrySubject: BehaviorSubject = new BehaviorSubject(\r\n undefined\r\n );\r\n\r\n constructor() {}\r\n\r\n getEncryptedData(): Observable {\r\n return this.encryptedDataSubject.asObservable();\r\n }\r\n getCountry(): Observable {\r\n return this.countrySubject.asObservable();\r\n }\r\n\r\n getSentooTransaction(): Observable {\r\n return this.sentooTransactionSubject.asObservable();\r\n }\r\n\r\n setEncryptedData(transactionId: string) {\r\n this.extractSentooTransactionAndCountry(transactionId);\r\n this.encryptedDataSubject.next(transactionId);\r\n }\r\n\r\n private extractSentooTransactionAndCountry(transactionId: string) {\r\n const searchParams = new URLSearchParams(transactionId);\r\n\r\n const sentooTransaction = this.extractSentooTransaction(searchParams);\r\n const country = this.extractCountry(searchParams);\r\n this.sentooTransactionSubject.next(sentooTransaction);\r\n this.countrySubject.next(country);\r\n }\r\n\r\n private extractSentooTransaction(searchParams: URLSearchParams): string {\r\n return searchParams?.get('sentoo-transaction');\r\n }\r\n\r\n private extractCountry(searchParams: URLSearchParams): string {\r\n return searchParams?.get('country');\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AB_API_SENTOO_STATUS } from '../../../app/shared/constants';\r\nimport { ApiClientService } from '../../../app/shared/services/api-client.service';\r\n\r\nexport type PaymentStatus =\r\n | 'complete'\r\n | 'landing'\r\n | 'pending'\r\n | 'unpaid'\r\n | 'paying'\r\n | 'validatePaymentWithToken'\r\n | 'cancelled'\r\n | 'expired'\r\n | 'invalid'\r\n | 'connection';\r\n\r\nexport interface StatusResponse {\r\n numberOfApprovalsRequired: number;\r\n returnUrl: string;\r\n beneficiaryName: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StatusService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_SENTOO_STATUS);\r\n }\r\n\r\n getStatus(country: string, sentooTransaction: string): Observable {\r\n const params = new HttpParams()\r\n .set('country', country)\r\n .set('sentoo-transaction', sentooTransaction);\r\n return this.get(params);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { PopupComponent } from '../../../dialogs/components/popup/popup.component';\r\nimport { MatLegacyDialog } from '@angular/material/legacy-dialog';\r\nimport { DialogStateService } from '../../../dialogs/services/dialog-state.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'ab-session-expiry-popup',\r\n templateUrl: './session-expiry-popup.component.html',\r\n styleUrls: ['./session-expiry-popup.component.scss']\r\n})\r\nexport class SessionExpiryPopupComponent extends PopupComponent {\r\n constructor(\r\n dialog: MatLegacyDialog,\r\n dialogStateService: DialogStateService,\r\n router: Router\r\n ) {\r\n super(dialog, dialogStateService, router);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DialogStateService } from '../../dialogs/services/dialog-state.service';\r\nimport { AB_SHOW_SESSION_EXPIRY_POPUP } from '../../shared/constants';\r\nimport { UserService } from '../../shared/services/user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExpiryPopupService {\r\n private popupId = 'session';\r\n private timeout: any;\r\n private popupIsOpen = false;\r\n\r\n constructor(\r\n private dialogStateService: DialogStateService,\r\n private userService: UserService\r\n ) {\r\n this.userService.initOpenPopUp(() => this.openSessionPopup());\r\n }\r\n\r\n public startPopupTimer(stopTimer?: boolean) {\r\n if (stopTimer && this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n this.timeout = setTimeout(() => {\r\n this.openSessionPopup();\r\n }, AB_SHOW_SESSION_EXPIRY_POPUP * 60000);\r\n }\r\n\r\n public openSessionPopup() {\r\n console.log('session popup is opening');\r\n if (\r\n this.popupIsOpen ||\r\n !this.dialogStateService.checkIfPopupExists('session')\r\n ) {\r\n console.log(\r\n `Session popup is opened already. Flag is: ${this.popupIsOpen}`\r\n );\r\n return;\r\n }\r\n\r\n console.log('session popup is opened');\r\n this.dialogStateService.openDialog(this.popupId).subscribe(() => {\r\n console.log('session popup is closed');\r\n this.userService.logoutUser();\r\n this.popupIsOpen = false;\r\n });\r\n this.popupIsOpen = true;\r\n }\r\n}\r\n","import { Injectable, PLATFORM_ID, Inject } from '@angular/core';\r\nimport { IdleService } from './idle.service';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { merge } from 'rxjs/internal/observable/merge';\r\nimport { fromEvent } from 'rxjs/internal/observable/fromEvent';\r\nimport { SessionService } from './session.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdleConfigService {\r\n constructor(\r\n private idleService: IdleService,\r\n private sessionService: SessionService,\r\n @Inject(PLATFORM_ID) private platform\r\n ) {}\r\n\r\n configIdle() {\r\n if (isPlatformBrowser(this.platform)) {\r\n this.idleService.configIdle(\r\n merge(\r\n fromEvent(window, 'mousemove'),\r\n fromEvent(window, 'resize'),\r\n fromEvent(window, 'message'),\r\n fromEvent(document, 'keydown')\r\n )\r\n );\r\n\r\n this.idleService.onActivity.subscribe(() => {\r\n this.sessionService.refreshSession().subscribe(\r\n () => {},\r\n () => {\r\n console.error('Refresh token request failed');\r\n }\r\n );\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { from, Subscription, Observable } from 'rxjs';\r\nimport { AB_REFRESH_SESSION_TIME } from '../../shared/constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IdleService {\r\n private isRunningValue = false;\r\n private userEvents: Observable;\r\n private idleSubsctiption: Subscription;\r\n private timeout;\r\n\r\n private _timeUp = false;\r\n private _activity = false;\r\n\r\n constructor() {\r\n }\r\n\r\n private set timeUp(value) {\r\n this._timeUp = value;\r\n\r\n if (value) {\r\n clearTimeout(this.timeout);\r\n } else {\r\n this.timeout = setTimeout(() => {\r\n this.timeUp = true;\r\n }, AB_REFRESH_SESSION_TIME * 60000);\r\n }\r\n\r\n if (value && this._activity) {\r\n this.onActivity.emit(event);\r\n this.activity = false;\r\n this.timeUp = false;\r\n }\r\n }\r\n\r\n private set activity(value) {\r\n this._activity = value;\r\n\r\n if (value) {\r\n this.stopCheckUserActivity();\r\n } else {\r\n this.startCheckUserActivity();\r\n }\r\n\r\n if (value && this._timeUp) {\r\n this.onActivity.emit(event);\r\n this.timeUp = false;\r\n this.activity = false;\r\n }\r\n }\r\n\r\n public onActivity = new EventEmitter();\r\n\r\n get isRunning() {\r\n return this.isRunningValue;\r\n }\r\n\r\n configIdle(events: Observable) {\r\n this.userEvents = events;\r\n this.doRefreshToken();\r\n }\r\n\r\n doRefreshToken() {\r\n this.activity = false;\r\n this.timeUp = false;\r\n }\r\n\r\n stopRefreshToken() {\r\n this.stopCheckUserActivity();\r\n clearTimeout(this.timeout);\r\n }\r\n\r\n startCheckUserActivity() {\r\n if (this.userEvents) {\r\n this.isRunningValue = true;\r\n this.idleSubsctiption = from(this.userEvents).subscribe(event => {\r\n if (event instanceof MessageEvent) {\r\n let data;\r\n try {\r\n data = event.data ? JSON.parse(event.data) : {};\r\n } catch {\r\n data = { channelName: undefined };\r\n }\r\n\r\n if (data.channelName) {\r\n this.onActivity.emit(event);\r\n }\r\n } else {\r\n this.activity = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n stopCheckUserActivity() {\r\n this.isRunningValue = false;\r\n if (this.idleSubsctiption) {\r\n this.idleSubsctiption.unsubscribe();\r\n }\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n Inject,\r\n PLATFORM_ID,\r\n} from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpResponse,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { tap } from 'rxjs/internal/operators/tap';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { ExpiryPopupService } from './expiry-popup.service';\r\nimport { SessionService } from './session.service';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionInterceptorService implements HttpInterceptor {\r\n constructor(\r\n @Inject(PLATFORM_ID) private platform,\r\n private expiryPopupService: ExpiryPopupService,\r\n private sessionService: SessionService\r\n ) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n const request = () => {\r\n if (req.url.indexOf('/general/refreshsession') === -1) {\r\n this.sessionService.waitingOtherRequest = true;\r\n this.sessionService.setRequset(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n tap(\r\n (response: HttpResponse) => {\r\n if (response.status && response.status === 200) {\r\n this.sessionService.chechResponse(req);\r\n\r\n if (isPlatformBrowser(this.platform)) {\r\n this.expiryPopupService.startPopupTimer(true);\r\n }\r\n }\r\n },\r\n (error: HttpErrorResponse) => {\r\n if (isPlatformBrowser(this.platform) && error.status === 401) {\r\n this.expiryPopupService.openSessionPopup();\r\n }\r\n\r\n if (error.status) {\r\n this.sessionService.chechResponse(req);\r\n }\r\n }\r\n )\r\n );\r\n };\r\n\r\n if (\r\n this.sessionService.waitingForRefreshToken &&\r\n req.url.indexOf('/general/refreshsession') === -1\r\n ) {\r\n return this.waitRefreshToken(request);\r\n } else {\r\n return request();\r\n }\r\n }\r\n\r\n private waitRefreshToken(request) {\r\n return this.sessionService.refreshToken.pipe(switchMap(request));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient\r\n} from '@angular/common/http';\r\n\r\nimport { ApiClientService } from './../../shared/services/api-client.service';\r\nimport { AB_API_REFRESH_SESSION } from './../../shared/constants';\r\nimport { Subject } from 'rxjs';\r\nimport { tap, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionService extends ApiClientService {\r\n private callDone = new Subject();\r\n private waitOtherRequest = new Subject();\r\n private waiting = false;\r\n private _waitingOtherRequest = false;\r\n private requests = new Map();\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_REFRESH_SESSION);\r\n }\r\n\r\n get refreshToken() {\r\n return this.callDone.asObservable();\r\n }\r\n\r\n get waitingForRefreshToken() {\r\n return this.waiting;\r\n }\r\n\r\n set waitingOtherRequest(value) {\r\n this._waitingOtherRequest = value;\r\n\r\n if (!value) {\r\n this.waitOtherRequest.next(true);\r\n this.waitOtherRequest.complete();\r\n this.waitOtherRequest = new Subject();\r\n }\r\n }\r\n\r\n refreshSession() {\r\n const refresh = () => {\r\n this.waiting = true;\r\n return this.get().pipe(\r\n tap(\r\n () => {},\r\n () => {\r\n this.refreshTokenOver();\r\n },\r\n () => {\r\n this.refreshTokenOver();\r\n }\r\n )\r\n );\r\n };\r\n\r\n if (this._waitingOtherRequest) {\r\n return this.refreshTokenWait(refresh);\r\n } else {\r\n return refresh();\r\n }\r\n }\r\n\r\n setRequset(req) {\r\n this.requests.set(req.url, true);\r\n }\r\n\r\n public chechResponse(req) {\r\n if (this.requests.has(req.url)) {\r\n this.requests.delete(req.url);\r\n }\r\n\r\n if (this.requests.size === 0) {\r\n this.waitingOtherRequest = false;\r\n }\r\n }\r\n\r\n private refreshTokenWait(request) {\r\n return this.waitOtherRequest.asObservable().pipe(switchMap(request));\r\n }\r\n\r\n private refreshTokenOver() {\r\n this.callDone.next(true);\r\n this.waiting = false;\r\n this.callDone.complete();\r\n this.callDone = new Subject();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SessionInterceptorService } from './services/session-interceptor.service';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { IdleConfigService } from './services/idle-config.service';\r\nimport { SessionExpiryPopupComponent } from './components/session-expiry-popup/session-expiry-popup.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nconst SessionComponents = [\r\n { name: 'SessionExpiryPopup', type: SessionExpiryPopupComponent }\r\n];\r\n\r\n@NgModule({\r\n declarations: [SessionExpiryPopupComponent],\r\n imports: [CommonModule, SharedModule],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: SessionInterceptorService,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class SessionModule {\r\n constructor(idleConfigService: IdleConfigService) {\r\n idleConfigService.configIdle();\r\n }\r\n}\r\n\r\nexport { SessionComponents };\r\n","import { AbDatePipe } from '../pipes/ab-date.pipe';\r\nimport { Inject, LOCALE_ID, PLATFORM_ID, Injectable } from '@angular/core';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { Moment } from 'moment';\r\n\r\n@Injectable()\r\nexport class AbDateAdapter extends MomentDateAdapter {\r\n constructor(\r\n private abDatePipe: AbDatePipe,\r\n @Inject(LOCALE_ID) locale: string,\r\n @Inject(PLATFORM_ID) platformId: any\r\n ) {\r\n super(locale, platformId);\r\n }\r\n\r\n format(value: Moment) {\r\n return this.abDatePipe.transform(value);\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n AB_DASHBOARD_URL,\r\n AB_ACCESS_DENIED_REDIRECT_INTERVAL\r\n} from '../../constants';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss/layout';\r\n\r\n@Component({\r\n selector: 'ab-access-denied',\r\n templateUrl: './access-denied.component.html',\r\n styleUrls: ['./access-denied.component.scss']\r\n})\r\nexport class AccessDeniedComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n @Input() stopTimer = false;\r\n constructor(private router: Router) {}\r\n\r\n ngOnInit() {\r\n if (!this.stopTimer) {\r\n setTimeout(() => {\r\n this.router.navigate([AB_DASHBOARD_URL]);\r\n }, AB_ACCESS_DENIED_REDIRECT_INTERVAL);\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n

    \r\n

    \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport { Item, Field } from '@sitecore-jss/sitecore-jss/layout';\r\nimport {\r\n ToAccountsListForTransfersResponse,\r\n IBankAccountListItem,\r\n IBasicAddress\r\n} from '../../../transfers/services/to-accounts.service';\r\nimport {\r\n trigger,\r\n style,\r\n transition,\r\n animate,\r\n AnimationEvent\r\n} from '@angular/animations';\r\nimport { fromEvent, Observable, Subject } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { GetItemListFieldsService } from '../../services/get-item-list-fields.service';\r\nimport {\r\n ISecurityAddressBook,\r\n IAddressBookAction\r\n} from '../../interfaces/address-book.interfaces';\r\n\r\nenum ADDRESS_BOOK_TABS {\r\n Personal,\r\n Companies,\r\n Animation\r\n}\r\n\r\nconst tabAnimation = [\r\n transition(':enter', [\r\n style({\r\n opacity: 0\r\n }),\r\n animate(800)\r\n ]),\r\n transition(':leave', [animate(200, style({ opacity: 0 }))])\r\n];\r\n\r\n@Component({\r\n selector: 'ab-address-book',\r\n templateUrl: './address-book.component.html',\r\n styleUrls: ['./address-book.component.scss'],\r\n animations: [\r\n trigger('changeTabPersonal', tabAnimation),\r\n trigger('changeTabCompanies', tabAnimation)\r\n ]\r\n})\r\nexport class AddressBookComponent implements OnInit {\r\n @Input() personalTabNotPermission: TemplateRef;\r\n @Input() internalTransferDisabled: TemplateRef;\r\n @Input() externalTransferDisabled: TemplateRef;\r\n @Input() billTransferDisabled: TemplateRef;\r\n\r\n @Input() items: { [key: string]: Item };\r\n @Input() data: ToAccountsListForTransfersResponse;\r\n @Input() securityAddressBook: ISecurityAddressBook;\r\n @Input() pageMode: boolean;\r\n @Input() companiesActions: IAddressBookAction[];\r\n @Input() beneficiariesActions: IAddressBookAction[];\r\n @Output() onSelect = new EventEmitter();\r\n @Output() addAddress = new EventEmitter();\r\n @Output() tabChange = new EventEmitter();\r\n\r\n @ViewChild('searchInput', { static: true }) searchInput: ElementRef;\r\n\r\n private _companiesList: { [key: string]: any[] } = {};\r\n private _ownAccountList: IBankAccountListItem[];\r\n private _beneficiariesList: { [key: string]: IBasicAddress[] } = {};\r\n private _searchSubject;\r\n\r\n public tabs: { [key: string]: Item };\r\n public addressBookTabs = ADDRESS_BOOK_TABS;\r\n public selectedTab: ADDRESS_BOOK_TABS = ADDRESS_BOOK_TABS.Personal;\r\n public search: string;\r\n public personalSearch: Field;\r\n public companiesSearch: Field;\r\n public ownAccountList: Observable;\r\n public beneficiariesList: Observable<{ [key: string]: IBasicAddress[] }>;\r\n public companiesList: Observable<{ [key: string]: any[] }>;\r\n public showOwnAccounts = true;\r\n public isEmpty = false;\r\n public ownAccountListEmpty = false;\r\n public beneficiariesListEmpty = false;\r\n\r\n constructor(private getItemListFieldsService: GetItemListFieldsService) {}\r\n\r\n ngOnInit() {\r\n this.pageMode = !!this.pageMode;\r\n this.tabs = this.getItemListFieldsService.getItems(\r\n this.items.tabs.fields.items as Item[]\r\n );\r\n\r\n this.personalSearch = this.items.personalSearch.fields.label as Field;\r\n this.companiesSearch = this.items.companiesSearch.fields.label as Field;\r\n\r\n this.initPersonalList();\r\n this.initCompaniesList();\r\n\r\n this.ownAccountList = this.searchObservable.pipe(\r\n startWith(null),\r\n map(event => {\r\n const result = this.filterOwnAccounts(event);\r\n // setTimeout prevent console error for changeing the value\r\n setTimeout(() => {\r\n this.ownAccountListEmpty = result.length === 0;\r\n });\r\n\r\n return result;\r\n })\r\n );\r\n\r\n this.companiesList = this.searchObservable.pipe(\r\n startWith(null),\r\n map(event => {\r\n const result = this.filterLetterArray(event, this._companiesList);\r\n // setTimeout prevent console error for changeing the value\r\n setTimeout(() => {\r\n this.isEmpty = Object.keys(result).length === 0;\r\n });\r\n\r\n return result;\r\n })\r\n );\r\n\r\n this.beneficiariesList = this.searchObservable.pipe(\r\n startWith(null),\r\n map(event => {\r\n const result = this.filterLetterArray(event, this._beneficiariesList);\r\n // setTimeout prevent console error for changeing the value\r\n setTimeout(() => {\r\n this.beneficiariesListEmpty = Object.keys(result).length === 0;\r\n });\r\n\r\n return result;\r\n })\r\n );\r\n\r\n if (\r\n this.securityAddressBook.hideContacts &&\r\n this.securityAddressBook.hideOwnAccounts\r\n ) {\r\n this.selectedTab = ADDRESS_BOOK_TABS.Companies;\r\n }\r\n\r\n this.tabChange.emit(this.selectedTab);\r\n }\r\n\r\n selectTab(tab: ADDRESS_BOOK_TABS) {\r\n if (tab === this.selectedTab) {\r\n return;\r\n }\r\n\r\n this.selectedTab = this.isEmpty ? tab : ADDRESS_BOOK_TABS.Animation;\r\n if (this.isEmpty) {\r\n this.tabChange.emit(this.selectedTab);\r\n }\r\n\r\n this.isEmpty = false;\r\n }\r\n\r\n setOdd(i: number) {\r\n return i % 2 === 0;\r\n }\r\n\r\n select(item: any) {\r\n this.onSelect.emit(item);\r\n }\r\n\r\n trackByFn(index, item) {\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n return item.accountNumber;\r\n }\r\n\r\n clearValue() {\r\n this.search = '';\r\n this._searchSubject.next();\r\n }\r\n\r\n captureDoneEvent(event: AnimationEvent, tab: ADDRESS_BOOK_TABS) {\r\n if (event.toState === 'void') {\r\n this.selectedTab = tab;\r\n this.tabChange.emit(this.selectedTab);\r\n }\r\n }\r\n\r\n triggerAddAddress() {\r\n this.addAddress.emit(true);\r\n }\r\n\r\n private initPersonalList() {\r\n let letter: string;\r\n\r\n if (this.data.beneficiariesAddresses) {\r\n this.data.beneficiariesAddresses.forEach(beneficiary => {\r\n if (\r\n !letter ||\r\n (beneficiary.name && letter !== beneficiary.name[0].toUpperCase())\r\n ) {\r\n letter = beneficiary.name[0].toUpperCase();\r\n this._beneficiariesList[letter] = [];\r\n }\r\n\r\n this._beneficiariesList[letter].push(beneficiary);\r\n });\r\n }\r\n\r\n if (this.data.ownBankAccounts) {\r\n this._ownAccountList = this.data.ownBankAccounts.sort((first, second) => {\r\n const firstName = this.getNameValue(first).toLocaleLowerCase();\r\n const secondName = this.getNameValue(second).toLocaleLowerCase();\r\n if (firstName > secondName) {\r\n return 1;\r\n }\r\n\r\n if (firstName < secondName) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n this.showOwnAccounts =\r\n this._ownAccountList.length > 0 &&\r\n !this.securityAddressBook.hideOwnAccounts;\r\n }\r\n }\r\n\r\n private get searchObservable(): Observable {\r\n if (!this._searchSubject) {\r\n this._searchSubject = new Subject();\r\n\r\n fromEvent(\r\n this.searchInput.nativeElement,\r\n 'input'\r\n ).subscribe(event => {\r\n this._searchSubject.next(event);\r\n });\r\n }\r\n\r\n return this._searchSubject.asObservable();\r\n }\r\n\r\n private initCompaniesList() {\r\n let letter: string;\r\n if (this.data.billPayeesCompanies) {\r\n this.data.billPayeesCompanies.forEach(company => {\r\n if (\r\n !letter ||\r\n (company.name && letter !== company.name[0].toUpperCase())\r\n ) {\r\n letter = company.name[0].toUpperCase();\r\n this._companiesList[letter] = [];\r\n }\r\n\r\n this._companiesList[letter].push(company);\r\n });\r\n }\r\n }\r\n\r\n private getNameValue(item): string {\r\n return item.name || item.alias || item.description;\r\n }\r\n\r\n private filterOwnAccounts(event) {\r\n if (!this.search) {\r\n return this._ownAccountList;\r\n }\r\n\r\n return this._ownAccountList.filter(account => {\r\n return (\r\n this.getNameValue(account)\r\n .toLocaleLowerCase()\r\n .indexOf(this.search.toLocaleLowerCase()) !== -1 ||\r\n account.accountNumber.indexOf(this.search) !== -1\r\n );\r\n });\r\n }\r\n\r\n private filterLetterArray(event, data: { [key: string]: any[] }) {\r\n if (!this.search) {\r\n return data;\r\n }\r\n\r\n const search = this.search.toLocaleLowerCase();\r\n\r\n return Object.keys(data).reduce((result, key) => {\r\n const filterdData = data[key].filter(item => {\r\n return (\r\n this.getNameValue(item)\r\n .toLocaleLowerCase()\r\n .indexOf(search) !== -1 ||\r\n item.accountNumber.toLocaleLowerCase().indexOf(search) !== -1 ||\r\n (item.alias && item.alias.toLocaleLowerCase().indexOf(search) !== -1)\r\n );\r\n });\r\n\r\n if (filterdData.length !== 0) {\r\n result[key] = filterdData;\r\n }\r\n\r\n return result;\r\n }, {});\r\n }\r\n}\r\n\r\nexport { ADDRESS_BOOK_TABS };\r\n","\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{ personal.alias || personal.description }}\r\n \r\n {{ personal.accountNumber }}\r\n \r\n {{ personal.portfolioName }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.key }}\r\n \r\n \r\n \r\n \r\n {{ beneficiary.name }}\r\n \r\n \r\n {{ beneficiary.alias }}\r\n \r\n \r\n {{ beneficiary.accountNumber || beneficiary.iban }}\r\n \r\n \r\n {{\r\n beneficiary.bank || beneficiary.bicCode || beneficiary.aba\r\n }}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ action.tooltip + ' ' + beneficiary.name }}\r\n
    \r\n \r\n {{ action.disbledTooltip }}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.key }}\r\n \r\n \r\n \r\n \r\n {{ company.name }}\r\n \r\n \r\n {{ company.accountNumber }}\r\n \r\n \r\n {{ company.bank }}\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n {{ action.tooltip + ' ' + company.name }}\r\n
    \r\n
    \r\n {{ action.disbledTooltip }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n Optional,\r\n Host,\r\n SkipSelf,\r\n forwardRef,\r\n Input,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport {\r\n ControlContainer,\r\n NG_VALUE_ACCESSOR,\r\n ControlValueAccessor,\r\n AbstractControl,\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators,\r\n Validator,\r\n NG_VALIDATORS\r\n} from '@angular/forms';\r\nimport { FormFields } from '../../services/form-fields-generator.service';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { FormAllFieldsValidationService } from '../../services/form-all-fields-validation.service';\r\n\r\n@Component({\r\n selector: 'ab-address',\r\n templateUrl: './address.component.html',\r\n styleUrls: ['./address.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AddressComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => AddressComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AddressComponent\r\n implements OnInit, OnDestroy, Validator, ControlValueAccessor {\r\n @Input() formFields: FormFields;\r\n @Input() rendering: ComponentRendering;\r\n @Input() formControlName: string;\r\n @Input() showSaveAddressCheckbox = false;\r\n\r\n public addressForm = new UntypedFormGroup({\r\n streetName: new UntypedFormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(37)\r\n ]),\r\n houseNumber: new UntypedFormControl(null, Validators.maxLength(6)),\r\n city: new UntypedFormControl(null, [\r\n Validators.required,\r\n Validators.maxLength(35)\r\n ]),\r\n ZIPCode: new UntypedFormControl(null, Validators.maxLength(10)),\r\n country: new UntypedFormControl(null, Validators.required)\r\n });\r\n\r\n public onTouched;\r\n\r\n private formControl: AbstractControl;\r\n\r\n constructor(\r\n @Optional()\r\n @Host()\r\n @SkipSelf()\r\n private controlContainer: ControlContainer,\r\n private formAllFieldsValidationService: FormAllFieldsValidationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.formControl = this.controlContainer.control.get(this.formControlName);\r\n this.formControl.enable();\r\n this.formAllFieldsValidationService.addSubForms(this.addressForm);\r\n\r\n if (this.showSaveAddressCheckbox) {\r\n this.addressForm.addControl(\r\n 'saveBeneficiaryAddress',\r\n new UntypedFormControl(false)\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.formControl) {\r\n this.formControl.disable();\r\n this.formControl.setValue(null);\r\n this.formControl.clearValidators();\r\n }\r\n }\r\n\r\n get streetName() {\r\n return this.addressForm.get('streetName');\r\n }\r\n\r\n get city() {\r\n return this.addressForm.get('city');\r\n }\r\n\r\n get houseNumber() {\r\n return this.addressForm.get('houseNumber');\r\n }\r\n\r\n get ZIPCode() {\r\n return this.addressForm.get('ZIPCode');\r\n }\r\n\r\n get country() {\r\n return this.addressForm.get('country');\r\n }\r\n\r\n writeValue(value) {\r\n if (!value) {\r\n this.addressForm.reset(\r\n {\r\n streetName: null,\r\n houseNumber: null,\r\n city: null,\r\n ZIPCode: null,\r\n country: null\r\n },\r\n { emitEvent: false }\r\n );\r\n } else {\r\n this.addressForm.setValue(value, { emitEvent: false });\r\n }\r\n }\r\n\r\n registerOnChange(fn) {\r\n this.addressForm.valueChanges.subscribe(fn);\r\n }\r\n\r\n registerOnTouched(fn) {\r\n this.onTouched = fn;\r\n }\r\n\r\n validate() {\r\n if (this.addressForm.invalid) {\r\n return { invalid: true };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n {{\r\n formFields.genericErrors.validationInvalidStreetNameLength.message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{\r\n formFields.genericErrors.validationInvalidHouseNumberLength\r\n .message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{\r\n formFields.genericErrors.required.message\r\n }}\r\n {{\r\n formFields.genericErrors.validationInvalidCityLength.message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{\r\n formFields.genericErrors.validationInvalidZIpCodeLength.message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{\r\n formFields.genericErrors.required.message\r\n }}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Optional,\r\n Host,\r\n SkipSelf,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NG_VALIDATORS,\r\n Validator,\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators,\r\n ValidationErrors,\r\n ControlContainer,\r\n AbstractControl\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormFields } from '../../../shared/services/form-fields-generator.service';\r\nimport {\r\n BankService,\r\n IBankInfo\r\n} from '../../../transfers/services/bank.service';\r\nimport { FormAllFieldsValidationService } from '../../../shared/services/form-all-fields-validation.service';\r\nimport TRANSFER_TYPE from '../../../transfers/enums/transfer-type';\r\nimport {\r\n StateService,\r\n IFinalState,\r\n IState\r\n} from '../../../transfers/services/state.service';\r\nimport { IBillPayees } from '../../../transfers/services/to-accounts.service';\r\n\r\n@Component({\r\n selector: 'ab-bank-list',\r\n templateUrl: './bank-list.component.html',\r\n styleUrls: ['./bank-list.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: forwardRef(() => BankListComponent)\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => BankListComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class BankListComponent\r\n implements OnInit, Validator, ControlValueAccessor, OnDestroy {\r\n @Input() formFields: FormFields;\r\n @Input() formControlName: string;\r\n @Input() withoutState: boolean;\r\n @Input() withoutLabel: boolean;\r\n @Input() skipDestroy: boolean;\r\n\r\n public bankList: IBankInfo[];\r\n public onTouched: Function;\r\n public onChange: Function;\r\n public selectedBank: IBankInfo;\r\n private prefilledValue: string;\r\n protected transferType: TRANSFER_TYPE;\r\n private isAba = false;\r\n\r\n public bankFormGroup = new UntypedFormGroup({\r\n domesticBeneficiaryBank: new UntypedFormControl(null, Validators.required)\r\n });\r\n protected subscriptions: { [key: string]: Subscription } = {};\r\n\r\n protected formControl: AbstractControl;\r\n\r\n get domesticBeneficiaryBank() {\r\n return this.bankFormGroup.get('domesticBeneficiaryBank');\r\n }\r\n\r\n constructor(\r\n @Optional()\r\n @Host()\r\n @SkipSelf()\r\n protected controlContainer: ControlContainer,\r\n protected stateService: StateService,\r\n protected bankService: BankService,\r\n protected formAllFieldsValidationService: FormAllFieldsValidationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.formControl = this.controlContainer.control.get(this.formControlName);\r\n this.formControl.enable();\r\n this.formAllFieldsValidationService.addSubForms(this.bankFormGroup);\r\n\r\n if (this.withoutState) {\r\n this.bankService.getBankByCountry().subscribe(banks => {\r\n this.bankList = banks;\r\n this.updateForm(0);\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.stateService.setProp(IState.domesticBeneficiaryBank, {});\r\n\r\n this.subscriptions.valueChanges = this.domesticBeneficiaryBank.valueChanges.subscribe(\r\n value => {\r\n if (value) {\r\n this.stateService.setProp(IState.domesticBeneficiaryBank, value);\r\n }\r\n }\r\n );\r\n\r\n this.subscriptions.stateSubscription = this.stateService\r\n .getState()\r\n .subscribe(state => this.updateState(state));\r\n }\r\n\r\n updateState(state: IFinalState) {\r\n if (state && state.transferType) {\r\n this.transferType = state.transferType;\r\n this.bankService.getBankByCountry().subscribe(banks => {\r\n this.bankList = banks;\r\n this.updateForm();\r\n });\r\n }\r\n }\r\n\r\n updateForm(transferType?: TRANSFER_TYPE) {\r\n const type =\r\n transferType || transferType === 0 ? transferType : this.transferType;\r\n\r\n if (this.prefilledValue) {\r\n const prefilledBank = this.bankList.filter(bank => {\r\n if (\r\n this.isAba &&\r\n bank.abaCode.toLocaleLowerCase() ===\r\n this.prefilledValue.toLocaleLowerCase()\r\n ) {\r\n return bank;\r\n }\r\n\r\n if (bank.bicCode.toLowerCase() === this.prefilledValue.toLowerCase()) {\r\n return bank;\r\n }\r\n })[0];\r\n\r\n this.selectBank(prefilledBank);\r\n if (type !== TRANSFER_TYPE.default) {\r\n this.prefilledValue = null;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (type === TRANSFER_TYPE.billPayee) {\r\n const toAccount = this.stateService.getPropValue(IState.toAccount)\r\n .value as IBillPayees,\r\n arubaBank = this.bankList.filter(bank => {\r\n if (\r\n toAccount.bicCode &&\r\n bank.bicCode.toLowerCase() === toAccount.bicCode.toLowerCase()\r\n ) {\r\n return bank;\r\n }\r\n });\r\n\r\n this.selectBank(arubaBank[0]);\r\n } else {\r\n this.bankFormGroup.reset();\r\n }\r\n }\r\n\r\n selectBank(bank: any) {\r\n this.bankFormGroup.controls['domesticBeneficiaryBank'].setValue(bank);\r\n this.stateService.setProp(IState.domesticBeneficiaryBank, bank);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stateService.setProp(IState.domesticBeneficiaryBank, {});\r\n\r\n Object.keys(this.subscriptions).forEach(subscription => {\r\n this.subscriptions[subscription].unsubscribe();\r\n });\r\n\r\n if (!this.skipDestroy) {\r\n this.formControl.clearValidators();\r\n this.formControl.disable();\r\n this.formControl.markAsPristine();\r\n this.formControl.markAsUntouched();\r\n this.formControl.patchValue(null);\r\n }\r\n }\r\n\r\n writeValue(value) {\r\n if (!value) {\r\n this.selectedBank = value;\r\n this.prefilledValue = null;\r\n this.bankFormGroup.reset(\r\n { domesticBeneficiaryBank: null },\r\n { emitEvent: false }\r\n );\r\n } else {\r\n this.prefilledValue = value.bicCode;\r\n\r\n if (value.value) {\r\n this.prefilledValue = value.value;\r\n\r\n if (value.code && value.code === 'ABA') {\r\n this.isAba = true;\r\n }\r\n }\r\n\r\n if (this.bankList && this.bankList.length !== 0) {\r\n this.updateForm(0);\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.domesticBeneficiaryBank.valueChanges.subscribe(fn);\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n validate(): ValidationErrors | null {\r\n if (this.bankFormGroup.valid) {\r\n return null;\r\n }\r\n\r\n if (\r\n this.bankFormGroup.invalid &&\r\n this.domesticBeneficiaryBank.errors &&\r\n this.domesticBeneficiaryBank.errors.required\r\n ) {\r\n return { required: true };\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ bank.name }}\r\n \r\n \r\n {{ formFields.genericErrors.required.message }}\r\n
    \r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n ViewChild,\r\n forwardRef,\r\n Optional,\r\n Host,\r\n SkipSelf,\r\n DoCheck,\r\n RendererFactory2,\r\n Renderer2,\r\n OnDestroy,\r\n AfterViewInit,\r\n} from \"@angular/core\";\r\nimport { ComponentRendering } from \"@sitecore-jss/sitecore-jss-angular\";\r\nimport {\r\n CountryListResponse,\r\n CountryListService,\r\n} from \"../../../transfers/services/country-list.service\";\r\nimport { FormFieldsGeneratorService } from \"../../services/form-fields-generator.service\";\r\nimport { DialogStateService } from \"../../../dialogs/services/dialog-state.service\";\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n ControlContainer,\r\n AbstractControl,\r\n} from \"@angular/forms\";\r\nimport { MatLegacySelect } from \"@angular/material/legacy-select\";\r\nimport { FormAllFieldsValidationService } from \"../../services/form-all-fields-validation.service\";\r\nimport { Subscription } from \"rxjs/internal/Subscription\";\r\n\r\ninterface ICountry {\r\n countryName: string;\r\n countryCode: string;\r\n hidden?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: \"ab-country-list\",\r\n templateUrl: \"./country-list.component.html\",\r\n styleUrls: [\"./country-list.component.scss\"],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CountryListComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CountryListComponent\r\n implements OnInit, DoCheck, ControlValueAccessor, OnDestroy, AfterViewInit\r\n{\r\n @Input() rendering: ComponentRendering;\r\n @ViewChild(MatLegacySelect, { static: true }) matSelect: MatLegacySelect;\r\n @Input() formControlName: string;\r\n @Input() hideLabel: boolean;\r\n\r\n public formFields: any;\r\n public countryList: ICountry[] = [];\r\n public countryListDropDown: ICountry[] = [];\r\n public selectedCountryName: string;\r\n public onTouched;\r\n\r\n private formControl: AbstractControl;\r\n private prefilledValue: string;\r\n private renderer: Renderer2;\r\n private positionChangeSubscription: Subscription;\r\n\r\n public countryForm = new UntypedFormGroup({\r\n country: new UntypedFormControl(),\r\n });\r\n\r\n get country() {\r\n return this.countryForm.get(\"country\");\r\n }\r\n\r\n constructor(\r\n @Optional()\r\n @Host()\r\n @SkipSelf()\r\n private controlContainer: ControlContainer,\r\n private countyListService: CountryListService,\r\n private formFieldsGeneratorService: FormFieldsGeneratorService,\r\n private dialogStateService: DialogStateService,\r\n private formAllFieldsValidationService: FormAllFieldsValidationService,\r\n rendererFactory: RendererFactory2\r\n ) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n }\r\n\r\n ngOnInit() {\r\n this.formControl = this.controlContainer.control.get(this.formControlName);\r\n this.country.setValidators(this.formControl.validator);\r\n this.formFields = this.formFieldsGeneratorService.generateFormFields(\r\n this.rendering\r\n ) as any;\r\n this.getCountryList();\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this.positionChangeSubscription = this.matSelect.overlayDir.positionChange.subscribe(\r\n // () => {\r\n // this.setPosition(\r\n // this.matSelect._overlayPanelClass.overlayRef.overlayElement,\r\n // 'left',\r\n // 7\r\n // );\r\n // if (this.matSelect.overlayDir.overlayRef.overlayElement.style.top) {\r\n // this.setPosition(\r\n // this.matSelect.overlayDir.overlayRef.overlayElement,\r\n // 'top',\r\n // 31\r\n // );\r\n // } else {\r\n // this.setPosition(\r\n // this.matSelect.overlayDir.overlayRef.overlayElement,\r\n // 'bottom',\r\n // 33\r\n // );\r\n // }\r\n // }\r\n // );\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.positionChangeSubscription) {\r\n this.positionChangeSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.formControl.dirty && this.formControl.touched) {\r\n this.formAllFieldsValidationService.validation(this.countryForm);\r\n }\r\n }\r\n\r\n onOpenedChange(value) {\r\n if (value) {\r\n this.renderer.addClass(document.body, \"menu-opened\");\r\n } else {\r\n this.renderer.removeClass(document.body, \"menu-opened\");\r\n }\r\n }\r\n\r\n getCountryList() {\r\n this.countyListService\r\n .get()\r\n .subscribe((response) => this.handleResponse(response));\r\n }\r\n\r\n handleResponse(response: CountryListResponse) {\r\n const orderArray =\r\n this.formFields.fields.intCountry.shortListCountries.value\r\n .toLowerCase()\r\n .split(\", \");\r\n if (response.list) {\r\n Object.keys(response.list).forEach((key) => {\r\n this.countryList.push({\r\n countryCode: key,\r\n countryName: response.list[key],\r\n });\r\n\r\n const index = orderArray.indexOf(key);\r\n\r\n if (index !== -1) {\r\n this.countryListDropDown[index] = {\r\n countryCode: key,\r\n countryName: response.list[key],\r\n };\r\n }\r\n });\r\n\r\n if (this.prefilledValue) {\r\n this.setPrefilledToForm();\r\n }\r\n }\r\n }\r\n\r\n openDialog() {\r\n this.matSelect.close();\r\n this.dialogStateService\r\n .openDialog(\"countryList\", this.countryList)\r\n .subscribe((result: ICountry) => {\r\n if (result) {\r\n result.hidden = true;\r\n this.countryListDropDown.push(result);\r\n this.country.setValue(result);\r\n }\r\n });\r\n }\r\n\r\n writeValue(value) {\r\n if (!value) {\r\n this.countryForm.reset(\r\n {\r\n country: null,\r\n },\r\n {\r\n emitEvent: false,\r\n }\r\n );\r\n } else {\r\n this.prefilledValue = value.countryCode\r\n ? value.countryCode.toLowerCase()\r\n : value.toLowerCase();\r\n\r\n if (this.countryList && this.countryList.length !== 0) {\r\n this.setPrefilledToForm();\r\n } else {\r\n this.country.setValue(null, { emitEvent: true });\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn) {\r\n this.country.valueChanges.subscribe(fn);\r\n }\r\n\r\n registerOnTouched(fn) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setPosition(\r\n element: HTMLElement,\r\n propertyName: string,\r\n increaseValue: number\r\n ) {\r\n let position = 0;\r\n position = parseFloat(element.style[propertyName].replace(\"px\", \"\"));\r\n\r\n position = position + increaseValue;\r\n\r\n element.style[propertyName] = `${position}px`;\r\n }\r\n\r\n private setPrefilledToForm() {\r\n let prefilledCountry;\r\n this.countryListDropDown.some((country) => {\r\n if (country.countryCode === this.prefilledValue) {\r\n prefilledCountry = country;\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n if (!prefilledCountry) {\r\n this.countryList.some((country) => {\r\n if (country.countryCode === this.prefilledValue) {\r\n prefilledCountry = country;\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n\r\n prefilledCountry.hidden = true;\r\n this.countryListDropDown.push(prefilledCountry);\r\n }\r\n\r\n setTimeout(() => {\r\n this.countryForm.setValue({\r\n country: prefilledCountry,\r\n });\r\n });\r\n\r\n this.prefilledValue = null;\r\n }\r\n}","
    \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n country.value ? country.value.countryName : ''\r\n }}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    {{ country.countryName }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n","import { Component, forwardRef, Input, OnInit, DoCheck } from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n UntypedFormControl,\r\n Validator,\r\n ValidationErrors,\r\n NG_VALIDATORS,\r\n UntypedFormGroup,\r\n Validators,\r\n AbstractControl\r\n} from '@angular/forms';\r\nimport { ICurrency } from '../../interfaces/currency.interface';\r\nimport { FormInputField } from '../../services/form-fields-generator.service';\r\nimport { FormAllFieldsValidationService } from '../../services/form-all-fields-validation.service';\r\nimport { RangeValidator } from '../../../validators/functions/range-validation';\r\n\r\n@Component({\r\n selector: 'ab-currency-input',\r\n templateUrl: './currency-input.component.html',\r\n styleUrls: ['./currency-input.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CurrencyInputComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => CurrencyInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CurrencyInputComponent\r\n implements ControlValueAccessor, Validator, OnInit, DoCheck {\r\n @Input() maxlength: number;\r\n @Input() placeholder: string;\r\n @Input() field: FormInputField;\r\n @Input() formControl: UntypedFormControl;\r\n @Input() amountRequired: boolean;\r\n\r\n @Input() set rangeMin(value) {\r\n if (!this._rangeMin) {\r\n this._rangeMin = value;\r\n return;\r\n }\r\n\r\n this._rangeMin = value;\r\n\r\n this.currencyForm.get('amount').clearValidators();\r\n\r\n const validatiors = [];\r\n\r\n if (this.amountRequired) {\r\n validatiors.push(Validators.required);\r\n }\r\n\r\n if (this.rangeMax && this.rangeMin) {\r\n validatiors.push(RangeValidator(this._rangeMin, this.rangeMax));\r\n }\r\n\r\n this.currencyForm.get('amount').setValidators(validatiors);\r\n this.currencyForm.get('amount').updateValueAndValidity();\r\n }\r\n\r\n @Input() rangeMax: number;\r\n @Input() amountExceedsLimit: boolean;\r\n private _notAllowedCurrency: boolean;\r\n private _rangeMin: number;\r\n\r\n get rangeMin() {\r\n return this._rangeMin;\r\n }\r\n\r\n @Input('notAllowedCurrency') set allowedCurrency(value: boolean) {\r\n if (this._notAllowedCurrency && this._notAllowedCurrency !== value) {\r\n this._notAllowedCurrency = value;\r\n this.currencyCode.setErrors(null);\r\n\r\n this.currencyForm.updateValueAndValidity();\r\n return;\r\n }\r\n\r\n this._notAllowedCurrency = value;\r\n }\r\n\r\n get notAllowedCurrency(): boolean {\r\n return this._notAllowedCurrency;\r\n }\r\n\r\n @Input() currencyInput: string;\r\n\r\n public currencyForm = new UntypedFormGroup({\r\n amount: new UntypedFormControl(null),\r\n currencyCode: new UntypedFormControl(null)\r\n });\r\n\r\n private onChange;\r\n private onTouched;\r\n private initValueDone = false;\r\n get currencyCode() {\r\n return this.currencyForm.get('currencyCode');\r\n }\r\n constructor(\r\n private formAllFieldsValidationService: FormAllFieldsValidationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.formAllFieldsValidationService.addSubForms(this.currencyForm);\r\n\r\n const validatiors = [];\r\n\r\n if (this.amountRequired) {\r\n validatiors.push(Validators.required);\r\n }\r\n\r\n if (this.rangeMax && this.rangeMin) {\r\n validatiors.push(RangeValidator(this.rangeMin, this.rangeMax));\r\n }\r\n\r\n this.currencyForm.get('amount').setValidators(validatiors);\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.amountExceedsLimit || this.notAllowedCurrency) {\r\n this.currencyForm.updateValueAndValidity();\r\n }\r\n\r\n if (this.formControl.hasError('lessThan')) {\r\n this.currencyForm.get('amount').setErrors({\r\n lessThan: true\r\n });\r\n } else if (this.currencyForm.get('amount').hasError('lessThan')) {\r\n this.currencyForm.get('amount').setErrors(null);\r\n this.currencyForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n writeValue(value: ICurrency) {\r\n if (value) {\r\n if (\r\n this.currencyForm.get('amount').value !== null &&\r\n value.amount === null\r\n ) {\r\n this.currencyForm.reset(value, { emitEvent: false });\r\n return;\r\n }\r\n\r\n if (this.currencyForm.get('amount').value === value.amount) {\r\n return this.currencyForm.patchValue({\r\n currencyCode: value.currencyCode\r\n });\r\n }\r\n\r\n if (!value.amount || !value.currencyCode) {\r\n this.currencyForm.patchValue(value);\r\n } else {\r\n this.currencyForm.setValue(value);\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChange = fn;\r\n this.currencyForm.valueChanges.subscribe(value => this.change(value));\r\n }\r\n\r\n change(value) {\r\n if (this.initValueDone && this.currencyForm.get('amount').dirty) {\r\n this.onChange(value);\r\n } else {\r\n this.initValueDone = true;\r\n }\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n touch() {\r\n this.onTouched();\r\n }\r\n\r\n validate(): ValidationErrors | null {\r\n if (\r\n this.rangeMin &&\r\n this.rangeMax &&\r\n this.currencyForm.value.amount !== null\r\n ) {\r\n const validation = RangeValidator(\r\n this.rangeMin,\r\n this.rangeMax\r\n )({\r\n value: this.currencyForm.value.amount\r\n } as AbstractControl);\r\n\r\n if (validation) {\r\n return validation;\r\n }\r\n }\r\n\r\n if (this.amountRequired && !this.currencyForm.value.amount) {\r\n return { required: true };\r\n }\r\n\r\n if (this.amountExceedsLimit) {\r\n this.currencyForm.get('amount').setErrors({\r\n amountExceedsLimit: true\r\n });\r\n return { amountExceedsLimit: true };\r\n }\r\n\r\n if (this.notAllowedCurrency) {\r\n this.currencyForm.get('currencyCode').setErrors({\r\n notAllowedCurrency: true\r\n });\r\n return { notAllowedCurrency: true };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n {{ value.fields.Label.value }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    {{ currencyCode.value }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validators\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { DialogStateService } from '../../../dialogs/services/dialog-state.service';\r\nimport {\r\n BulkTransferService,\r\n BULK_TRANSFER_TYPES\r\n} from './../../../transfers/services/bulk-transfer.service';\r\n\r\nimport { FormFields } from './../../services/form-fields-generator.service';\r\n\r\ninterface IFileUploadConfiguration {\r\n allowedExtensions: Array;\r\n maxFileSize: number;\r\n}\r\n\r\ninterface IFileInterface {\r\n file: File;\r\n format: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ab-file-upload-field',\r\n templateUrl: './file-upload-field.component.html',\r\n styleUrls: ['./file-upload-field.component.scss']\r\n})\r\nexport class FileUploadFieldComponent implements OnInit {\r\n @Input()\r\n public formFields: FormFields;\r\n\r\n @Input()\r\n public configuration: IFileUploadConfiguration;\r\n\r\n @Output()\r\n private onFileUpload: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('fileElement')\r\n fileElement: ElementRef;\r\n\r\n public selectedFile: File = null;\r\n public fileEmitted: boolean = false;\r\n\r\n public uploadForm = new UntypedFormGroup({\r\n file: new UntypedFormControl(''),\r\n format: new UntypedFormControl('', Validators.required)\r\n });\r\n\r\n public bulkFileStructures: any;\r\n\r\n private defaultConfiguration: IFileUploadConfiguration = {\r\n allowedExtensions: [],\r\n maxFileSize: 1000\r\n };\r\n\r\n private subscription: Subscription;\r\n\r\n get file() {\r\n return this.uploadForm.get('file');\r\n }\r\n\r\n get format() {\r\n return this.uploadForm.get('format');\r\n }\r\n\r\n constructor(\r\n private bulkTransferService: BulkTransferService,\r\n private dialogStateService: DialogStateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.configuration = Object.assign(\r\n this.defaultConfiguration,\r\n this.configuration\r\n );\r\n\r\n const values = [...this.formFields.fields.bulkFileStructures.values];\r\n\r\n const purposeOptions = {\r\n [BULK_TRANSFER_TYPES.INTERNATIONAL]: values.splice(2, 1),\r\n [BULK_TRANSFER_TYPES.DOMESTIC]: values.splice(0, 2)\r\n };\r\n this.bulkFileStructures = purposeOptions[BULK_TRANSFER_TYPES.DOMESTIC];\r\n\r\n this.subscription = this.bulkTransferService\r\n .getPurpose()\r\n .subscribe(purpose => {\r\n if (\r\n this.bulkTransferService.getTransferType(purpose) ===\r\n BULK_TRANSFER_TYPES.INTERNATIONAL\r\n ) {\r\n this.format.disable();\r\n this.deleteFile();\r\n this.bulkFileStructures =\r\n purposeOptions[BULK_TRANSFER_TYPES.INTERNATIONAL];\r\n } else {\r\n if (\r\n this.bulkFileStructures ===\r\n purposeOptions[BULK_TRANSFER_TYPES.INTERNATIONAL]\r\n ) {\r\n this.deleteFile();\r\n }\r\n this.format.enable();\r\n this.bulkFileStructures =\r\n purposeOptions[BULK_TRANSFER_TYPES.DOMESTIC];\r\n }\r\n\r\n this.format.setValue(this.bulkFileStructures[0].fields.Value.value);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n openUploadWindow($event: any) {\r\n $event.preventDefault();\r\n this.fileElement.nativeElement.click();\r\n }\r\n\r\n onFilesSelect($event) {\r\n this.fileEmitted = false;\r\n let file = $event.target.files[0];\r\n this.selectedFile = file;\r\n this.validateFile(file);\r\n }\r\n\r\n deleteFile() {\r\n this.selectedFile = null;\r\n this.file.reset();\r\n this.emitFile();\r\n }\r\n\r\n emitFile() {\r\n this.fileEmitted = true;\r\n this.onFileUpload.emit({\r\n file: this.selectedFile,\r\n format: this.format.value\r\n });\r\n }\r\n\r\n openExplainationDialog() {\r\n this.dialogStateService\r\n .openDialog('bulkStructureExplainationDialog')\r\n .subscribe();\r\n }\r\n\r\n private validateFile(file: File): boolean {\r\n this.file.markAsDirty();\r\n return file && this.validateExtension(file) && this.validateSize(file);\r\n }\r\n\r\n private validateExtension(file: File): boolean {\r\n let ext = file.name.split('.')[file.name.split('.').length - 1];\r\n if (\r\n this.configuration.allowedExtensions.lastIndexOf(ext.toLowerCase()) != -1\r\n ) {\r\n return true;\r\n }\r\n\r\n this.file.setErrors({\r\n type: true\r\n });\r\n return false;\r\n }\r\n\r\n private validateSize(file: File): boolean {\r\n if (file.size <= this.configuration.maxFileSize) {\r\n return true;\r\n }\r\n\r\n this.file.setErrors({\r\n size: true\r\n });\r\n return false;\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {{ value.fields.Label.value }}\r\n \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n {{ formFields.fields.select.label.value }}\r\n \r\n\r\n \r\n {{\r\n formFields.fields.revalidate.label.value\r\n }}\r\n {{\r\n formFields.fields.upload.label.value\r\n }}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n {{ formFields.genericErrors.required.message }}\r\n \r\n\r\n \r\n {{ formFields.genericErrors.validationInvalidFileType.message }}\r\n \r\n\r\n \r\n {{ formFields.genericErrors.validationInvalidFileSize.message }}\r\n \r\n
    \r\n \r\n
    \r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n Optional,\r\n Host,\r\n SkipSelf,\r\n OnDestroy,\r\n ElementRef,\r\n ViewChild,\r\n forwardRef,\r\n Output,\r\n EventEmitter\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n ControlContainer,\r\n AbstractControl,\r\n NG_VALUE_ACCESSOR,\r\n NG_VALIDATORS,\r\n UntypedFormGroup,\r\n UntypedFormControl,\r\n Validator,\r\n Validators\r\n} from '@angular/forms';\r\nimport { FormFields } from '../../services/form-fields-generator.service';\r\nimport { ComponentRendering, Field } from '@sitecore-jss/sitecore-jss-angular';\r\nimport { Item } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { GetItemListFieldsService } from '../../services/get-item-list-fields.service';\r\nimport {\r\n BankByBICResponse,\r\n BankByBICService\r\n} from '../../../transfers/services/bank-by-bic.service';\r\nimport { FormAllFieldsValidationService } from '../../services/form-all-fields-validation.service';\r\nimport { Subject } from 'rxjs';\r\nimport { ConfigurationSettingsContextService } from '../../services/configuration-settings-context.service';\r\nimport SwiftFeePayee from '../../../transfers/enums/swift-fee-payee';\r\n\r\n@Component({\r\n selector: 'ab-foreign-bank',\r\n templateUrl: './foreign-bank.component.html',\r\n styleUrls: ['./foreign-bank.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ForeignBankComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => ForeignBankComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class ForeignBankComponent\r\n implements OnInit, OnDestroy, ControlValueAccessor, Validator {\r\n @Input() formFields: FormFields;\r\n @Input() rendering: ComponentRendering;\r\n @Input() formControlName: string;\r\n @Input() hideCharges: boolean;\r\n @Output() beneficiaryBankName: EventEmitter = new EventEmitter();\r\n @Output() intermediaryBankName: EventEmitter = new EventEmitter();\r\n @ViewChild('beneficiaryBankValueInput') beneficiaryBankValueInput: ElementRef;\r\n @ViewChild('intermediaryBankValueInput')\r\n intermediaryBankValueInput: ElementRef;\r\n\r\n public bicValidators = [\r\n Validators.pattern('^(([a-zA-Z0-9 ]{8})*|([a-zA-Z0-9 ]{11}))*$'),\r\n Validators.minLength(this.validationPaymentsBICCodeMinLength),\r\n Validators.maxLength(this.validationPaymentsBICCodeLength)\r\n ];\r\n\r\n private abaValidators = [\r\n Validators.pattern('[0-9]+'),\r\n Validators.maxLength(this.validationAddressBookABALength),\r\n Validators.minLength(this.validationAddressBookABALength)\r\n ];\r\n\r\n public fields: { [key: string]: { [name: string]: Field } };\r\n public foreignBankForm = new UntypedFormGroup({\r\n swiftFeePayeeMethod: new UntypedFormControl('1', [Validators.required]),\r\n beneficiaryBankType: new UntypedFormControl(null),\r\n beneficiaryBankValue: new UntypedFormControl(null, [\r\n Validators.required,\r\n ...this.bicValidators\r\n ]),\r\n intermediaryBankType: new UntypedFormControl(null),\r\n intermediaryBankValue: new UntypedFormControl(null, this.bicValidators)\r\n });\r\n public onChange: Function;\r\n public onTouched: Function;\r\n public beneficiaryBank: BankByBICResponse = {};\r\n public intermediaryBank: BankByBICResponse = {};\r\n public beneficiaryBankMaxLength: number;\r\n public beneficiaryBankMinLength: number;\r\n public intermediaryBankMaxLength: number;\r\n public intermediaryBankMinLength: number;\r\n\r\n private formControl: AbstractControl;\r\n\r\n constructor(\r\n @Optional()\r\n @Host()\r\n @SkipSelf()\r\n private controlContainer: ControlContainer,\r\n private getItemListFieldsService: GetItemListFieldsService,\r\n protected bankByBICService: BankByBICService,\r\n private formAllFieldsValidationService: FormAllFieldsValidationService,\r\n private configurationSettingsContextService: ConfigurationSettingsContextService\r\n ) {\r\n this.beneficiaryBankMaxLength = this.validationPaymentsBICCodeLength;\r\n this.intermediaryBankMaxLength = this.validationPaymentsBICCodeLength;\r\n }\r\n\r\n get beneficiaryBankValue() {\r\n return this.foreignBankForm.get('beneficiaryBankValue');\r\n }\r\n\r\n get intermediaryBankValue() {\r\n return this.foreignBankForm.get('intermediaryBankValue');\r\n }\r\n\r\n get swiftFeePayeeMethod() {\r\n return this.foreignBankForm.get('swiftFeePayeeMethod');\r\n }\r\n\r\n get beneficiaryBankType() {\r\n return this.foreignBankForm.get('beneficiaryBankType');\r\n }\r\n\r\n get intermediaryBankType() {\r\n return this.foreignBankForm.get('intermediaryBankType');\r\n }\r\n\r\n private get validationPaymentsBICCodeLength() {\r\n return parseInt(\r\n this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'ValidationPaymentsBICCodeLength'\r\n ),\r\n 0\r\n );\r\n }\r\n\r\n private get validationPaymentsBICCodeMinLength() {\r\n return parseInt(\r\n this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'ValidationPaymentsBICCodeMinLength'\r\n ),\r\n 0\r\n );\r\n }\r\n\r\n private get validationAddressBookABALength() {\r\n return parseInt(\r\n this.configurationSettingsContextService?.getConfigurationSettingsValidationAttributeValue(\r\n 'ValidationAddressBookABALength'\r\n ),\r\n 0\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.formControl = this.controlContainer.control.get(this.formControlName);\r\n this.formControl.enable();\r\n this.formAllFieldsValidationService.addSubForms(this.foreignBankForm);\r\n\r\n if (!this.hideCharges) {\r\n this.fields = this.getItemListFieldsService.getFields(\r\n (this.rendering.fields.items as Item[]).filter(\r\n o => o.name === 'ForeignBankCharges'\r\n )[0]\r\n );\r\n }\r\n\r\n this.beneficiaryBankType.setValue(\r\n (this.formFields.fields.internationalBeneficiaryBankDD.values[0] as any)\r\n .fields.label.value\r\n );\r\n\r\n this.intermediaryBankType.setValue(\r\n (this.formFields.fields.intermediaryBeneficiaryBankDD.values[0] as any)\r\n .fields.label.value\r\n );\r\n\r\n this.beneficiaryBankType.valueChanges.subscribe(value => {\r\n this.beneficiaryBankValue.setValue(null);\r\n this.beneficiaryBank = {};\r\n setTimeout(() => {\r\n this.beneficiaryBankValueInput.nativeElement.focus();\r\n });\r\n this.setBeneficiaryBankValidators();\r\n });\r\n\r\n this.intermediaryBankType.valueChanges.subscribe(value => {\r\n this.intermediaryBankValue.setValue(null);\r\n this.intermediaryBank = {};\r\n setTimeout(() => {\r\n this.intermediaryBankValueInput.nativeElement.focus();\r\n });\r\n this.setIntermediaryBankValidators();\r\n });\r\n }\r\n\r\n setBeneficiaryBankValidators() {\r\n if (this.isABA(this.beneficiaryBankType)) {\r\n this.beneficiaryBankValue.clearValidators();\r\n this.beneficiaryBankValue.setValidators([\r\n Validators.required,\r\n ...this.abaValidators\r\n ]);\r\n this.beneficiaryBankMaxLength = this.validationAddressBookABALength;\r\n this.beneficiaryBankMinLength = this.validationAddressBookABALength;\r\n } else {\r\n this.beneficiaryBankValue.clearValidators();\r\n this.beneficiaryBankValue.setValidators([\r\n Validators.required,\r\n ...this.bicValidators\r\n ]);\r\n this.beneficiaryBankMaxLength = this.validationPaymentsBICCodeLength;\r\n this.beneficiaryBankMinLength = 1;\r\n }\r\n }\r\n\r\n setIntermediaryBankValidators() {\r\n if (this.isABA(this.intermediaryBankType)) {\r\n this.intermediaryBankValue.clearValidators();\r\n this.intermediaryBankValue.setValidators(this.abaValidators);\r\n this.intermediaryBankMaxLength = this.validationAddressBookABALength;\r\n this.intermediaryBankMinLength = this.validationAddressBookABALength;\r\n } else {\r\n this.intermediaryBankValue.clearValidators();\r\n this.intermediaryBankValue.setValidators(this.bicValidators);\r\n this.intermediaryBankMaxLength = this.validationPaymentsBICCodeLength;\r\n this.intermediaryBankMinLength = 0;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.formControl.clearValidators();\r\n this.formControl.disable();\r\n this.formControl.markAsPristine();\r\n this.formControl.markAsUntouched();\r\n this.formControl.patchValue(null);\r\n }\r\n\r\n writeValue(value) {\r\n if (!value) {\r\n this.beneficiaryBank = {};\r\n this.intermediaryBank = {};\r\n\r\n this.foreignBankForm.reset(\r\n {\r\n swiftFeePayeeMethod: '1',\r\n beneficiaryBankType: (this.formFields.fields\r\n .internationalBeneficiaryBankDD.values[0] as any).fields.label\r\n .value,\r\n beneficiaryBankValue: null,\r\n intermediaryBankType: (this.formFields.fields\r\n .internationalBeneficiaryBankDD.values[0] as any).fields.label\r\n .value,\r\n intermediaryBankValue: null\r\n },\r\n {\r\n onlySelf: true,\r\n emitEvent: false\r\n }\r\n );\r\n\r\n setTimeout(() => {\r\n this.setBeneficiaryBankValidators();\r\n this.setIntermediaryBankValidators();\r\n });\r\n } else {\r\n this.foreignBankForm.patchValue(\r\n {\r\n swiftFeePayeeMethod: SwiftFeePayee[\r\n value.swiftFeePayeeMethod\r\n ].toString(),\r\n beneficiaryBankType: value.beneficiaryBankType,\r\n intermediaryBankType: value.intermediaryBankType || 'BIC'\r\n },\r\n { emitEvent: false }\r\n );\r\n\r\n this.beneficiaryBank = undefined;\r\n this.intermediaryBank = undefined;\r\n\r\n this.setBeneficiaryBankValidators();\r\n this.setIntermediaryBankValidators();\r\n\r\n this.foreignBankForm.patchValue({\r\n beneficiaryBankValue: value.beneficiaryBankValue,\r\n intermediaryBankValue: value.intermediaryBankValue\r\n });\r\n\r\n setTimeout(() => {\r\n this.beneficiaryBankValidationBic();\r\n this.intermediaryBankValueValidationBic();\r\n });\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.foreignBankForm.valueChanges.subscribe(fn);\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n touch() {\r\n this.onTouched();\r\n }\r\n\r\n validate() {\r\n if (this.foreignBankForm.invalid) {\r\n return { formInvalid: true };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n beneficiaryBankValidationBic() {\r\n if (this.beneficiaryBankValue.invalid) {\r\n this.beneficiaryBank = undefined;\r\n return;\r\n }\r\n\r\n if (this.isABA(this.beneficiaryBankType)) {\r\n return;\r\n }\r\n this.beneficiaryBankValue.setValue(\r\n this.beneficiaryBankValue.value.toUpperCase()\r\n );\r\n this.checkBicCode(this.beneficiaryBankValue).subscribe(result => {\r\n this.beneficiaryBank = result;\r\n this.beneficiaryBankName.emit(this.beneficiaryBank.name);\r\n });\r\n\r\n this.onTouched();\r\n }\r\n\r\n intermediaryBankValueValidationBic() {\r\n if (\r\n this.intermediaryBankValue.invalid ||\r\n !this.intermediaryBankValue.value\r\n ) {\r\n this.intermediaryBank = undefined;\r\n return;\r\n }\r\n\r\n if (this.isABA(this.intermediaryBankType)) {\r\n return;\r\n }\r\n this.intermediaryBankValue.setValue(\r\n this.intermediaryBankValue.value.toUpperCase()\r\n );\r\n\r\n this.checkBicCode(this.intermediaryBankValue).subscribe(result => {\r\n this.intermediaryBank = result;\r\n this.intermediaryBankName.emit(this.intermediaryBank.name);\r\n });\r\n\r\n this.onTouched();\r\n }\r\n\r\n protected isABA(control: AbstractControl): boolean {\r\n return (\r\n control.value ===\r\n (this.formFields.fields.intermediaryBeneficiaryBankDD.values[1] as any)\r\n .fields.label.value\r\n );\r\n }\r\n\r\n protected checkBicCode(control: AbstractControl) {\r\n const subject = new Subject();\r\n\r\n this.bankByBICService.getBankByBIC(control.value).subscribe(bankInfo => {\r\n if (bankInfo.bicCode) {\r\n subject.next(bankInfo);\r\n } else {\r\n // Trigger Transfer form validation\r\n this.onChange(this.foreignBankForm.value);\r\n subject.next({});\r\n }\r\n });\r\n\r\n return subject.asObservable();\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{ value.fields.label.value }}\r\n \r\n \r\n
    \r\n \r\n\r\n {{ formFields.genericErrors.required.message }}\r\n {{ formFields.genericErrors.validationBICorABA.message }}\r\n {{\r\n beneficiaryBankType.value === 'ABA'\r\n ? formFields.genericErrors.validationBICorABA.message\r\n : formFields.genericErrors.validationBICLength.message\r\n }}\r\n {{\r\n beneficiaryBankType.value === 'ABA'\r\n ? formFields.genericErrors.validationABALength.message\r\n : formFields.genericErrors.validationBICLength.message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{ beneficiaryBank.name }}
    \r\n {{ beneficiaryBank.city }}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {{ value.fields.label.value }}\r\n \r\n \r\n
    \r\n \r\n\r\n {{ formFields.genericErrors.required.message }}\r\n\r\n {{ formFields.genericErrors.validationBICorABA.message }}\r\n {{\r\n intermediaryBankType.value === 'ABA'\r\n ? formFields.genericErrors.validationBICorABA.message\r\n : formFields.genericErrors.validationBICLength.message\r\n }}\r\n {{\r\n intermediaryBankType.value === 'ABA'\r\n ? formFields.genericErrors.validationABALength.message\r\n : formFields.genericErrors.validationBICLength.message\r\n }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{ intermediaryBank.name }}
    \r\n {{ intermediaryBank.city }}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LoaderService } from '../../services/loader.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'ab-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() showLoader;\r\n isLoading: BehaviorSubject;\r\n\r\n preventAutoBlocking = false;\r\n\r\n constructor(private loaderService: LoaderService) {\r\n this.isLoading = this.loaderService?.isLoading;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.showLoader !== undefined) {\r\n this.preventAutoBlocking = true;\r\n } else {\r\n this.showLoader = false;\r\n }\r\n }\r\n}\r\n","\r\n
    \r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n NgZone,\r\n PLATFORM_ID,\r\n Inject,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { TaskService } from './../../services/task.service';\r\n\r\n@Component({\r\n selector: 'ab-print',\r\n template: '',\r\n styleUrls: ['./print.component.scss']\r\n})\r\nexport class PrintComponent implements OnInit, OnDestroy {\r\n private subscription: Subscription;\r\n constructor(\r\n private taskService: TaskService,\r\n private ngZone: NgZone,\r\n @Inject(PLATFORM_ID) private platform\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subscription = this.taskService\r\n .onTasksComplete()\r\n .subscribe(response => {\r\n if (response) {\r\n setTimeout(() => {\r\n this.triggerBrowserPrint();\r\n }, 1000);\r\n }\r\n });\r\n }\r\n\r\n triggerBrowserPrint() {\r\n if (isPlatformBrowser(this.platform)) {\r\n this.ngZone.runOutsideAngular(() => {\r\n window.print();\r\n window.close();\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","\r\n

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\n@Component({\r\n selector: 'ab-richtext',\r\n templateUrl: './richtext.component.html',\r\n styleUrls: ['./richtext.component.scss']\r\n})\r\nexport class RichtextComponent implements OnInit {\r\n @Input() rendering: ComponentRendering;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n DoCheck\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IActiveItem } from '../../interfaces/active-item.interface';\r\nimport { Field } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { PortfolioService } from '../../services/portfolio.service';\r\nimport { PortfolioType } from '../../emuns/portfolio-type';\r\n\r\n@Component({\r\n selector: 'ab-tab-navigation',\r\n templateUrl: './tab-navigation.component.html',\r\n styleUrls: ['./tab-navigation.component.scss']\r\n})\r\nexport class TabNavigationComponent implements OnInit, DoCheck {\r\n @Input() rendering: any;\r\n @Input() activeMenu: string;\r\n\r\n @Output() change = new EventEmitter();\r\n\r\n tabs: IActiveItem[];\r\n\r\n constructor(\r\n private router: Router,\r\n private portfolioService: PortfolioService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.tabs = this.rendering.fields\r\n ? this.rendering.fields.Tabs\r\n : this.rendering;\r\n\r\n if (\r\n this.rendering.fields &&\r\n this.rendering.fields.IsRetailOnly &&\r\n this.rendering.fields.IsRetailOnly.lenght !== 0\r\n ) {\r\n this.portfolioService.getSelectedPortfolio().subscribe(portfolios => {\r\n if (\r\n PortfolioType[portfolios[0]?.portfolioType] ===\r\n PortfolioType.Corporate\r\n ) {\r\n this.rendering.fields.IsRetailOnly.forEach(nav => {\r\n const tabs = this.tabs.filter(n => n.id === nav.id);\r\n if (tabs) {\r\n this.tabs.splice(this.tabs.indexOf(tabs[0]), 1);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n this.tabs.some(navigationLink => {\r\n const link: any = navigationLink.fields.Link;\r\n if (link) {\r\n navigationLink.isActive = this.router.url.indexOf(link.url) !== -1;\r\n }\r\n\r\n if (\r\n this.activeMenu &&\r\n (navigationLink.fields.Key as Field).value === this.activeMenu\r\n ) {\r\n navigationLink.isActive = true;\r\n }\r\n\r\n return navigationLink.isActive;\r\n });\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.activeMenu) {\r\n this.tabs.forEach(navigationLink => {\r\n navigationLink.isActive =\r\n this.activeMenu === (navigationLink.fields.Key as Field).value;\r\n });\r\n }\r\n }\r\n\r\n selectActiveTab(item: IActiveItem) {\r\n if (item.isActive) {\r\n return;\r\n }\r\n\r\n this.tabs.forEach(i => (i.isActive = false));\r\n item.isActive = true;\r\n this.change.emit(item);\r\n }\r\n\r\n isTransfer(link) {\r\n if (!link) {\r\n return false;\r\n }\r\n\r\n return (\r\n link.url.indexOf('international') !== -1 ||\r\n link.url.indexOf('local') !== -1\r\n );\r\n }\r\n}\r\n","
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\ninterface ITableHeader {\r\n id: string;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ab-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: ['./table.component.scss']\r\n})\r\nexport class TableComponent implements OnInit {\r\n @Input() header: ITableHeader;\r\n @Input() data: any;\r\n @Input() cols: Array;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n\r\nexport { ITableHeader };\r\n","\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n \r\n \r\n Marie Kreutz A/O Jason Bourne Res\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Account NumberAccount NameCurrency\r\n Balance\r\n \r\n \r\n Available Balance\r\n \r\n
    \r\n 22220001\r\n \r\n SAVINGS USD\r\n USD1,200.001,100.00\r\n
    \r\n \r\n \r\n \r\n
      \r\n \r\n \r\n Internal Transfer\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n","import { environment } from './../../environments/environment';\r\n\r\nexport const AB_REFRESH_SESSION_TIME = 2; // minutes\r\nexport const AB_SHOW_SESSION_EXPIRY_POPUP = 20; // minutes\r\nexport const AB_ACCESS_DENIED_REDIRECT_INTERVAL = 5000; // Milliseconds\r\n\r\nexport const AB_API_DOMAIN = environment.apiDomain || '';\r\nexport const AB_API_BASE = '/api/v2';\r\n\r\nexport const NEW_MASHUP_URL = environment.newPegaMashupScriptUrl;\r\n\r\nexport const AB_API_LOGIN = '/account/login';\r\nexport const AB_API_QRCODE = '/account/deviceless';\r\nexport const AB_API_QRCODE_STATUS = '/account/deviceless/status';\r\nexport const AB_API_INITIAL_VIEW = '/account/initialview';\r\n\r\nexport const AB_API_USER_MANAGEMENT = '/usermanagement';\r\nexport const AB_API_USER_MANAGEMENT_OVERVIEW_URL =\r\n '/useraccessmanagement/usersoverview';\r\nexport const AB_API_PORTFOLIO_USERS_DETAILS = '/usermanagement/details';\r\nexport const AB_API_SET_DEFAULT_PORTFOLIO =\r\n '/usermanagement/setdefaultportfolio';\r\n\r\nexport const AB_API_REQUEST_LOGIN_TOOL = '/requestlogintool/send';\r\n\r\nexport const AB_API_PORTFOLIO_USERS_ENDPOINT = '/getportfoliousers';\r\nexport const AB_API_PORTFOLIO_ACCOUNT_MANAGER = '/personaldetails/managerinfo';\r\n\r\nexport const AB_API_EXCHANGE_RATES_ENDPOINT = '/exchangerates/getexchangerates';\r\n\r\nexport const AB_API_ACCOUNTSOVERVIEW_ENDPOINT =\r\n '/JSSTBAccounts/getaccountoverview';\r\nexport const AB_API_LOCAL_FROM_ACCOUNTS_ENDPOINT =\r\n '/JSSTBAccounts/localFromAccounts';\r\nexport const AB_API_FROM_ACCOUNTS_BULK_ENDPOINT =\r\n '/JSSTBAccounts/fromAccounts/bulk';\r\nexport const AB_API_INTERNATIONAL_FROM_ACCOUNTS_ENDPOINT =\r\n '/JSSTBAccounts/internationalFromAccounts';\r\nexport const AB_API_ACCOUNTS_FOR_CLOSING =\r\n '/JSSTBAccounts/eligibleforclosingaccounts';\r\nexport const AB_API_OVERDRAFTS = '/JSSTBAccounts/overdrafts';\r\nexport const AB_API_GETACCOUNTDETAILS = '/JSSTBAccounts/getaccountdetails';\r\nexport const AB_API_FULL_PORTFOLIO_VIEW = '/JSSTBAccounts/fullportfolioview';\r\n\r\nexport const AB_API_GET_CREDITCARDS = '/creditcard';\r\nexport const AB_API_GET_CREDITCARD_TRANSACTIONS = '/creditcard/transactions';\r\n\r\nexport const AB_API_USER_BANKACCOUNTS_SETTINGS = '/user/bankaccounts/settings';\r\n\r\nexport const AB_API_REFRESH_SESSION = '/general/refreshsession';\r\nexport const AP_API_CHECK_ROUTE_ACCESS = '/general/checkrouteaccess';\r\nexport const AB_API_PORTFOLIO = '/general/portfolio';\r\nexport const AB_API_PORTFOLIO_DEFAULT = '/general/portfolio/default';\r\nexport const AB_API_GET_CHALLENGE = '/general/challenge';\r\n\r\nexport const AB_API_SENTOO_PAYMENT_DETAILS = '/sentoo/paymentdetails/get';\r\nexport const AB_API_SENTOO_CANCEL = '/sentoo/cancel';\r\nexport const AB_API_SENTOO_CREATE = '/sentoo/create';\r\nexport const AB_API_SENTOO_APPROVE = '/sentoo/approve';\r\nexport const AB_API_SENTOO_STATUS = '/sentoo/status';\r\nexport const AB_API_SENTOO_QRCODE = '/sentoo/qrcode/get';\r\nexport const AB_API_SENTOO_ACCOUNTS = '/sentoo/accounts/get';\r\n\r\nexport const AB_SENTOO_TRANSFER = '/sentootransfer';\r\nexport const AB_SENTOO = '/sentoo';\r\n\r\nexport const AB_API_TRANSACTION_ACCOUNT = '/transactionaccount/get';\r\n\r\nexport const AB_API_TRANSACTION_OVERVIEW = '/transactionoverview/get';\r\n\r\nexport const AB_API_TRANSACTION_SEARCH = '/transactionsearch/transactions';\r\nexport const AB_API_BLOCK_BANK_ACCOUNT = '/blockbankaccount/accounts';\r\nexport const AB_API_TRANSACTION_DOWNLOAD = '/downloadtransactions/get';\r\nexport const AB_API_TRANSACTION_STATEMENTS = '/statements';\r\n\r\nexport const AB_API_TRANSFERS_SUBMITTED = '/transfers/submitted';\r\nexport const AB_API_TRANSFERS_SUBMITTED_DETAIL = '/transfers/submitted/detail';\r\nexport const AB_API_TRANSFERS_REJECTED_ONETIME =\r\n '/transfers/rejected/onetime/default';\r\nexport const AB_API_TRANSFERS_REJECTED_ONETIME_FULL =\r\n '/transfers/rejected/onetime/full';\r\nexport const AB_API_TRANSFERS_REJECTED_RECURRING =\r\n '/transfers/rejected/recurring/default';\r\nexport const AB_API_TRANSFERS_REJECTED_RECURRING_FULL =\r\n '/transfers/rejected/recurring/full';\r\nexport const AB_API_BULK_TRANSFERS_REJECTED =\r\n '/transfers/rejected/bulk/default';\r\nexport const AB_API_BULK_TRANSFERS_REJECTED_FULL =\r\n '/transfers/rejected/bulk/full';\r\nexport const AB_API_TRANSFERS_COUNTRYLIST = '/transfers/countrylist';\r\n\r\nexport const AB_API_TRANSFERS_GETBANKSBYCOUNTRY =\r\n '/transfers/getBanksByCountry';\r\nexport const AB_API_REFERENCE_CODES = '/transfers/referencecodes';\r\nexport const AB_API_BILL_PAYEE_ATTRIBUTES = '/transfers/billpayee';\r\nexport const AB_API_TRANSFERS_TO_ACCOUNTS = '/transfers/toaccounts';\r\nexport const AB_API_TRANSFERS_TO_BENEFICIARIES =\r\n '/transfers/toaccounts/beneficiaries';\r\nexport const AB_API_TRANSFERS_SUBMIT = '/transfers/submit';\r\nexport const AB_API_TRANSFERS_SCHEDULED = '/transfers/scheduled';\r\nexport const AB_API_TRANSFERS_SCHEDULED_BULK = '/transfers/scheduled/bulk';\r\nexport const AB_API_TRANSFERS_VALIDATE = '/transfers/validate';\r\nexport const AB_API_BANK_BY_BIC = '/transfers/bankByBIC';\r\nexport const AB_API_TRANSFERS_BULK_VALIDATE = '/transfers/bulk/validate';\r\nexport const AB_API_TRANSFERS_BULK_UPLOAD = '/transfers/bulk/upload';\r\nexport const AB_API_TRANSFERS_BULK_DOMESTIC = '/transfers/bulk/domestic';\r\nexport const AB_API_TRANSFERS_BULK_INTERNATIONAL =\r\n '/transfers/bulk/international';\r\nexport const AB_API_DAILY_LIMIT = '/transfers/dailylimit';\r\n\r\nexport const AB_API_PAYMENTS_PENDING_TRANSFERS_COUNT =\r\n '/basket/payments/GetPendingTransfersCount';\r\nexport const AB_API_TRANSFERS_PENDING = '/basket/payments';\r\nexport const AB_API_TRANSFERS_DELETE = '/basket/delete';\r\nexport const AB_API_TRANSFERS_GET_TRANSFER = '/basket/payment';\r\nexport const AB_API_GET_CHALLENGE_BASKET = '/basket/challenge';\r\nexport const AB_API_TRANSFERS_APPROVE = '/basket/submit';\r\nexport const AB_API_PAYMENT_BULK_DOMESTIC = '/basket/payment/bulk/domestic';\r\nexport const AB_API_PAYMENT_BULK_INTERNATIONAL =\r\n '/basket/payment/bulk/international';\r\nexport const AB_API_BULK_VIEW_STATUS = '/basket/payments/bulk';\r\nexport const AB_API_BULK_DETAILS = '/basket/payment/bulk';\r\nexport const AB_API_BULK_REJECT = '/basket/reject';\r\nexport const AB_API_BASKET_REJECT = '/basket/payment/reject';\r\nexport const AB_API_BASKET_CHECK_PAYMENTS = '/basket/checkpayments';\r\n\r\nexport const AB_API_ADDRESSBOOK = '/addressbook';\r\nexport const AB_API_ADDRESSBOOK_COMPANIES = '/addressbook/companies';\r\nexport const AB_API_ADDRESSBOOK_BENEFICIARIES = '/addressbook/beneficiaries';\r\nexport const AB_API_ADDRESSBOOK_ADDRESS = '/addressbook/address';\r\n\r\nexport const AB_API_REPORTING_TABLE = '/reporting/table';\r\nexport const AB_API_REPORTING_DOWNLOAD = '/reporting/download';\r\nexport const AB_API_TEXTBANKING_SEND = '/textbanking/send';\r\nexport const AB_API_TEXTBANKING_INFO = '/textbanking/info';\r\nexport const AB_API_ATMPINCODE_INFO = '/personaldetails/residentialaddress';\r\nexport const AB_API_ATMPINCODE_SEND = '/atmpincode/send';\r\nexport const AB_API_LINK_ATM_CARD = '/linkatmcard/atmcards';\r\nexport const AB_API_REQUEST_APP = '/requestapp/send';\r\nexport const AB_API_DOWNLOAD_DOCUMENTS = '/download/documents';\r\nexport const AB_API_PERSONALARCHIVE_PRIVATE_DOCUMENTS =\r\n '/personalarchive/documents';\r\nexport const AB_API_PERSONALARCHIVE_INTEREST_LETTERS =\r\n '/personalarchive/interestletter';\r\nexport const AB_API_PERSONALARCHIVE_MESSAGES = '/personalarchive/messages';\r\nexport const AB_API_PERSONALARCHIVE_MARKASREAD =\r\n '/personalarchive/message/makrasread';\r\nexport const AB_API_PERSONALARCHIVE_MESSAGES_COUNT =\r\n '/personalarchive/message/count';\r\n\r\nexport const AB_API_CLOSE_ACCOUNT = '/closebankaccount/account';\r\nexport const AB_API_MASHUP_ENDPOINT = '/mashup/token';\r\nexport const AB_API_CONTACTUS_DATA = '/contactus/data';\r\n\r\nexport const AB_LOGIN_FORM_URL = '/';\r\nexport const AB_DASHBOARD_URL = '/dashboard/';\r\n\r\nexport const AB_ADDRESSBOOK_URL = '/addressbook/addressbook/';\r\nexport const AB_ADDRESSBOOK_ADD = '/addressbook/address';\r\n\r\nexport const AB_GET_BANK_CARDS = '/bankcard/all';\r\nexport const AB_BLOCK_BANK_CARD = '/bankcard/block';\r\n\r\nexport const AB_GET_MOBILE_DEVICES = '/mobiledevices/getlist';\r\nexport const AB_DISCONNECT_MOBILE_DEVICES = '/mobiledevices/disconnectdevice';\r\n\r\nexport const AB_OVERDRAFTSLIMITS = '/bankaccountoverdrafts/overdraftslimits';\r\nexport const AB_OVERDRAFTSTEPDETAILS =\r\n '/bankaccountoverdrafts/overdraftstepdetails';\r\nexport const AB_OVERDRAFTSUBMIT = '/bankaccountoverdrafts/submit';\r\n\r\nexport const AB_TRANSACTION_PRINT = '/transactions/printtransactions';\r\n\r\nexport const AB_DATE_PREVENT_REGEX = '[^0-9/]';\r\nexport const AB_PHONE_NUMBER_PATTERN = '^(\\\\+)?(\\\\d{5,15})$';\r\nexport const AB_EMAIL_PATTERN =\r\n '^[\\\\w!#$%&*+\\\\-/=?\\\\^_`{|}~]+(\\\\.[\\\\w!#$%&*+\\\\-/=?\\\\^_`{|}~]+)*@((([\\\\-\\\\w]+\\\\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\\\\.){3}[0-9]{1,3}))$';\r\nexport const AB_DATE_FORMAT_FULL = 'MM/dd/yyyy';\r\nexport const AB_DATE_MOMENT_FORMAT = 'MM/DD/YYYY';\r\nexport const AB_DATE_FORMAT_SHORT = 'yyyy-M-d';\r\nexport const AB_CURRENCY_FORMAT = '1.2-2';\r\nexport const AB_CURRENCY_FORMAT_AMOUNT = '1.0-0';\r\nexport const AB_LOGIN_NAME_PATTERN =\r\n '^[a-zA-Z0-9\\\\-:, .;@ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£ƒáíóúñÑÁÀÏÍÌÈËÓÒÚÙ€ ]+$';\r\nexport const AB_LOGIN_USERNAME_PATTERN = '^[a-zA-Z0-9_\\\\-.@]{8,20}$';\r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { RouterAccessService } from '../services/router-access.service';\r\n\r\n@Directive({\r\n selector: '[abAccess]'\r\n})\r\nexport class AccessDirective implements OnInit {\r\n @Input('abAccess') url: string;\r\n @Input() checkAccess: boolean;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private routerAccessService: RouterAccessService,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.checkAccess) {\r\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\r\n this.routerAccessService.checkRouteAccess(this.url).subscribe(result => {\r\n if (result.access) {\r\n this.renderer.removeAttribute(\r\n this.elementRef.nativeElement,\r\n 'hidden'\r\n );\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n Inject,\r\n LOCALE_ID,\r\n Input\r\n} from '@angular/core';\r\nimport {\r\n DecimalPipe,\r\n getLocaleNumberSymbol,\r\n NumberSymbol\r\n} from '@angular/common';\r\nimport { NgControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\n\r\n@Directive({\r\n selector: '[abAmountFormatter]'\r\n})\r\nexport class AmountFormatterDirective implements OnInit {\r\n @Input() pipeFormat: string;\r\n private el: HTMLInputElement;\r\n private valueChangesSubscription: Subscription;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private decimalPipe: DecimalPipe,\r\n private control: NgControl,\r\n @Inject(LOCALE_ID) private locale: string\r\n ) {\r\n this.el = elementRef.nativeElement;\r\n }\r\n\r\n ngOnInit() {\r\n this.format(this.control.control.value);\r\n this.valueChangesSubscription = this.control.control.valueChanges.subscribe(\r\n value => this.format(value)\r\n );\r\n }\r\n\r\n private format(value): void {\r\n this.el.value = this.decimalPipe.transform(\r\n value,\r\n this.pipeFormat || '1.0-0'\r\n );\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value) {\r\n // Check if '.' sign is allowed for this input when the input need to show fraction part of decimal number\r\n if (this.pipeFormat && this.pipeFormat.split('-')[0].indexOf('2') !== 0) {\r\n this.el.value = value.replace(/[^0-9\\.]/g, '');\r\n this.control.control.patchValue(value.replace(/[^0-9\\.]/g, ''));\r\n } else {\r\n this.el.value = value.replace(/\\D/g, '');\r\n this.control.control.patchValue(value.replace(/\\D/g, ''));\r\n }\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus() {\r\n if (this.valueChangesSubscription) {\r\n this.valueChangesSubscription.unsubscribe();\r\n this.valueChangesSubscription = undefined;\r\n }\r\n\r\n const regex = new RegExp(\r\n `\\\\${getLocaleNumberSymbol(this.locale, NumberSymbol.Group)}`,\r\n 'g'\r\n );\r\n this.el.value = this.el.value.replace(regex, '');\r\n }\r\n\r\n @HostListener('blur', ['$event.target.value'])\r\n onBlur(value: string) {\r\n if (!parseFloat(value)) {\r\n return;\r\n }\r\n\r\n const amount = this.decimalPipe.transform(\r\n value,\r\n this.pipeFormat || '1.0-0'\r\n );\r\n\r\n this.control.control.patchValue(parseFloat(value.replace(',', '.')));\r\n this.el.value = amount;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Renderer2,\r\n ElementRef,\r\n OnInit,\r\n OnDestroy,\r\n Input\r\n} from '@angular/core';\r\nimport { ButtonLoaderStateService } from '../services/button-loader-state.service';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\n\r\n@Directive({\r\n selector: '[abButtonLoader]'\r\n})\r\nexport class ButtonLoaderDirective implements OnInit, OnDestroy {\r\n @Input('abButtonLoader') index: string;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef,\r\n private buttonLoaderStateService: ButtonLoaderStateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.index === '') {\r\n this.subscriptions.push(\r\n this.buttonLoaderStateService.loaderState.subscribe(isLoading => {\r\n this.toggleState(isLoading);\r\n })\r\n );\r\n } else {\r\n this.subscriptions.push(\r\n this.buttonLoaderStateService.loaderStateWithIndex.subscribe(\r\n requests => {\r\n Object.keys(requests).forEach(key => {\r\n if (key.indexOf(this.index) !== -1) {\r\n this.toggleState(requests[key]);\r\n }\r\n });\r\n }\r\n )\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(s => s.unsubscribe());\r\n }\r\n\r\n private toggleState(isLoading: boolean) {\r\n if (isLoading) {\r\n this.renderer.addClass(this.el.nativeElement, 'btn-loader');\r\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');\r\n } else {\r\n this.renderer.removeClass(this.el.nativeElement, 'btn-loader');\r\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\r\n }\r\n }\r\n}\r\n","import { Directive, HostListener, ElementRef } from '@angular/core';\r\nimport { AB_DATE_PREVENT_REGEX } from '../constants';\r\n\r\n@Directive({\r\n selector: '[abDateFormatter]'\r\n})\r\nexport class DateFormatterDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value: string) {\r\n this.elementRef.nativeElement.value = value.replace(\r\n new RegExp(AB_DATE_PREVENT_REGEX, 'g'),\r\n ''\r\n );\r\n }\r\n}\r\n","import {\r\n Directive,\r\n HostBinding,\r\n HostListener,\r\n EventEmitter,\r\n Output\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[abFileDropZone]'\r\n})\r\nexport class FileDropZoneDirective {\r\n @Output() private filesChangeEmiter: EventEmitter<\r\n File[]\r\n > = new EventEmitter();\r\n\r\n @HostBinding('class.drop-zone-active') active: boolean;\r\n\r\n constructor() {}\r\n\r\n @HostListener('dragover', ['$event']) public onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.active = true;\r\n }\r\n\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.active = false;\r\n }\r\n\r\n @HostListener('drop', ['$event']) public onDrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.active = false;\r\n\r\n this.filesChangeEmiter.emit(evt);\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, OnDestroy } from '@angular/core';\r\nimport { IFrameComponent, iframeResizer } from 'iframe-resizer';\r\n\r\n@Directive({\r\n selector: '[appIframeResizer]'\r\n})\r\nexport class IFrameResizerDirective implements AfterViewInit, OnDestroy {\r\n component: IFrameComponent;\r\n\r\n constructor(public element: ElementRef) {}\r\n\r\n ngAfterViewInit() {\r\n const components = iframeResizer(\r\n {\r\n checkOrigin: false,\r\n heightCalculationMethod: 'documentElementOffset',\r\n log: false\r\n },\r\n this.element.nativeElement\r\n );\r\n console.log(components[0]);\r\n /* save component reference so we can close it later */\r\n this.component = components && components.length > 0 ? components[0] : null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.component && this.component.iFrameResizer) {\r\n this.component.iFrameResizer.close();\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n HostListener,\r\n AfterViewInit\r\n} from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\n\r\nexport interface FormGroupWithName extends UntypedFormGroup {\r\n formName: string;\r\n}\r\n\r\n@Directive({\r\n selector: '[abScrollInvalid]'\r\n})\r\nexport class ScrollInvalidDirective implements AfterViewInit {\r\n @Input() formGroup: UntypedFormGroup;\r\n @Input('abScrollInvalid') formName: string;\r\n @Input() scrollPriority: string;\r\n\r\n public isInvalid = false;\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngAfterViewInit() {\r\n if (this.formName) {\r\n (this.formGroup as FormGroupWithName).formName = this.formName;\r\n }\r\n }\r\n\r\n scrollToInvalidElement(name?: string) {\r\n if (name && name !== this.formName) {\r\n return;\r\n }\r\n\r\n const invalidElement = Array.from(\r\n this.elementRef.nativeElement.querySelectorAll('.ng-invalid')\r\n ).filter(\r\n e =>\r\n e.matches('[type=\"text\"]') ||\r\n e.matches('textarea') ||\r\n e.matches('mat-select')\r\n );\r\n\r\n if (invalidElement && invalidElement.length) {\r\n window.scrollTo({\r\n left: 0,\r\n top:\r\n invalidElement[0].getBoundingClientRect().top + window.scrollY - 200\r\n });\r\n\r\n invalidElement[0].focus();\r\n\r\n this.isInvalid = true;\r\n } else {\r\n this.isInvalid = false;\r\n }\r\n }\r\n\r\n @HostListener('submit', ['$event'])\r\n onSubmit(event) {\r\n event.preventDefault();\r\n\r\n if (this.formGroup.invalid && !this.formName) {\r\n this.scrollToInvalidElement();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[abScrollTo]'\r\n})\r\nexport class ScrollToDirective {\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n focusElement() {\r\n const input = this.elementRef.nativeElement.querySelectorAll('input')[0];\r\n\r\n if (!input) {\r\n return;\r\n }\r\n\r\n window.scrollTo({\r\n left: 0,\r\n top: input.getBoundingClientRect().top + window.scrollY - 200\r\n });\r\n\r\n input.focus();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[abUnits]'\r\n})\r\nexport class UnitsDirective implements OnInit {\r\n @Input('abUnits') value: string;\r\n\r\n constructor(private element: ElementRef) {}\r\n\r\n ngOnInit() {\r\n this.element.nativeElement.innerText = `${this.convertToKiloByte(\r\n parseFloat(this.value)\r\n )} `;\r\n }\r\n\r\n private convertToKiloByte(byte: number) {\r\n if (isNaN(byte)) {\r\n return '';\r\n }\r\n\r\n const kiloByte = byte / 1000;\r\n\r\n return kiloByte === 0 ? kiloByte : kiloByte.toFixed(1);\r\n }\r\n}\r\n","export enum PortfolioType {\r\n Retail,\r\n Corporate\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'abCurrencySymbol'\r\n})\r\nexport class AbCurrencySymbolPipe implements PipeTransform {\r\n public map = {\r\n USD: '$',\r\n EURO: '€',\r\n EUR: '€',\r\n AWG: 'ƒ',\r\n ANG: 'ƒ',\r\n GBP: '£'\r\n };\r\n transform(value: any): any {\r\n return this.map[value];\r\n }\r\n}\r\n","import { DecimalPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { AB_CURRENCY_FORMAT } from '../constants';\r\n\r\n@Pipe({\r\n name: 'abCurrency',\r\n})\r\nexport class AbCurrencyPipe extends DecimalPipe implements PipeTransform {\r\n transform(value: any): any {\r\n return (\r\n super.transform(value.amount, AB_CURRENCY_FORMAT) +\r\n ' ' +\r\n value.currencyCode\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { AB_DATE_FORMAT_FULL } from '../constants';\r\n\r\n@Pipe({\r\n name: 'abDate'\r\n})\r\nexport class AbDatePipe extends DatePipe implements PipeTransform {\r\n transform(value: any): any {\r\n return super.transform(value, AB_DATE_FORMAT_FULL);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'abFileSize'\r\n})\r\nexport class AbFileSizePipe implements PipeTransform {\r\n private units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\r\n\r\n transform(bytes: number = 0, precision: number = 2): string {\r\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {\r\n return '?';\r\n }\r\n\r\n let unit = 0;\r\n\r\n while (bytes >= 1024) {\r\n bytes /= 1024;\r\n unit++;\r\n }\r\n\r\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n//import { Dictionary } from 'async';\r\n\r\n@Pipe({\r\n name: 'abFilterCountries'\r\n})\r\nexport class AbFilterCountriesPipe implements PipeTransform {\r\n transform(arr: any, searchValue: string) {\r\n if (!searchValue) return arr;\r\n\r\n return arr.filter(\r\n country =>\r\n country.value.toLowerCase().match(searchValue.toLowerCase()) !== null\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { AB_CURRENCY_FORMAT } from '../constants';\r\n\r\n@Pipe({\r\n name: 'abMoney'\r\n})\r\nexport class AbMoneyPipe extends DecimalPipe implements PipeTransform {\r\n transform(value: string | number): any {\r\n return super.transform(value, AB_CURRENCY_FORMAT);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'replace'\r\n})\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(input: string, replaceOn: string, value: string): unknown {\r\n return input.replace(replaceOn, value);\r\n }\r\n}\r\n","import { DomSanitizer } from '@angular/platform-browser';\r\nimport { PipeTransform, Pipe, SecurityContext } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) {}\r\n transform(value) {\r\n return this.sanitized.sanitize(\r\n SecurityContext.HTML,\r\n this.sanitized.bypassSecurityTrustHtml(value)\r\n );\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SafeHtml } from '@angular/platform-browser';\r\nimport { AbMoneyPipe } from './ab-money.pipe';\r\nimport { SafeHtmlPipe } from './safe-html.pipe';\r\n\r\n@Pipe({\r\n name: 'supFraction'\r\n})\r\nexport class SupFractionPipe implements PipeTransform {\r\n constructor(\r\n private moneyPipe: AbMoneyPipe,\r\n private safeHtmlPipe: SafeHtmlPipe\r\n ) {}\r\n\r\n transform(value: number, noHtml?: boolean): SafeHtml {\r\n let money = this.moneyPipe.transform(value);\r\n const moneyArray = money.split('.');\r\n money = noHtml\r\n ? `${moneyArray[0]}.${moneyArray[1]}`\r\n : `${moneyArray[0]}.${moneyArray[1]}`;\r\n\r\n return this.safeHtmlPipe.transform(money);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AB_API_GETACCOUNTDETAILS } from '../constants';\r\nimport { ApiClientService, ApiResponse } from './api-client.service';\r\nimport { IProduct } from '../../dashboard/services/account-overview.service';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\ninterface AccountDetailsResponse extends ApiResponse {\r\n bankAccounts: IProduct[];\r\n}\r\n\r\nexport enum PortfolioLevel {\r\n Selected,\r\n All\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountDetailsService extends ApiClientService {\r\n private _formLogin = false;\r\n private isLoading = false;\r\n private accountForTransfer = new ReplaySubject<{ [key: string]: IProduct }>(\r\n null\r\n );\r\n private accountForTransferIsLoaded = false;\r\n\r\n get fromLogin() {\r\n const value = this._formLogin;\r\n if (this._formLogin) {\r\n this._formLogin = false;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_GETACCOUNTDETAILS);\r\n }\r\n\r\n setFromLogin() {\r\n this._formLogin = true;\r\n }\r\n\r\n getDetails(): Observable<{ [key: string]: IProduct }> {\r\n return this.getWithoutLoader().pipe(\r\n map((response: AccountDetailsResponse) => {\r\n const responseObject: { [key: string]: IProduct } = {};\r\n response.bankAccounts.forEach(account => {\r\n responseObject[account.accountId] = account;\r\n });\r\n\r\n return responseObject;\r\n })\r\n );\r\n }\r\n\r\n getAccountForTransfer() {\r\n if (!this.accountForTransferIsLoaded && !this.isLoading) {\r\n this.isLoading = true;\r\n this.getDetails().subscribe(\r\n result => {\r\n this.accountForTransfer.next(result);\r\n this.accountForTransferIsLoaded = true;\r\n this.isLoading = false;\r\n },\r\n () => (this.isLoading = false),\r\n () => (this.isLoading = false)\r\n );\r\n }\r\n\r\n return this.accountForTransfer.asObservable();\r\n }\r\n\r\n clearAccountForTransfer() {\r\n this.accountForTransferIsLoaded = false;\r\n this.accountForTransfer.complete();\r\n this.accountForTransfer = new ReplaySubject<{ [key: string]: IProduct }>(\r\n null\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { JssContextService } from '../../jss-context.service';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\ninterface IAntiForgeryToken {\r\n name: string;\r\n value: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AntiForgeryTokenService implements HttpInterceptor {\r\n private antiForgeryToken: IAntiForgeryToken;\r\n\r\n constructor(jssContextService: JssContextService) {\r\n jssContextService.state.subscribe(result => {\r\n if (\r\n result &&\r\n result.sitecore &&\r\n result.sitecore.context &&\r\n result.sitecore.context.VerificationToken\r\n ) {\r\n this.antiForgeryToken = result.sitecore.context\r\n .VerificationToken as IAntiForgeryToken;\r\n } else {\r\n this.antiForgeryToken = null;\r\n }\r\n });\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (\r\n (req.method === 'POST' || req.method === 'PUT') &&\r\n this.antiForgeryToken\r\n ) {\r\n const newHeaders = req.headers.set(\r\n this.antiForgeryToken.name,\r\n this.antiForgeryToken.value\r\n );\r\n req = req.clone({ headers: newHeaders });\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { camelCase } from 'lodash';\r\n\r\nimport { AB_API_DOMAIN, AB_API_BASE } from './../constants';\r\n\r\ninterface ApiResponse {\r\n callIsSuccess?: boolean;\r\n errorCode?: any;\r\n errorSubCode?: any;\r\n errorMessage?: string;\r\n errorDescription?: string;\r\n data?: any;\r\n}\r\n\r\nexport class ApiClientService {\r\n public url: string;\r\n\r\n constructor(private http: HttpClient, private resource: string) {\r\n this.url = AB_API_DOMAIN + AB_API_BASE + this.resource;\r\n }\r\n public get(item?: { [param: string]: any }): Observable {\r\n return this.http\r\n .get(this.url, {\r\n withCredentials: true,\r\n params: item\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.log(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public getWithoutLoader(item?: { [param: string]: any }): Observable {\r\n return this.http\r\n .get(this.url, {\r\n withCredentials: true,\r\n params: item,\r\n headers: {\r\n withoutLoader: 'without'\r\n }\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.log(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public post(item?: Object): Observable {\r\n return this.http\r\n .post(this.url, item, {\r\n withCredentials: true\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.error(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public postWithButtonLoader(item?: Object): Observable {\r\n return this.http\r\n .post(this.url, item, {\r\n withCredentials: true,\r\n headers: {\r\n withButtonLoader: 'with'\r\n }\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.error(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public putWithButtonLoader(item?: Object): Observable {\r\n return this.http\r\n .put(this.url, item, {\r\n withCredentials: true,\r\n headers: {\r\n withButtonLoader: 'with'\r\n }\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.error(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public put(item?: Object): Observable {\r\n return this.http\r\n .put(this.url, item, {\r\n withCredentials: true\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.error(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n public delete(item?: { [param: string]: any }): Observable {\r\n return this.http\r\n .delete(this.url, {\r\n withCredentials: true,\r\n params: item\r\n })\r\n .pipe(\r\n map(response => ApiClientService.camelCaseResponse(response)),\r\n catchError(err => {\r\n console.error(err);\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n protected static camelCaseResponse(response: any) {\r\n if (Array.isArray(response)) {\r\n return response.map(v => ApiClientService.camelCaseResponse(v));\r\n } else if (response !== null && response.constructor === Object) {\r\n return Object.keys(response).reduce(\r\n (result, key) => ({\r\n ...result,\r\n [camelCase(key)]: ApiClientService.camelCaseResponse(response[key])\r\n }),\r\n {}\r\n );\r\n }\r\n return response;\r\n }\r\n}\r\n\r\nexport { ApiResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot\r\n} from '@angular/router';\r\nimport { isEditorActive } from '@sitecore-jss/sitecore-jss-angular/';\r\nimport { UserService } from './user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private userService: UserService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (!isEditorActive()) {\r\n return this.userService.userHasAccess(state.url.split('?')[0]);\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ButtonLoaderStateService } from './button-loader-state.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ButtonLoaderInterceptorService implements HttpInterceptor {\r\n constructor(private buttonLoaderStateService: ButtonLoaderStateService) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (req.headers.has('withButtonLoader')) {\r\n const newHeaders = req.headers.delete('withButtonLoader');\r\n req = req.clone({ headers: newHeaders });\r\n\r\n this.buttonLoaderStateService.startLoader(req.url);\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.buttonLoaderStateService.stopLoader(req.url);\r\n })\r\n );\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ButtonLoaderStateService {\r\n private state: Subject;\r\n private withUrls: { [key: string]: boolean } = {};\r\n private stateWithIndex: Subject<{ [key: string]: boolean }>;\r\n\r\n constructor() {\r\n this.state = new Subject();\r\n this.stateWithIndex = new Subject<{ [key: string]: boolean }>();\r\n }\r\n\r\n get loaderState() {\r\n return this.state.asObservable();\r\n }\r\n\r\n get loaderStateWithIndex() {\r\n return this.stateWithIndex.asObservable();\r\n }\r\n\r\n startLoader(url: string) {\r\n this.withUrls[url] = true;\r\n this.stateWithIndex.next(this.withUrls);\r\n this.state.next(true);\r\n }\r\n\r\n stopLoader(url: string) {\r\n this.withUrls[url] = false;\r\n this.stateWithIndex.next(this.withUrls);\r\n this.state.next(false);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { JssContextService } from '../../jss-context.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigurationSettingsContextService {\r\n constructor(jssContextService: JssContextService) {\r\n jssContextService.state.subscribe((result) => {\r\n if (\r\n result.sitecore?.context &&\r\n result.sitecore?.context.configurationSettings\r\n ) {\r\n this.configurationSettingsContext =\r\n result.sitecore?.context.configurationSettings;\r\n }\r\n });\r\n }\r\n\r\n private configurationSettingsContext: any;\r\n\r\n public get configurationSettings() {\r\n return this.configurationSettingsContext;\r\n }\r\n\r\n public getConfigurationSettingsValidationAttributeValue(\r\n validationAttributeName: string\r\n ) {\r\n if (\r\n validationAttributeName &&\r\n this.configurationSettingsContext &&\r\n this.configurationSettingsContext.validationAttributes &&\r\n this.configurationSettingsContext.validationAttributes[\r\n validationAttributeName\r\n ]\r\n ) {\r\n return this.configurationSettingsContext.validationAttributes[\r\n validationAttributeName\r\n ];\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataSubscriptionService {\r\n private behaviorData = new BehaviorSubject({});\r\n private data = new Subject();\r\n private _onScroll: () => void;\r\n\r\n constructor() {}\r\n\r\n initOnScroll(fn: () => void) {\r\n this.onScroll = fn;\r\n }\r\n\r\n onScroll() {\r\n this._onScroll();\r\n }\r\n\r\n getData(): Observable {\r\n return this.data.asObservable();\r\n }\r\n\r\n getBehaviorData(): Observable {\r\n return this.behaviorData.asObservable();\r\n }\r\n\r\n publishData(event: string, data: any): void {\r\n this.data.next({\r\n event: event,\r\n data: data\r\n });\r\n }\r\n\r\n publishBehaviorData(event: string, data: any): void {\r\n this.behaviorData.next({\r\n event: event,\r\n data: data\r\n });\r\n }\r\n\r\n publishEvent(event: string, data?: any): void {\r\n this.publishData(event, data);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiClientService, ApiResponse } from './api-client.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AB_API_PORTFOLIO_DEFAULT } from '../constants';\r\nimport { ReplaySubject, Observable } from 'rxjs';\r\n\r\nexport interface DefaultPortfolioResponse extends ApiResponse {\r\n portfolioNumber: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DefaultPortfolioService extends ApiClientService {\r\n private defaultPortfolio: DefaultPortfolioResponse;\r\n private portfolio = new ReplaySubject();\r\n\r\n private isLoading = false;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PORTFOLIO_DEFAULT);\r\n }\r\n\r\n clearDefaultPortfolio() {\r\n this.defaultPortfolio = undefined;\r\n }\r\n\r\n getPortfolio() {\r\n if (this.defaultPortfolio) {\r\n return this.portfolio.asObservable();\r\n }\r\n\r\n if (!this.isLoading && !this.defaultPortfolio) {\r\n this.isLoading = true;\r\n this.get().subscribe(\r\n res => {\r\n this.isLoading = false;\r\n this.defaultPortfolio = res;\r\n this.portfolio.next({ ...this.defaultPortfolio });\r\n },\r\n error => {\r\n this.isLoading = false;\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n return this.portfolio.asObservable();\r\n }\r\n\r\n setDefaultPortfolio(portfolioId: string) {\r\n this.defaultPortfolio = {\r\n ...this.defaultPortfolio,\r\n portfolioNumber: portfolioId\r\n };\r\n this.portfolio.next({ ...this.defaultPortfolio });\r\n }\r\n\r\n setPortfolio(portfolios: any): Observable {\r\n return this.postWithButtonLoader({ portfolios: portfolios });\r\n }\r\n}\r\n","import { Injectable, Inject, PLATFORM_ID } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DialogStateService } from '../../dialogs/services/dialog-state.service';\r\nimport { JssContextService } from '../../jss-context.service';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport { AB_API_LOGIN, AB_API_QRCODE_STATUS } from '../constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorHandlingInterceptorService implements HttpInterceptor {\r\n private errorMessage: string;\r\n\r\n constructor(\r\n private dialogStateService: DialogStateService,\r\n jssContextService: JssContextService,\r\n @Inject(PLATFORM_ID) private platform\r\n ) {\r\n jssContextService.state.subscribe((context) => {\r\n if (context && context.sitecore) {\r\n this.errorMessage =\r\n context.sitecore.context.errors?.['Application']?.[\r\n 'General'\r\n ]?.message;\r\n }\r\n });\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(req).pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n if (isPlatformServer(this.platform)) {\r\n return throwError(error);\r\n }\r\n\r\n switch (error.status) {\r\n case 400:\r\n this.dialogStateService.openDialog('ErrorHandling', {\r\n errorDescription: this.errorMessage\r\n });\r\n break;\r\n case 500:\r\n if (req.url.indexOf('/general/refreshsession') !== -1) {\r\n return;\r\n }\r\n if (req.url.indexOf(AB_API_QRCODE_STATUS) !== -1) {\r\n return throwError(error);\r\n }\r\n if (req.url.indexOf(AB_API_LOGIN) !== -1) {\r\n return throwError(error);\r\n }\r\n this.dialogStateService.openDialog('ErrorHandling', error.error);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UntypedFormGroup, UntypedFormArray } from '@angular/forms';\r\nimport {\r\n ScrollInvalidDirective,\r\n FormGroupWithName\r\n} from '../directives/scroll-invalid.directive';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormAllFieldsValidationService {\r\n private _subForms: UntypedFormGroup[] = [];\r\n private scrollInvalidDirective: ScrollInvalidDirective[] = [];\r\n\r\n constructor(router: Router) {\r\n router.events.subscribe(val => {\r\n if (val instanceof NavigationEnd) {\r\n this._subForms = [];\r\n this.scrollInvalidDirective = [];\r\n }\r\n });\r\n }\r\n\r\n setScrollInvalidDirective(scrollInvalidDirective: ScrollInvalidDirective) {\r\n if (scrollInvalidDirective) {\r\n this.scrollInvalidDirective.push(scrollInvalidDirective);\r\n }\r\n\r\n this.scrollInvalidDirective.sort(\r\n (a, b) => parseInt(a.scrollPriority, 0) - parseInt(b.scrollPriority, 0)\r\n );\r\n }\r\n\r\n validation(formGroup: UntypedFormGroup) {\r\n formGroup.markAsDirty();\r\n formGroup.markAsTouched();\r\n\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof UntypedFormGroup) {\r\n this.validation(control);\r\n }\r\n if (control instanceof UntypedFormArray) {\r\n control.controls.forEach(c => this.validation(c as UntypedFormGroup));\r\n } else {\r\n control.markAsDirty();\r\n control.markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n addSubForms(subForm: UntypedFormGroup) {\r\n this._subForms.push(subForm);\r\n }\r\n\r\n validationAllForms(formGroup: UntypedFormGroup) {\r\n this.validation(formGroup);\r\n\r\n if (this._subForms) {\r\n this._subForms.forEach(subForm => {\r\n this.validation(subForm);\r\n });\r\n }\r\n\r\n if (this.scrollInvalidDirective) {\r\n const formName = (formGroup).formName;\r\n this.scrollInvalidDirective.forEach((d, index) => {\r\n if (\r\n formName === d.formName &&\r\n (index === 0 || !this.scrollInvalidDirective[index - 1].isInvalid)\r\n ) {\r\n d.scrollToInvalidElement(formName);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Field } from '@sitecore-jss/sitecore-jss/layout';\r\nimport { LinkField } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\ninterface FormInputField {\r\n helpText: Field;\r\n label: Field;\r\n placeholder: string | null;\r\n alternativePlaceholder: string | null;\r\n link: LinkField | null;\r\n defaultValue: string | null;\r\n title: Field | null;\r\n values: Array;\r\n otherCountry: string;\r\n shortListCountries: string;\r\n maxLength: string;\r\n mask: string;\r\n}\r\n\r\ninterface FormErrorFields {\r\n description: string | null;\r\n message: string;\r\n type: string;\r\n parameter: string;\r\n}\r\n\r\ninterface FormFields {\r\n fields: {\r\n [fieldName: string]: FormInputField;\r\n } | null;\r\n genericErrors: {\r\n [ErrorName: string]: FormErrorFields;\r\n } | null;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormFieldsGeneratorService {\r\n constructor() {}\r\n\r\n private fields: FormFields;\r\n\r\n generateFormFields(rendering): {} {\r\n this.fields = {\r\n fields: {},\r\n genericErrors: {}\r\n };\r\n if (rendering.fields.items) {\r\n this.generateErrors(rendering.fields.items);\r\n this.generateFields(rendering.fields.items);\r\n return this.fields;\r\n } else {\r\n return {\r\n fields: null,\r\n genericErrors: null\r\n };\r\n }\r\n }\r\n\r\n private generateErrors(items) {\r\n let errorArray;\r\n // Isolate the array that holds errors;\r\n items.forEach(item => {\r\n if (item.name === 'Errors Folder') {\r\n errorArray = item.fields.items;\r\n }\r\n });\r\n // Take previous generated array and create an object with JS readable names\r\n if (errorArray && errorArray.length > 0) {\r\n errorArray.forEach(error => {\r\n /**\r\n * error code fields are returned as :\r\n * {value: 'Validation.Field.Required'}\r\n * {value: 'Validation.Field.EmailAlreadyInUse'}\r\n *\r\n * so we strip the stuff we do not need and create a morelegible version by removing the dots:\r\n * `EmailAlreadyInUse`\r\n *\r\n * Assign this stripped string as a dynamic key to the error objects\r\n * {[errorKey]:value}\r\n * {EmailAlreadyInUse: 'this email is alreay in use'}\r\n * */\r\n const errorKey = (error as any).fields.code.value\r\n .replace('Validation.Field.', '')\r\n .replace('.', '');\r\n\r\n const camelCasedErrorKey = `${errorKey\r\n .charAt(0)\r\n .toLowerCase()}${errorKey.substr(1)}`;\r\n\r\n this.fields.genericErrors = Object.assign(this.fields.genericErrors, {\r\n [camelCasedErrorKey]: {\r\n description: error.fields.description\r\n ? error.fields.description.value\r\n : null,\r\n parameter: error.fields.parameter\r\n ? error.fields.parameter.value\r\n : null,\r\n message: error.fields.parameter\r\n ? error.fields.message.value.replace(\r\n '%parameter%',\r\n error.fields.parameter.value\r\n )\r\n : error.fields.message.value,\r\n type: error.fields.type.value\r\n }\r\n });\r\n });\r\n } else {\r\n this.fields.genericErrors = null;\r\n }\r\n }\r\n private generateFields(items) {\r\n let fieldArray;\r\n // Isolate the array that holds form fields;\r\n items.forEach(item => {\r\n if (item.name === 'Fields') {\r\n fieldArray = item.fields.items;\r\n }\r\n });\r\n\r\n if (fieldArray && fieldArray.length > 0) {\r\n // Take previous generated array and create an object with JS readable names and easy structure\r\n fieldArray.forEach(field => {\r\n const fieldKey = (field as any).name.replace(/[ ]/g, '');\r\n const camelCasedFieldKey = `${fieldKey\r\n .charAt(0)\r\n .toLowerCase()}${fieldKey.substr(1)}`;\r\n this.fields.fields = Object.assign(this.fields.fields, {\r\n [camelCasedFieldKey]: {\r\n helpText: field.fields.helpText,\r\n label: field.fields.label,\r\n placeholder: field.fields.placeholder\r\n ? field.fields.placeholder.value\r\n : null,\r\n alternativePlaceholder: field.fields['Alternative Placeholder']\r\n ? field.fields['Alternative Placeholder']?.value\r\n : null,\r\n link: field.fields.Link ? field.fields.Link : null,\r\n defaultValue: field.fields.defaultValue\r\n ? field.fields.defaultValue.value\r\n : null,\r\n title: field.fields.title ? field.fields.title : null,\r\n values: field.fields.values ? field.fields.values : null,\r\n otherCountry: field.fields.otherCountry\r\n ? field.fields.otherCountry\r\n : null,\r\n shortListCountries: field.fields.shortListCountries\r\n ? field.fields.shortListCountries\r\n : null,\r\n maxLength: field.fields.maxLength\r\n ? field.fields.maxLength.value\r\n : null,\r\n mask: field.fields.mask ? field.fields.mask.value : null\r\n }\r\n });\r\n });\r\n } else {\r\n this.fields.fields = null;\r\n }\r\n }\r\n}\r\n\r\nexport { FormInputField, FormErrorFields, FormFields };\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { IProduct } from '../../dashboard/services/account-overview.service';\r\nimport { AB_API_FULL_PORTFOLIO_VIEW } from '../constants';\r\nimport { ApiClientService } from './api-client.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FullPortfolioViewService extends ApiClientService {\r\n public bankAccounts = new ReplaySubject();\r\n public accountsResponse: IProduct[] = undefined;\r\n private isLoading = false;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_FULL_PORTFOLIO_VIEW);\r\n }\r\n\r\n clearBankAccounts() {\r\n this.bankAccounts.complete();\r\n this.bankAccounts = new ReplaySubject(null);\r\n this.accountsResponse = undefined;\r\n }\r\n\r\n getFullPortfolioView() {\r\n if (this.accountsResponse) {\r\n return this.bankAccounts.asObservable();\r\n }\r\n if (!this.isLoading && !this.accountsResponse) {\r\n this.isLoading = true;\r\n this.get().subscribe(\r\n response => {\r\n this.isLoading = false;\r\n this.bankAccounts.next({ bankAccounts: response.bankAccounts });\r\n this.accountsResponse = response.bankAccounts;\r\n },\r\n () => {\r\n this.isLoading = false;\r\n this.bankAccounts.next({ bankAccounts: [] });\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n return this.bankAccounts.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Item, Field } from '@sitecore-jss/sitecore-jss/layout';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetItemListFieldsService {\r\n constructor() {}\r\n\r\n getFields(metadata: Item): { [key: string]: { [name: string]: Field } } {\r\n if (!metadata) {\r\n return;\r\n }\r\n\r\n const labels: { [key: string]: { [name: string]: Field } } = {};\r\n (metadata.fields.items as Item[]).forEach(item => {\r\n labels[this.getKey(item)] = item.fields as { [name: string]: Field };\r\n });\r\n\r\n return labels;\r\n }\r\n\r\n getItems(data: Item[]): { [key: string]: Item } {\r\n const items: { [key: string]: Item } = {};\r\n\r\n data.forEach(item => {\r\n items[this.getKey(item)] = item;\r\n });\r\n\r\n return items;\r\n }\r\n\r\n private getKey(item: Item) {\r\n let key = item.name.split(' ').join('');\r\n key = key.charAt(0).toLocaleLowerCase() + key.slice(1);\r\n\r\n return key;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { takeUntil } from 'rxjs/internal/operators/takeUntil';\r\nimport { Router, RouterEvent, NavigationStart } from '@angular/router';\r\nimport { filter } from 'rxjs/internal/operators/filter';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\nimport { tap } from 'rxjs/operators';\r\nimport { SessionService } from '../../session/services/session.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpCancelInterceptorService implements HttpInterceptor {\r\n private requests = new Subject();\r\n\r\n constructor(\r\n router: Router,\r\n private sessionService: SessionService\r\n ) {\r\n router.events\r\n .pipe(filter((event: RouterEvent) => event instanceof NavigationStart))\r\n .subscribe(() => {\r\n this.requests.next();\r\n });\r\n }\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (req.url.indexOf('/general/refreshsession') !== -1) {\r\n return next.handle(req);\r\n }\r\n\r\n return next.handle(req).pipe(\r\n takeUntil(\r\n this.requests.pipe(\r\n tap(() => {\r\n this.sessionService.chechResponse(req);\r\n })\r\n )\r\n )\r\n );\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\nimport { AccountOverviewResponse } from '../../dashboard/services/account-overview.service';\r\nimport { AB_API_INITIAL_VIEW } from '../constants';\r\nimport { ApiClientService } from './api-client.service';\r\nimport { DefaultPortfolioService } from './default-portfolio.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InitialViewService extends ApiClientService {\r\n public accountsOverview = new ReplaySubject();\r\n public accountsOverviewResponse: AccountOverviewResponse = undefined;\r\n private isLoading = false;\r\n\r\n constructor(\r\n http: HttpClient,\r\n private defaultPortfolioService: DefaultPortfolioService\r\n ) {\r\n super(http, AB_API_INITIAL_VIEW);\r\n }\r\n\r\n clearAccountsOverview() {\r\n this.accountsOverview.complete();\r\n this.accountsOverview = new ReplaySubject();\r\n this.accountsOverviewResponse = undefined;\r\n }\r\n\r\n getInitialView(): Observable {\r\n if (this.accountsOverviewResponse) {\r\n return this.accountsOverview.asObservable();\r\n }\r\n if (!this.isLoading && !this.accountsOverviewResponse) {\r\n this.isLoading = true;\r\n this.get().subscribe(\r\n response => {\r\n this.isLoading = false;\r\n this.accountsOverview.next(response);\r\n this.accountsOverviewResponse = response;\r\n const portfolioId = response?.portfolios?.[0]?.id;\r\n if (portfolioId) {\r\n this.defaultPortfolioService.setDefaultPortfolio(portfolioId);\r\n }\r\n },\r\n error => {\r\n this.isLoading = false;\r\n this.accountsOverview.next(undefined);\r\n }\r\n );\r\n }\r\n\r\n return this.accountsOverview.asObservable();\r\n }\r\n\r\n getAccounts(): Observable {\r\n this.accountsOverview.next(this.accountsOverviewResponse);\r\n return this.accountsOverview.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { LoaderService } from '../services/loader.service';\r\nimport {\r\n AP_API_CHECK_ROUTE_ACCESS,\r\n AB_API_REFRESH_SESSION\r\n} from '../constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderInterceptorService implements HttpInterceptor {\r\n count = 0;\r\n constructor(private loaderService: LoaderService) {}\r\n\r\n intercept(\r\n req: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (\r\n req.url.indexOf('sitecore') === -1 &&\r\n req.url.indexOf(AP_API_CHECK_ROUTE_ACCESS) === -1 &&\r\n req.url.indexOf(AB_API_REFRESH_SESSION) === -1 &&\r\n !req.headers.has('withoutLoader')\r\n ) {\r\n this.count++;\r\n this.loaderService.show();\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n this.count--;\r\n if (this.count === 0) {\r\n setTimeout(() => {\r\n if (this.count === 0) {\r\n this.loaderService.hide();\r\n }\r\n }, 500);\r\n }\r\n })\r\n );\r\n } else {\r\n if (req.headers.has('withoutLoader')) {\r\n const newHeaders = req.headers.delete('withoutLoader');\r\n req = req.clone({ headers: newHeaders });\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoaderService {\r\n constructor() {}\r\n isLoading = new BehaviorSubject(false);\r\n show() {\r\n this.isLoading.next(true);\r\n }\r\n\r\n hide() {\r\n this.isLoading.next(false);\r\n }\r\n}\r\n","import {\r\n Injectable,\r\n QueryList,\r\n Renderer2,\r\n RendererFactory2,\r\n} from \"@angular/core\";\r\nimport { MatLegacyMenuTrigger } from \"@angular/material/legacy-menu\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MenuTriggerService {\r\n private currentMenuTrigger: MatLegacyMenuTrigger;\r\n private lastMenuTrigger: MatLegacyMenuTrigger;\r\n private isFirstOpen = false;\r\n private subscriptions: { [key: string]: Subscription[] } = {};\r\n private renderer: Renderer2;\r\n\r\n constructor(rendererFactory: RendererFactory2) {\r\n this.renderer = rendererFactory.createRenderer(null, null);\r\n this.listenForScroll();\r\n }\r\n\r\n afterViewInit(\r\n menuTriggers: QueryList,\r\n actionsCollection: string = \"actions\"\r\n ) {\r\n menuTriggers.changes.subscribe(() => {\r\n this.subscribeToEvent(menuTriggers, actionsCollection);\r\n });\r\n\r\n if (menuTriggers.length !== 0) {\r\n this.subscribeToEvent(menuTriggers, actionsCollection);\r\n }\r\n }\r\n\r\n unsubscribeFromAction(actionsCollection: string = \"actions\") {\r\n if (this.subscriptions[actionsCollection]) {\r\n this.unsubscribe(actionsCollection);\r\n }\r\n }\r\n\r\n listenForScroll() {\r\n this.renderer.listen(\"window\", \"scroll\", (evt) => {\r\n this.closeActiveMenu();\r\n });\r\n }\r\n\r\n documentEvent(event) {\r\n if (\r\n document.querySelector(\".actions-list\") &&\r\n !document.querySelector(\".actions-list\").contains(event.target as Node)\r\n ) {\r\n if (this.lastMenuTrigger && this.lastMenuTrigger.closeMenu) {\r\n this.lastMenuTrigger.closeMenu();\r\n this.lastMenuTrigger = null;\r\n return;\r\n }\r\n\r\n if (\r\n !this.isFirstOpen &&\r\n this.currentMenuTrigger &&\r\n this.currentMenuTrigger.closeMenu\r\n ) {\r\n this.currentMenuTrigger.closeMenu();\r\n this.currentMenuTrigger = null;\r\n this.renderer.removeClass(document.body, \"menu-opened\");\r\n }\r\n\r\n this.isFirstOpen = false;\r\n } else {\r\n this.currentMenuTrigger = null;\r\n this.renderer.removeClass(document.body, \"menu-opened\");\r\n }\r\n }\r\n\r\n closeActiveMenu() {\r\n if (this.currentMenuTrigger) {\r\n this.currentMenuTrigger.closeMenu();\r\n this.currentMenuTrigger = null;\r\n this.renderer.removeClass(document.body, \"menu-opened\");\r\n }\r\n }\r\n\r\n private unsubscribe(actionsCollection) {\r\n if (this.subscriptions[actionsCollection].length !== 0) {\r\n this.subscriptions[actionsCollection].forEach((s) => s.unsubscribe());\r\n this.subscriptions[actionsCollection] = [];\r\n }\r\n\r\n return this.subscriptions[actionsCollection];\r\n }\r\n\r\n private subscribeToEvent(menuTriggers, actionsCollection) {\r\n if (!this.subscriptions[actionsCollection]) {\r\n this.subscriptions[actionsCollection] = [];\r\n }\r\n\r\n const currentSubscriptions = this.unsubscribe(actionsCollection);\r\n\r\n menuTriggers.forEach((menuTrigger) => {\r\n currentSubscriptions.push(\r\n menuTrigger.menuOpened.subscribe(() => {\r\n this.isFirstOpen = !this.currentMenuTrigger;\r\n this.lastMenuTrigger = this.currentMenuTrigger;\r\n this.currentMenuTrigger = menuTrigger;\r\n if (this.currentMenuTrigger) {\r\n this.renderer.addClass(document.body, \"menu-opened\");\r\n }\r\n })\r\n );\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AB_API_PORTFOLIO } from '../constants';\r\nimport { ApiClientService } from './api-client.service';\r\n\r\ninterface PortfolioResponse {\r\n name: string;\r\n portfolios: IPortfolio[];\r\n}\r\n\r\ninterface IPortfolio {\r\n id: string;\r\n name: string;\r\n isSelected: boolean;\r\n isResident: boolean;\r\n isDefault: boolean;\r\n portfolioType: string;\r\n isMainUser: boolean;\r\n isValidCif7: boolean;\r\n defaultAccount?: any;\r\n portfolioId: any;\r\n}\r\n\r\ninterface ChangePortfolioRequest {\r\n portfolioId: string;\r\n type?: string;\r\n}\r\n\r\ninterface ChangePortfolioResponse {\r\n updated: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PortfolioService extends ApiClientService {\r\n private currentPortfolio = new BehaviorSubject(null);\r\n private getPortfolio = new ReplaySubject(null);\r\n public portfolioChanged = new ReplaySubject();\r\n\r\n private selectedPortfolio: IPortfolio;\r\n\r\n private portfolios: PortfolioResponse;\r\n\r\n private isLoading = false;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_PORTFOLIO);\r\n }\r\n\r\n setCurrentPortfolio(portfolio: IPortfolio): void {\r\n if (!this.selectedPortfolio || this.selectedPortfolio.id !== portfolio.id) {\r\n this.currentPortfolio.next(portfolio);\r\n this.selectedPortfolio = portfolio;\r\n }\r\n }\r\n\r\n getCurrentPortfolio(): Observable {\r\n return this.currentPortfolio.asObservable();\r\n }\r\n\r\n clearPortfolios(logout: boolean = false) {\r\n this.getPortfolio.complete();\r\n this.getPortfolio = new ReplaySubject(null);\r\n this.portfolios = undefined;\r\n if (logout) {\r\n this.portfolioChanged.next(null);\r\n }\r\n }\r\n\r\n getPortfolios(): Observable {\r\n if (this.portfolios) {\r\n return this.getPortfolio.asObservable();\r\n }\r\n\r\n if (!this.isLoading && !this.portfolios) {\r\n this.isLoading = true;\r\n this.get().subscribe(\r\n res => {\r\n this.isLoading = false;\r\n this.portfolios = res;\r\n this.getPortfolio.next({ ...this.portfolios });\r\n },\r\n error => {\r\n this.isLoading = false;\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n return this.getPortfolio.asObservable();\r\n }\r\n\r\n getSelectedPortfolio() {\r\n return this.getPortfolios().pipe(\r\n map(r => r.portfolios.filter(p => p.isSelected))\r\n );\r\n }\r\n\r\n changePortfolio(\r\n request: ChangePortfolioRequest\r\n ): Observable {\r\n this.portfolioChanged.next(true);\r\n this.clearPortfolios();\r\n return this.put(request);\r\n }\r\n}\r\n\r\nexport { IPortfolio, PortfolioResponse, ChangePortfolioRequest };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiResponse, ApiClientService } from './api-client.service';\r\nimport { AP_API_CHECK_ROUTE_ACCESS } from '../constants';\r\n\r\ninterface CheckRouterAccessResponse extends ApiResponse {\r\n redirectUrl: string;\r\n access: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RouterAccessService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AP_API_CHECK_ROUTE_ACCESS);\r\n }\r\n\r\n checkRouteAccess(url: string): Observable {\r\n return this.get({ route: url });\r\n }\r\n}\r\n\r\nexport { CheckRouterAccessResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { delay, distinctUntilChanged, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TaskService {\r\n private tasks = [];\r\n private taskObservor = new Subject();\r\n\r\n constructor() {}\r\n\r\n resetTasks() {\r\n this.tasks = [];\r\n }\r\n\r\n setTask(task: Observable): Observable {\r\n this.tasks.push(false);\r\n\r\n const index = this.tasks.length - 1;\r\n return task.pipe(\r\n tap(() => {\r\n this.tasks[index] = true;\r\n this.taskObservor.next(this.tasks.every(task => task));\r\n })\r\n );\r\n }\r\n\r\n onTasksComplete() {\r\n return this.taskObservor.pipe(\r\n distinctUntilChanged(),\r\n delay(500)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserAgentService {\r\n private userAgent: string;\r\n\r\n constructor() {\r\n this.userAgent = navigator.userAgent || (window as any).opera || undefined;\r\n }\r\n\r\n isMobileDevice = (): boolean => {\r\n const a = navigator.userAgent || navigator.vendor;\r\n if (\r\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(\r\n a\r\n ) ||\r\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\r\n a.substr(0, 4)\r\n )\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n isTabletDevice(): boolean {\r\n const tabletRegex =\r\n /(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/;\r\n return tabletRegex.test(this.userAgent.toLowerCase());\r\n }\r\n\r\n isDesktopDevice(): boolean {\r\n return !this.isMobileDevice() && !this.isTabletDevice();\r\n }\r\n}\r\n","import { Injectable, PLATFORM_ID, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { RouterAccessService } from './router-access.service';\r\nimport { AB_LOGIN_FORM_URL, AB_SENTOO } from '../constants';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport { PortfolioService } from './portfolio.service';\r\nimport { DefaultPortfolioService } from './default-portfolio.service';\r\nimport { MessagesCountService } from '../../personal-archive/services/messages-count.service';\r\nimport { SessionService } from '../../session/services/session.service';\r\nimport { InitialViewService } from './initial-view.service';\r\nimport { FullPortfolioViewService } from './full-portfolio-view.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private access: boolean;\r\n private wasLoggedIn = false;\r\n private openSessionPopup: () => void;\r\n private isFirstTime = false;\r\n\r\n constructor(\r\n private routerAccessService: RouterAccessService,\r\n private router: Router,\r\n @Inject(PLATFORM_ID) private platform,\r\n private portfolioService: PortfolioService,\r\n private defaultPortfolioService: DefaultPortfolioService,\r\n private messagesCountService: MessagesCountService,\r\n private sessionService: SessionService,\r\n private initialViewSerivce: InitialViewService,\r\n private fullPortfolioViewService: FullPortfolioViewService\r\n ) {}\r\n\r\n public get hasAccess() {\r\n return this.access;\r\n }\r\n\r\n initOpenPopUp(fn: () => void) {\r\n this.openSessionPopup = fn;\r\n }\r\n\r\n userHasAccess(url: string) {\r\n if (url.indexOf('?') !== -1) {\r\n url = url.split('?')[0];\r\n }\r\n\r\n return new Observable((observer) => {\r\n this.checkAccess(url, observer);\r\n });\r\n }\r\n\r\n logoutUser() {\r\n this.clearServices(true);\r\n this.router.navigate([AB_LOGIN_FORM_URL]);\r\n }\r\n\r\n private clearServices(logout: boolean = false) {\r\n this.wasLoggedIn = false;\r\n this.defaultPortfolioService.clearDefaultPortfolio();\r\n this.portfolioService.clearPortfolios(logout);\r\n this.messagesCountService.cleanUnreadMessagesCount();\r\n this.fullPortfolioViewService.clearBankAccounts();\r\n this.initialViewSerivce.clearAccountsOverview();\r\n }\r\n\r\n private checkAccess(url, observer) {\r\n this.routerAccessService.checkRouteAccess(url).subscribe(\r\n (result) => {\r\n this.access = result.access;\r\n\r\n if (isPlatformServer(this.platform)) {\r\n observer.next(true);\r\n }\r\n\r\n if (result.redirectUrl) {\r\n if (this.wasLoggedIn && result.redirectUrl === AB_LOGIN_FORM_URL) {\r\n this.openSessionPopup();\r\n this.wasLoggedIn = false;\r\n observer.next(false);\r\n return;\r\n }\r\n\r\n this.clearServices();\r\n this.isFirstTime = result.redirectUrl === AB_LOGIN_FORM_URL;\r\n this.router.navigate([result.redirectUrl]);\r\n observer.next(false);\r\n } else {\r\n this.wasLoggedIn = url !== AB_LOGIN_FORM_URL;\r\n\r\n if (\r\n !this.isFirstTime &&\r\n url !== AB_LOGIN_FORM_URL &&\r\n url !== AB_SENTOO\r\n ) {\r\n this.sessionService.refreshSession().subscribe(\r\n () => {\r\n observer.next(true);\r\n },\r\n () => {\r\n observer.next(true);\r\n }\r\n );\r\n\r\n this.isFirstTime = true;\r\n } else {\r\n this.isFirstTime = true;\r\n observer.next(true);\r\n }\r\n }\r\n },\r\n (error) => {\r\n if (error.status === 401) {\r\n this.logoutUser();\r\n }\r\n\r\n observer.next(false);\r\n }\r\n );\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { TranslateModule } from \"@ngx-translate/core\";\r\n\r\nimport {\r\n MatMomentDateModule,\r\n MAT_MOMENT_DATE_ADAPTER_OPTIONS,\r\n} from \"@angular/material-moment-adapter\";\r\nimport { MatLegacyAutocompleteModule } from \"@angular/material/legacy-autocomplete\";\r\nimport { MatLegacyCheckboxModule } from \"@angular/material/legacy-checkbox\";\r\nimport { DateAdapter } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatLegacyDialogModule } from \"@angular/material/legacy-dialog\";\r\nimport { MatExpansionModule } from \"@angular/material/expansion\";\r\nimport { MatLegacyRadioModule } from \"@angular/material/legacy-radio\";\r\nimport { MatLegacySelectModule } from \"@angular/material/legacy-select\";\r\nimport { MatLegacySlideToggleModule } from \"@angular/material/legacy-slide-toggle\";\r\nimport { MatLegacyTooltipModule } from \"@angular/material/legacy-tooltip\";\r\nimport {\r\n NgbCollapseModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { InfiniteScrollModule } from \"ngx-infinite-scroll\";\r\n\r\nimport { DecimalPipe } from \"@angular/common\";\r\nimport { HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport { JssModule } from \"@sitecore-jss/sitecore-jss-angular\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\nimport { GoogleAnalyticsModule } from \"../google-analytics/google-analytics.module\";\r\nimport { CountryListComponent } from \"../shared/components/country-list/country-list.component\";\r\nimport { ValidatorsModule } from \"../validators/validators.module\";\r\nimport { AbDateAdapter } from \"./adapters/ab-date-adapter\";\r\nimport { AccessDeniedComponent } from \"./components/access-denied/access-denied.component\";\r\nimport { AddressBookComponent } from \"./components/address-book/address-book.component\";\r\nimport { AddressComponent } from \"./components/address/address.component\";\r\nimport { BankListComponent } from \"./components/bank-list/bank-list.component\";\r\nimport { CurrencyInputComponent } from \"./components/currency-input/currency-input.component\";\r\nimport { FileUploadFieldComponent } from \"./components/file-upload-field/file-upload-field.component\";\r\nimport { ForeignBankComponent } from \"./components/foreign-bank/foreign-bank.component\";\r\nimport { LoaderComponent } from \"./components/loader/loader.component\";\r\nimport { PrintComponent } from \"./components/print/print.component\";\r\nimport { RichtextComponent } from \"./components/richtext/richtext.component\";\r\nimport { TabNavigationComponent } from \"./components/tab-navigation/tab-navigation.component\";\r\nimport { TableComponent } from \"./components/table/table.component\";\r\nimport { AccessDirective } from \"./directives/access.directive\";\r\nimport { AmountFormatterDirective } from \"./directives/amount-formatter.directive\";\r\nimport { ButtonLoaderDirective } from \"./directives/button-loader.directive\";\r\nimport { DateFormatterDirective } from \"./directives/date-formatter.directive\";\r\nimport { FileDropZoneDirective } from \"./directives/file-drop-zone.directive\";\r\nimport { ScrollInvalidDirective } from \"./directives/scroll-invalid.directive\";\r\nimport { ScrollToDirective } from \"./directives/scroll-to.directive\";\r\nimport { UnitsDirective } from \"./directives/units.directive\";\r\nimport { AbCurrencySymbolPipe } from \"./pipes/ab-currency-symbol.pipe\";\r\nimport { AbCurrencyPipe } from \"./pipes/ab-currency.pipe\";\r\nimport { AbDatePipe } from \"./pipes/ab-date.pipe\";\r\nimport { AbFileSizePipe } from \"./pipes/ab-file-size.pipe\";\r\nimport { AbFilterCountriesPipe } from \"./pipes/ab-filter-countries.pipe\";\r\nimport { AbMoneyPipe } from \"./pipes/ab-money.pipe\";\r\nimport { ReplacePipe } from \"./pipes/replace.pipe\";\r\nimport { SafeHtmlPipe } from \"./pipes/safe-html.pipe\";\r\nimport { SupFractionPipe } from \"./pipes/sup-fraction.pipe\";\r\nimport { AntiForgeryTokenService } from \"./services/anti-forgery-token.service\";\r\nimport { ButtonLoaderInterceptorService } from \"./services/button-loader-interceptor.service\";\r\nimport { ErrorHandlingInterceptorService } from \"./services/error-handling-interceptor.service\";\r\nimport { HttpCancelInterceptorService } from \"./services/http-cancel-interceptor.service\";\r\nimport { LoaderInterceptorService } from \"./services/loader-interceptor.service\";\r\nimport { IFrameResizerDirective } from \"./directives/iframeResizer.directive\";\r\n\r\nconst SharedComponents = [\r\n { name: \"RichText\", type: RichtextComponent },\r\n { name: \"TabsMenu\", type: TabNavigationComponent },\r\n { name: \"AccessDenied\", type: AccessDeniedComponent },\r\n { name: \"Print\", type: PrintComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n JssModule,\r\n TranslateModule,\r\n MatLegacyDialogModule,\r\n MatLegacySlideToggleModule,\r\n MatLegacyCheckboxModule,\r\n MatLegacyRadioModule,\r\n RouterModule,\r\n MatLegacyTooltipModule,\r\n MatExpansionModule,\r\n MatLegacySelectModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n NgbCollapseModule,\r\n NgbTooltipModule,\r\n InfiniteScrollModule,\r\n ValidatorsModule,\r\n MatLegacyAutocompleteModule,\r\n GoogleAnalyticsModule,\r\n NgxMaskModule.forRoot(),\r\n ],\r\n declarations: [\r\n LoaderComponent,\r\n RichtextComponent,\r\n TableComponent,\r\n TabNavigationComponent,\r\n AbDatePipe,\r\n AmountFormatterDirective,\r\n DateFormatterDirective,\r\n CurrencyInputComponent,\r\n AbCurrencySymbolPipe,\r\n AbMoneyPipe,\r\n AbCurrencyPipe,\r\n AbFilterCountriesPipe,\r\n BankListComponent,\r\n AddressComponent,\r\n CountryListComponent,\r\n ForeignBankComponent,\r\n AccessDeniedComponent,\r\n AddressBookComponent,\r\n SafeHtmlPipe,\r\n FileDropZoneDirective,\r\n AbFileSizePipe,\r\n FileUploadFieldComponent,\r\n PrintComponent,\r\n UnitsDirective,\r\n ButtonLoaderDirective,\r\n ScrollInvalidDirective,\r\n SupFractionPipe,\r\n AccessDirective,\r\n IFrameResizerDirective,\r\n ScrollToDirective,\r\n ReplacePipe,\r\n ],\r\n exports: [\r\n LoaderComponent,\r\n RichtextComponent,\r\n MatLegacySlideToggleModule,\r\n TabNavigationComponent,\r\n NgbCollapseModule,\r\n NgbTooltipModule,\r\n MatLegacyCheckboxModule,\r\n MatLegacyRadioModule,\r\n RouterModule,\r\n AbDatePipe,\r\n AbMoneyPipe,\r\n AbCurrencyPipe,\r\n AbCurrencySymbolPipe,\r\n MatExpansionModule,\r\n AmountFormatterDirective,\r\n MatLegacyTooltipModule,\r\n MatLegacySelectModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n DateFormatterDirective,\r\n CurrencyInputComponent,\r\n InfiniteScrollModule,\r\n ValidatorsModule,\r\n MatLegacyDialogModule,\r\n MatLegacyAutocompleteModule,\r\n AbFilterCountriesPipe,\r\n BankListComponent,\r\n AddressComponent,\r\n CountryListComponent,\r\n ForeignBankComponent,\r\n AccessDeniedComponent,\r\n AddressBookComponent,\r\n SafeHtmlPipe,\r\n FileDropZoneDirective,\r\n AbFileSizePipe,\r\n FileUploadFieldComponent,\r\n PrintComponent,\r\n UnitsDirective,\r\n ButtonLoaderDirective,\r\n ScrollInvalidDirective,\r\n GoogleAnalyticsModule,\r\n SupFractionPipe,\r\n ScrollToDirective,\r\n ReplacePipe,\r\n ],\r\n providers: [\r\n DecimalPipe,\r\n AbMoneyPipe,\r\n AbDatePipe,\r\n AbCurrencyPipe,\r\n SafeHtmlPipe,\r\n SupFractionPipe,\r\n { provide: DateAdapter, useClass: AbDateAdapter },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpCancelInterceptorService,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorHandlingInterceptorService,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ButtonLoaderInterceptorService,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: LoaderInterceptorService,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AntiForgeryTokenService,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SharedModule {}\r\nexport { SharedComponents };\r\n","// This file is generated do not modify manually\r\nexport const transactions = [\r\n { path: 'AccountSelector', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'Overview', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'SearchAndDownload', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'History', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'DownloadTransactions', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'Statements', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'StatementsList', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'PrintStatements', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n { path: 'PrintTransactions', loadChildren: () =>\r\n import('./transactions.module').then(m => m.TransactionsModule) },\r\n];\r\n","enum SwiftFeePayee {\r\n Sha = 1,\r\n Our = 2\r\n}\r\n\r\nexport default SwiftFeePayee;\r\n","enum TRANSFER_TYPE {\r\n default,\r\n internalTransfer,\r\n domesticTransfer,\r\n billPayee,\r\n internationalTransfer,\r\n bulk\r\n}\r\n\r\nexport default TRANSFER_TYPE;\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_BANK_BY_BIC } from '../../shared/constants';\r\n\r\ninterface BankByBICResponse extends ApiResponse {\r\n id: string;\r\n bicCode: string;\r\n branchCode: string;\r\n name: string;\r\n branch: string;\r\n address: string;\r\n postCode: string;\r\n city: string;\r\n countryCode: string;\r\n country: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BankByBICService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_BANK_BY_BIC);\r\n }\r\n\r\n getBankByBIC(BIC: string): Observable {\r\n return this.get({ bic: BIC });\r\n }\r\n}\r\n\r\nexport { BankByBICResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiClientService } from '../../shared/services/api-client.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AB_API_TRANSFERS_GETBANKSBYCOUNTRY } from '../../shared/constants';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\n\r\ninterface IBankInfo {\r\n id: string;\r\n abaCode: string;\r\n bicCode: string;\r\n branchCode: string;\r\n name: string;\r\n branch: string;\r\n address: string;\r\n postCode: string;\r\n city: string;\r\n countryCode: string;\r\n country: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BankService extends ApiClientService {\r\n private cache: { [name: string]: ReplaySubject } = {};\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_TRANSFERS_GETBANKSBYCOUNTRY);\r\n }\r\n\r\n public getBankByCountry(): Observable {\r\n if (!this.cache['bankList']) {\r\n this.cache['bankList'] = new ReplaySubject();\r\n this._getBankByCountry().subscribe(response => {\r\n this.cache['bankList'].next(response);\r\n });\r\n }\r\n\r\n return this.cache['bankList'].asObservable();\r\n }\r\n\r\n private _getBankByCountry() {\r\n return this.get();\r\n }\r\n}\r\n\r\nexport { IBankInfo };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_BASKET_CHECK_PAYMENTS } from '../../shared/constants';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BasketCheckPaymentsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_BASKET_CHECK_PAYMENTS);\r\n }\r\n\r\n checkPayments(): Observable {\r\n return this.get();\r\n }\r\n}\r\n","import { Injectable, Optional, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { ApiClientService } from '../../shared/services/api-client.service';\r\nimport { ICurrency } from '../../shared/interfaces/currency.interface';\r\n\r\nimport { IAccount } from './internal-accounts.service';\r\n\r\nenum BULK_TRANSFER_TYPES {\r\n DOMESTIC = 'DOMESTIC',\r\n INTERNATIONAL = 'INTERNATIONAL'\r\n}\r\n\r\nenum BULK_TRANSFER_PURPOSES {\r\n SALARY_PAYMENTS = '0',\r\n ACCOUNT_PAYABLES = '1',\r\n SAVINGS_PLAN = '2',\r\n FOREIGN_BULK = '3'\r\n}\r\n\r\ninterface IBulkPayment {\r\n orderRef?: string;\r\n transferDate: Date;\r\n chargeAccount: IAccount;\r\n amount: ICurrency;\r\n purpose: string;\r\n transactionPostingType: string;\r\n reference: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BulkTransferService extends ApiClientService {\r\n private onSubmit = new Subject();\r\n private onConfirm = new Subject();\r\n private orderReference = new Subject();\r\n private metaFields = new Subject();\r\n private onError = new Subject();\r\n private purpose = new BehaviorSubject(\r\n BULK_TRANSFER_PURPOSES.SALARY_PAYMENTS\r\n );\r\n\r\n constructor(\r\n http: HttpClient,\r\n @Optional() @Inject('resource') resource: string\r\n ) {\r\n super(http, resource);\r\n }\r\n\r\n setAmountExceedsLimitError(message: string) {\r\n this.onError.next(message);\r\n }\r\n\r\n getAmountExceedsLimitError(): Observable {\r\n return this.onError.asObservable();\r\n }\r\n\r\n setMetaFields(fields: IBulkPayment) {\r\n this.metaFields.next(fields);\r\n }\r\n\r\n getMetaFields(): Observable {\r\n return this.metaFields.asObservable();\r\n }\r\n\r\n setOnSubmit(isValid: boolean) {\r\n return this.onSubmit.next(isValid);\r\n }\r\n\r\n getOnSubmit(): Observable {\r\n return this.onSubmit.asObservable();\r\n }\r\n\r\n setOnConfirm(isSet: boolean) {\r\n return this.onConfirm.next(isSet);\r\n }\r\n\r\n getOnConfirm(): Observable {\r\n return this.onConfirm.asObservable();\r\n }\r\n\r\n setOrderReference(orderReference: string) {\r\n this.orderReference.next(orderReference);\r\n }\r\n\r\n getOrderReference(): Observable {\r\n return this.orderReference.asObservable();\r\n }\r\n\r\n setPurpose(purpose: BULK_TRANSFER_PURPOSES) {\r\n this.purpose.next(purpose);\r\n }\r\n\r\n getPurpose(): Observable {\r\n return this.purpose.asObservable();\r\n }\r\n\r\n getTransferType(purpose: string): BULK_TRANSFER_TYPES {\r\n return purpose === BULK_TRANSFER_PURPOSES.FOREIGN_BULK\r\n ? BULK_TRANSFER_TYPES.INTERNATIONAL\r\n : BULK_TRANSFER_TYPES.DOMESTIC;\r\n }\r\n}\r\n\r\nexport { IBulkPayment, BULK_TRANSFER_TYPES, BULK_TRANSFER_PURPOSES };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from './../../shared/services/api-client.service';\r\nimport { AB_API_TRANSFERS_COUNTRYLIST } from './../../shared/constants';\r\ninterface CountryListResponse extends ApiResponse {\r\n list: any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CountryListService extends ApiClientService {\r\n private cache: ReplaySubject;\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_TRANSFERS_COUNTRYLIST);\r\n }\r\n\r\n public get(): Observable {\r\n if (!this.cache) {\r\n this.cache = new ReplaySubject();\r\n super.get().subscribe(response => this.cache.next(response));\r\n }\r\n\r\n return this.cache.asObservable();\r\n }\r\n}\r\n\r\nexport { CountryListResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_LOCAL_FROM_ACCOUNTS_ENDPOINT } from './../../shared/constants';\r\nimport { ICurrency } from './../../shared/interfaces/currency.interface';\r\n\r\ninterface ITransferOptions {\r\n billTransferAllowed: boolean;\r\n bulkTransferAllowed: boolean;\r\n internationalTransferAllowed: boolean;\r\n domesticTransferAllowed: boolean;\r\n internalTransferAllowed: boolean;\r\n}\r\n\r\ninterface IAccountTransferPermissions {\r\n internalTransferEnabled: boolean;\r\n billTransferEnabled: boolean;\r\n internationalTransferEnabled: boolean;\r\n domesticTransferEnabled: boolean;\r\n}\r\n\r\ninterface IAccount {\r\n accountId?: string;\r\n availableBalance?: ICurrency;\r\n portfolioName?: string;\r\n accountName?: string;\r\n accountNumber?: string;\r\n transferOptions?: ITransferOptions;\r\n accountCreateTransfersPermissions?: IAccountTransferPermissions;\r\n isFromToAccount?: boolean;\r\n alias?: string;\r\n description?: string;\r\n isDefaultAccount?: boolean;\r\n}\r\n\r\ninterface InternalAccountsResponse extends ApiResponse {}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InternalAccountsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_LOCAL_FROM_ACCOUNTS_ENDPOINT);\r\n }\r\n\r\n getAccounts(): Observable {\r\n return this.get();\r\n }\r\n\r\n public isOnly(\r\n transferOptions: ITransferOptions,\r\n transferOption: string\r\n ): boolean {\r\n const options = [],\r\n transferOptionsMap = Object.keys(transferOptions);\r\n\r\n transferOptionsMap.forEach(option => {\r\n if (option.indexOf('bulk') !== -1) {\r\n return;\r\n }\r\n\r\n if (option === transferOption) {\r\n options.push(transferOptions[option]);\r\n } else {\r\n options.push(transferOptions[option] === false);\r\n }\r\n });\r\n return options.every(bool => bool);\r\n }\r\n}\r\n\r\nexport {\r\n IAccount,\r\n InternalAccountsResponse,\r\n IAccountTransferPermissions,\r\n ITransferOptions\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\n\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_REFERENCE_CODES } from '../../shared/constants';\r\nimport TRANSFER_TYPE from './../enums/transfer-type';\r\nimport { IPortfolio } from './../../shared/services/portfolio.service';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport { IBaseAccount } from './to-accounts.service';\r\n\r\ninterface ReferenceCodesResponse extends ApiResponse {}\r\n\r\nenum PAYMENT_TYPES {\r\n domesticTransfer = 'Domestic',\r\n internationalTransfer = 'International'\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReferenceCodesService extends ApiClientService {\r\n private cache: { [name: string]: ReplaySubject } = {};\r\n\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_REFERENCE_CODES);\r\n }\r\n\r\n getAll(\r\n transferType: TRANSFER_TYPE,\r\n bankAccount: IBaseAccount\r\n ): Observable {\r\n let params = {};\r\n\r\n if (PAYMENT_TYPES[TRANSFER_TYPE[transferType]]) {\r\n params['request.paymentType'] =\r\n PAYMENT_TYPES[TRANSFER_TYPE[transferType]];\r\n }\r\n\r\n if (bankAccount && bankAccount.accountNumber) {\r\n params['request.beneficiaryAccountNumber'] = bankAccount.accountNumber;\r\n }\r\n\r\n const stringParams = JSON.stringify(params);\r\n\r\n if (!this.cache[stringParams]) {\r\n this.cache[stringParams] = new ReplaySubject();\r\n this.get(params)\r\n .pipe(\r\n debounceTime(500),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(response => this.cache[stringParams].next(response));\r\n }\r\n\r\n return this.cache[stringParams];\r\n }\r\n\r\n showCategory(transferType: TRANSFER_TYPE, portfolio: IPortfolio): boolean {\r\n if (\r\n transferType === TRANSFER_TYPE.default ||\r\n transferType === TRANSFER_TYPE.internalTransfer\r\n ) {\r\n return false;\r\n }\r\n\r\n if (\r\n (transferType === TRANSFER_TYPE.domesticTransfer ||\r\n transferType === TRANSFER_TYPE.billPayee) &&\r\n portfolio.isResident === true\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n format(response: any) {\r\n let categoryNames = [];\r\n return response\r\n .map((category, index) => {\r\n return {\r\n id: index + 1,\r\n code: category.code,\r\n category: category.category,\r\n isDefault: category.defaultReferenceCode,\r\n subcategory: response\r\n .filter(subcategory => {\r\n return subcategory.category === category.category;\r\n })\r\n .map(subcategory => {\r\n return {\r\n id: subcategory.id,\r\n code: subcategory.code,\r\n name: subcategory.subCategory,\r\n isDefault: subcategory.defaultReferenceCode,\r\n explanation: subcategory.explanation\r\n };\r\n })\r\n };\r\n })\r\n .filter((category, index, self) => {\r\n if (categoryNames.indexOf(category.category) === -1) {\r\n categoryNames.push(category.category);\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n}\r\n\r\nexport { PAYMENT_TYPES, ReferenceCodesResponse };\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject, Subscription } from 'rxjs';\r\n\r\nimport {\r\n IAccount,\r\n InternalAccountsService\r\n} from './../services/internal-accounts.service';\r\n\r\nimport TRANSFER_TYPE from './../enums/transfer-type';\r\nimport { IBaseAccount, ToAccountsListItemType } from './to-accounts.service';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\nenum IState {\r\n internalAccounts = 'INTERNAL_ACCOUNTS',\r\n toAccounts = 'TO_ACCOUNTS',\r\n fromAccount = 'FROM_ACCOUNT',\r\n toAccount = 'TO_ACCOUNT',\r\n previousState = 'PREVIOUS_STATE',\r\n internationalTransfer = 'INTERNATIONAL_TRANSFER',\r\n editTransfer = 'EDIT_TRANSFER',\r\n prefilledData = 'PREFILLED_DATA',\r\n domesticBeneficiaryBank = 'DOMESTIC_BENEFICIARY_BANK'\r\n}\r\n\r\ninterface IFinalState {\r\n transferType: TRANSFER_TYPE;\r\n data: any;\r\n}\r\n\r\ninterface ITransferState {\r\n internalAccounts: BehaviorSubject>;\r\n toAccount: BehaviorSubject;\r\n toAccounts: BehaviorSubject>;\r\n fromAccount: BehaviorSubject;\r\n finalState: BehaviorSubject;\r\n internationalTransfer: BehaviorSubject;\r\n domesticBeneficiaryBank: BehaviorSubject;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StateService {\r\n private fromAccount: Subscription;\r\n private toAccount: Subscription;\r\n private fromEditInit = false;\r\n private toEditInit = false;\r\n\r\n private state: ITransferState = {\r\n internalAccounts: new BehaviorSubject>([]),\r\n toAccount: new BehaviorSubject({}),\r\n toAccounts: new BehaviorSubject>([]),\r\n fromAccount: new BehaviorSubject({}),\r\n finalState: new BehaviorSubject({\r\n transferType: TRANSFER_TYPE.default,\r\n data: null\r\n }),\r\n internationalTransfer: new BehaviorSubject(false),\r\n domesticBeneficiaryBank: new BehaviorSubject({})\r\n };\r\n\r\n private previousState: IFinalState = {\r\n transferType: TRANSFER_TYPE.default,\r\n data: null\r\n };\r\n\r\n constructor(private internalAccountsService: InternalAccountsService) {}\r\n\r\n resetFormMode() {\r\n this.state.finalState = new BehaviorSubject({\r\n transferType: TRANSFER_TYPE.default,\r\n data: null\r\n });\r\n this.previousState = {\r\n transferType: TRANSFER_TYPE.default,\r\n data: null\r\n };\r\n\r\n this.state[IState.editTransfer] = new BehaviorSubject({});\r\n this.state[IState.prefilledData] = new BehaviorSubject({});\r\n\r\n if (this.fromAccount && this.toAccount) {\r\n this.fromAccount.unsubscribe();\r\n this.fromAccount = undefined;\r\n this.toAccount.unsubscribe();\r\n this.toAccount = undefined;\r\n }\r\n }\r\n\r\n instantiateProp(prop: IState): void {\r\n const DEFAULT_PROP_MAP = {\r\n INTERNAL_ACCOUNTS: [],\r\n TO_ACCOUNTS: []\r\n };\r\n\r\n this.state[prop] = new BehaviorSubject(DEFAULT_PROP_MAP[prop] || {});\r\n }\r\n\r\n setProp(prop: IState, state: any, stopSetState?: boolean): void {\r\n if (!this.state[prop]) {\r\n this.instantiateProp(prop);\r\n }\r\n\r\n this.state[prop].next(state);\r\n if (!stopSetState) {\r\n this.setState();\r\n }\r\n }\r\n\r\n getProp(prop: IState): Observable {\r\n if (!this.state[prop]) {\r\n this.instantiateProp(prop);\r\n }\r\n\r\n return this.state[prop].asObservable();\r\n }\r\n\r\n getPropValue(prop: IState): BehaviorSubject {\r\n if (!this.state[prop]) {\r\n this.instantiateProp(prop);\r\n }\r\n\r\n return this.state[prop];\r\n }\r\n\r\n setState() {\r\n let computedState: IFinalState;\r\n\r\n switch (true) {\r\n case this.isPrefilledForm():\r\n computedState = this.getPropValue(IState.editTransfer).value;\r\n break;\r\n\r\n case this.isInternationalTransfer():\r\n computedState = {\r\n transferType: TRANSFER_TYPE.internationalTransfer,\r\n data: null\r\n };\r\n break;\r\n\r\n case this.isInternalTransferOnly():\r\n computedState = {\r\n transferType: TRANSFER_TYPE.internalTransfer,\r\n data: {\r\n internalOnly: true\r\n }\r\n };\r\n break;\r\n\r\n case this.isBillPayeeTransfer():\r\n computedState = {\r\n transferType: TRANSFER_TYPE.billPayee,\r\n data: null\r\n };\r\n break;\r\n\r\n case this.isDomesticTransfer():\r\n computedState = {\r\n transferType: TRANSFER_TYPE.domesticTransfer,\r\n data: null\r\n };\r\n break;\r\n\r\n case this.isInternalTransfer():\r\n computedState = {\r\n transferType: TRANSFER_TYPE.internalTransfer,\r\n data: {\r\n internalOnly: false\r\n }\r\n };\r\n break;\r\n\r\n default:\r\n computedState = {\r\n transferType: TRANSFER_TYPE.default,\r\n data: null\r\n };\r\n break;\r\n }\r\n\r\n if (\r\n this.previousState.transferType !== computedState.transferType ||\r\n JSON.stringify(this.previousState.data) !==\r\n JSON.stringify(computedState.data)\r\n ) {\r\n this.previousState = computedState;\r\n this.state.finalState.next(computedState);\r\n }\r\n\r\n return this.state.finalState;\r\n }\r\n\r\n getState(): Observable {\r\n return this.state.finalState\r\n .asObservable()\r\n .pipe(debounceTime(250), distinctUntilChanged());\r\n }\r\n\r\n forceState(state: IFinalState): void {\r\n this.previousState = state;\r\n this.state.finalState.next(state);\r\n }\r\n\r\n isInternalTransferOnly(): boolean {\r\n const fromAccount = this.getPropValue(IState.fromAccount).value as IAccount;\r\n\r\n return (\r\n (fromAccount.transferOptions &&\r\n this.internalAccountsService.isOnly(\r\n fromAccount.transferOptions,\r\n 'internalTransferAllowed'\r\n )) ||\r\n (fromAccount.accountCreateTransfersPermissions &&\r\n fromAccount.accountCreateTransfersPermissions.internalTransferEnabled &&\r\n !fromAccount.accountCreateTransfersPermissions\r\n .domesticTransferEnabled &&\r\n !fromAccount.accountCreateTransfersPermissions.billTransferEnabled)\r\n );\r\n }\r\n\r\n isInternalTransfer(): boolean {\r\n const fromAccount = this.getPropValue(IState.fromAccount).value as IAccount;\r\n const internalAccounts = this.getPropValue(IState.internalAccounts)\r\n .value as Array,\r\n toAccounts = this.getPropValue(IState.toAccounts).value as Array<\r\n IAccount\r\n >,\r\n toAccount = this.getPropValue(IState.toAccount).value as IBaseAccount;\r\n\r\n return (\r\n (ToAccountsListItemType[toAccount.listItemType] &&\r\n ToAccountsListItemType[toAccount.listItemType] ===\r\n ToAccountsListItemType.OwnAccount) ||\r\n internalAccounts.some(account => {\r\n return (\r\n account.accountNumber === toAccount.accountNumber &&\r\n account.accountNumber !== fromAccount.accountNumber\r\n );\r\n }) ||\r\n (toAccounts.length &&\r\n toAccounts.some(account => {\r\n return (\r\n account.accountNumber === toAccount.accountNumber &&\r\n account.accountNumber !== fromAccount.accountNumber\r\n );\r\n }))\r\n );\r\n }\r\n\r\n isDomesticTransfer(): boolean {\r\n const toAccount = this.getPropValue(IState.toAccount).value as IBaseAccount,\r\n internalAccounts = this.getPropValue(IState.internalAccounts)\r\n .value as Array,\r\n toAccounts = this.getPropValue(IState.toAccounts).value as Array<\r\n IAccount\r\n >,\r\n domesticBeneficiaryBank = this.getPropValue(\r\n IState.domesticBeneficiaryBank\r\n ).value;\r\n return (\r\n (ToAccountsListItemType[toAccount.listItemType] &&\r\n ToAccountsListItemType[toAccount.listItemType] !==\r\n ToAccountsListItemType.OwnAccount) ||\r\n (!this.isInternalTransferOnly() &&\r\n internalAccounts.every(account => {\r\n return account.accountNumber !== toAccount.accountNumber;\r\n }) &&\r\n toAccounts.every(account => {\r\n return account.accountNumber !== toAccount.accountNumber;\r\n })) ||\r\n (Object.entries(domesticBeneficiaryBank).length &&\r\n ToAccountsListItemType[toAccount.listItemType] &&\r\n ToAccountsListItemType[toAccount.listItemType] !==\r\n ToAccountsListItemType.OwnAccount &&\r\n (internalAccounts.some(account => {\r\n return account.accountNumber === toAccount.accountNumber;\r\n }) ||\r\n toAccounts.some(account => {\r\n return account.accountNumber === toAccount.accountNumber;\r\n })))\r\n );\r\n }\r\n\r\n isBillPayeeTransfer(): boolean {\r\n const toAccount = this.getPropValue(IState.toAccount).value as IBaseAccount;\r\n\r\n return (\r\n ToAccountsListItemType[toAccount.listItemType] &&\r\n ToAccountsListItemType[toAccount.listItemType] ===\r\n ToAccountsListItemType.BillPayee\r\n );\r\n }\r\n\r\n private isInternationalTransfer(): boolean {\r\n return this.getPropValue(IState.internationalTransfer).value;\r\n }\r\n\r\n private isPrefilledForm(): boolean {\r\n let prefilledForm = false;\r\n\r\n const editTransferState = this.getPropValue(IState.editTransfer).value;\r\n const emptyState = Object.keys(editTransferState).length === 0;\r\n\r\n if (\r\n editTransferState &&\r\n (emptyState ||\r\n (editTransferState.data && editTransferState.data.prefilledForm))\r\n ) {\r\n prefilledForm = true;\r\n\r\n if (!this.fromAccount && !this.toAccount && !emptyState) {\r\n const prefilledData = this.getPropValue(IState.prefilledData).value;\r\n if (Object.keys(prefilledData).length === 0) {\r\n return;\r\n }\r\n\r\n let toAccount;\r\n\r\n try {\r\n toAccount =\r\n prefilledData.toAccount.accountNumber || prefilledData.toAccount;\r\n } catch (error) {\r\n console.error(error);\r\n return;\r\n }\r\n\r\n this.fromAccount = this.getProp(IState.fromAccount).subscribe(value => {\r\n if (Object.keys(value).length === 0) {\r\n return;\r\n }\r\n\r\n if (!this.fromEditInit) {\r\n this.fromEditInit =\r\n value.accountNumber === prefilledData.fromAccount;\r\n }\r\n\r\n if (\r\n this.fromEditInit &&\r\n value.accountNumber !== prefilledData.fromAccount\r\n ) {\r\n this.stopPrefillMode();\r\n }\r\n });\r\n\r\n this.toAccount = this.getProp(IState.toAccount).subscribe(value => {\r\n if (!value.accountNumber) {\r\n return;\r\n }\r\n\r\n if (!this.toEditInit) {\r\n this.toEditInit = value.accountNumber === toAccount;\r\n }\r\n\r\n if (this.toEditInit && value.accountNumber !== toAccount) {\r\n this.stopPrefillMode();\r\n }\r\n });\r\n }\r\n }\r\n\r\n return prefilledForm;\r\n }\r\n\r\n stopPrefillMode() {\r\n if (\r\n this.getPropValue(IState.editTransfer).value.transferType ===\r\n TRANSFER_TYPE.internationalTransfer\r\n ) {\r\n this.setProp(IState.internationalTransfer, true, true);\r\n }\r\n this.setProp(IState.editTransfer, { data: { prefilledForm: false } });\r\n this.setProp(IState.prefilledData, null, true);\r\n if (this.fromAccount) {\r\n this.fromAccount.unsubscribe();\r\n }\r\n\r\n if (this.toAccount) {\r\n this.toAccount.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\nexport { IState, IFinalState };\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {\r\n ApiClientService,\r\n ApiResponse\r\n} from '../../shared/services/api-client.service';\r\nimport { AB_API_TRANSFERS_TO_ACCOUNTS } from '../../shared/constants';\r\nimport { Observable } from 'rxjs';\r\n\r\nenum ToAccountsListItemType {\r\n OwnAccount,\r\n BeneficiaryAddressDetails,\r\n BillPayee\r\n}\r\n\r\ninterface IBaseAccount {\r\n name: string;\r\n alias: string;\r\n description: string;\r\n accountNumber: string;\r\n listItemType: string;\r\n}\r\n\r\ninterface IBankAccountListItem extends IBaseAccount {\r\n text: string;\r\n value: string;\r\n bankAccountType: string;\r\n portfolioName: string;\r\n selected: boolean;\r\n type: string;\r\n}\r\n\r\ninterface IBasicAddress extends IBaseAccount {\r\n id: string;\r\n pn: string;\r\n accountId: string;\r\n iban: string;\r\n bicCode: string;\r\n aba: string;\r\n bank: string;\r\n intermediaryAba: string;\r\n intermediaryBic: string;\r\n intermediaryBank: string;\r\n intermediaryBankAccount: string;\r\n domesticIndicator: string;\r\n country: string;\r\n city: string;\r\n streetName: string;\r\n number: string;\r\n}\r\n\r\ninterface IBillPayees extends IBaseAccount {\r\n id: string;\r\n accountId: string;\r\n iban: string;\r\n bicCode: string;\r\n bank: string;\r\n domesticIndicator: string;\r\n attributes?: any;\r\n}\r\n\r\ninterface ToAccountsListForTransfersResponse extends ApiResponse {\r\n ownBankAccounts?: IBankAccountListItem[];\r\n beneficiariesAddresses?: IBasicAddress[];\r\n billPayeesCompanies?: IBillPayees[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToAccountsService extends ApiClientService {\r\n constructor(http: HttpClient) {\r\n super(http, AB_API_TRANSFERS_TO_ACCOUNTS);\r\n }\r\n\r\n getToAccountsList(): Observable {\r\n return this.get();\r\n }\r\n}\r\n\r\nexport {\r\n IBillPayees,\r\n IBaseAccount,\r\n IBasicAddress,\r\n IBankAccountListItem,\r\n ToAccountsListItemType,\r\n ToAccountsListForTransfersResponse\r\n};\r\n","// This file is generated do not modify manually\r\nexport const transfers = [\r\n { path: 'Submitted', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'UpdateStatusButton', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'Rejected', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'Basket', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'Transfer', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'DailyLimit', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'StandingTransfers', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkHeader', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkDomesticForm', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkInternationalForm', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkViewStatus', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkViewStatusForm', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkHeaderDetails', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkTransfersDetails', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkStatusTable', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'BulkUploadResponse', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'CloseAccount', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n { path: 'PrintTransfers', loadChildren: () =>\r\n import('./transfers.module').then(m => m.TransfersModule) },\r\n];\r\n","// This file is generated do not modify manually\r\nexport const userAccessManagement = [\r\n { path: 'AccountAccess', loadChildren: () =>\r\n import('./user-access-management.module').then(m => m.UserAccessManagementModule) },\r\n { path: 'PermissionMatrix', loadChildren: () =>\r\n import('./user-access-management.module').then(m => m.UserAccessManagementModule) },\r\n { path: 'UserDetails', loadChildren: () =>\r\n import('./user-access-management.module').then(m => m.UserAccessManagementModule) },\r\n { path: 'UsersOverview', loadChildren: () =>\r\n import('./user-access-management.module').then(m => m.UserAccessManagementModule) },\r\n];\r\n","import { Directive, Input, OnChanges, forwardRef } from '@angular/core';\r\nimport {\r\n NG_VALIDATORS,\r\n AbstractControl,\r\n ValidationErrors,\r\n Validators,\r\n ValidatorFn\r\n} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[abMinLengthTrim][ngModel]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MinLengthTrimDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class MinLengthTrimDirective implements Validators, OnChanges {\r\n @Input() abMinLengthTrim: number;\r\n\r\n private valFun: ValidatorFn;\r\n\r\n constructor() {}\r\n\r\n ngOnChanges() {\r\n this.valFun = Validators.minLength(this.abMinLengthTrim);\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.valFun(\r\n control.value\r\n ? ({ value: control.value.trim() } as AbstractControl)\r\n : control\r\n );\r\n }\r\n}\r\n","import { AbstractControl } from '@angular/forms';\r\n\r\nexport function RangeValidator(min: number, max: number, field?: string) {\r\n return (c: AbstractControl) => {\r\n const controlValue = parseFloat(field ? c.value[field] : c.value);\r\n\r\n if (controlValue < min || controlValue > max) {\r\n return {\r\n rangeMin: controlValue < min,\r\n rangeMax: controlValue > max,\r\n range: true\r\n };\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MinLengthTrimDirective } from './directives/min-length-trim.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [MinLengthTrimDirective],\r\n imports: [FormsModule, ReactiveFormsModule],\r\n exports: [MinLengthTrimDirective, FormsModule, ReactiveFormsModule]\r\n})\r\nexport class ValidatorsModule {}\r\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.ts to modify the generation of this file.\nconst config: { [key: string]: string } = {};\nconfig.production = process.env.PRODUCTION || \"false\",\nconfig.sitecoreApiHost = process.env.SITECORE_API_HOST || \"https://sc103.arubabank.local\",\nconfig.sitecoreApiKey = process.env.SITECORE_API_KEY || \"{2A4DCA72-3283-4714-B8C9-D175B84CF9F4}\",\nconfig.jssAppName = process.env.JSS_APP_NAME || \"personal\",\nconfig.sitecoreLayoutServiceConfig = process.env.SITECORE_LAYOUT_SERVICE_CONFIG || \"jss\",\nconfig.defaultLanguage = process.env.DEFAULT_LANGUAGE || \"en\",\nconfig.defaultServerRoute = process.env.DEFAULT_SERVER_ROUTE || \"/\",\nconfig.graphQLEndpointPath = process.env.GRAPH_QL_ENDPOINT_PATH || \"/api/personal\",\nconfig.graphQLEndpoint = process.env.GRAPH_QL_ENDPOINT || `${config.sitecoreApiHost}${config.graphQLEndpointPath}`;\nexport const environment = config;","/* eslint-disable */\r\nexport default {\r\n __schema: {\r\n types: [\r\n {\r\n kind: 'INTERFACE',\r\n name: 'ItemField',\r\n possibleTypes: [\r\n {\r\n name: 'RichTextField',\r\n },\r\n {\r\n name: 'NumberField',\r\n },\r\n {\r\n name: 'MultilistField',\r\n },\r\n {\r\n name: 'LookupField',\r\n },\r\n {\r\n name: 'LinkField',\r\n },\r\n {\r\n name: 'TextField',\r\n },\r\n {\r\n name: 'IntegerField',\r\n },\r\n {\r\n name: 'ImageField',\r\n },\r\n {\r\n name: 'DateField',\r\n },\r\n {\r\n name: 'CheckboxField',\r\n },\r\n {\r\n name: 'NameValueListField',\r\n },\r\n ],\r\n },\r\n {\r\n kind: 'INTERFACE',\r\n name: 'Item',\r\n possibleTypes: [\r\n {\r\n name: 'UnknownItem',\r\n },\r\n {\r\n name: 'StyleguideComponentParamsRenderingParameters',\r\n },\r\n {\r\n name: 'C__StandardTemplate',\r\n },\r\n {\r\n name: 'C__Route',\r\n },\r\n {\r\n name: 'RenderEngineType',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideTracking',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideSitecoreContext',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideSection',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideRouteFields',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideMultilingual',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideLayoutTabsTab',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideLayoutTabs',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideLayoutReuse',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideItemLinkItemTemplate',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageText',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageRichText',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageNumber',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageLink',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageItemLink',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageImage',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageFile',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageDate',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageCustom',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageContentList',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideFieldUsageCheckbox',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideExplanatoryComponent',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideContentListItemTemplate',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideComponentParams',\r\n },\r\n {\r\n name:\r\n '<%- helper.getAppPrefix(appPrefix, appName, false) %>StyleguideAngularLazyLoading',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLIntegratedDemo',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLConnectedDemo',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>ExampleCustomRouteType',\r\n },\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>ContentBlock',\r\n },\r\n {\r\n name: 'C__<%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute',\r\n },\r\n {\r\n name: 'JsonRendering',\r\n },\r\n {\r\n name: 'JavaScriptRendering',\r\n },\r\n {\r\n name: 'JSSLayout',\r\n },\r\n {\r\n name: 'App',\r\n },\r\n ],\r\n },\r\n {\r\n kind: 'INTERFACE',\r\n name: 'RenderingOptions',\r\n possibleTypes: [\r\n {\r\n name: 'JsonRendering',\r\n },\r\n {\r\n name: 'JavaScriptRendering',\r\n },\r\n ],\r\n },\r\n {\r\n kind: 'INTERFACE',\r\n name: 'Layout',\r\n possibleTypes: [\r\n {\r\n name: 'JSSLayout',\r\n },\r\n ],\r\n },\r\n {\r\n kind: 'INTERFACE',\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute',\r\n possibleTypes: [\r\n {\r\n name: '<%- helper.getAppPrefix(appPrefix, appName, false) %>ExampleCustomRouteType',\r\n },\r\n {\r\n name: 'C__<%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute',\r\n },\r\n ],\r\n },\r\n {\r\n kind: 'INTERFACE',\r\n name: 'Caching',\r\n possibleTypes: [\r\n {\r\n name: 'JsonRendering',\r\n },\r\n {\r\n name: 'JavaScriptRendering',\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { handleEditorAnchors } from '@sitecore-jss/sitecore-jss-angular';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\n// Waiting for DOMContentLoaded is a temporary workaround to get TransferState working in the client\r\n// See https://github.com/angular/angular/issues/20484 for further info.\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n platformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n\r\n // allows Experience Editor anchor tag's onclick events to properly propagate\r\n handleEditorAnchors();\r\n });\r\n","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-ps\": 42060,\n\t\"./ar-ps.js\": 42060,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 50844,\n\t\"./en-il.js\": 50844,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku-kmr\": 63898,\n\t\"./ku-kmr.js\": 63898,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["JssState","language","serverRoute","routeFetchError","sitecore","viewBag","addressbook","path","loadChildren","then","m","AddressbookModule","ElementRef","TranslateService","JssContextService","environment","env","GoogleAnalyticsService","AppComponent","_elementRef","contextSubscription","constructor","translate","jssContextService","googleAnalyticsService","setDefaultLang","defaultLanguage","use","state","subscribe","jssState","context","googleAnalyticsTrackingId","initAnalytics","ngOnInit","nativeElement","removeAttribute","ngOnDestroy","unsubscribe","selectors","decls","vars","template","i0","APP_BASE_HREF","HttpClientModule","BrowserModule","BrowserTransferStateModule","BrowserAnimationsModule","TranslateModule","JssModule","CookieService","CreditCardsComponents","CreditCardsModule","DashboardComponents","DashboardModule","DialogsComponents","DialogsModule","JssDataFetcherService","GraphQLModule","JssMetaService","JssLayoutService","LayoutComponents","LayoutModule","LoginComponents","LoginModule","SentooComponents","SentooModule","miscellaneous","orcoAddressbook","orcoLayout","orcoLogin","orcoMiscellaneous","orcoPersonalArchive","orcoTransfers","overdraft","personalArchive","PublicComponents","PublicModule","ReportingComponents","ReportingModule","RoutingComponents","RoutingModule","SessionComponents","SessionModule","SharedComponents","SharedModule","transactions","transfers","userAccessManagement","ImportedModules","JssComponentsLazyLoading","AppModule","bootstrap","provide","useValue","imports","withServerTransition","appId","forRoot","withComponents","declarations","ActivatedRoute","Router","ICreditCardStatus","CreditCardsService","CreditCardListComponent","route","router","creditCardsService","rendering","cards","selectedCard","placeholder","cardId","CreditCardStatus","snapshot","queryParamMap","get","fields","value","getCreditCards","response","handleResponse","length","changeAccount","filter","card","id","stopRedirect","navigate","relativeTo","queryParams","queryParamsHandling","inputs","consts","map","debounceTime","CreditCardTransactionsService","CreditCardTransactionOverviewComponent","creditCardTransactionsService","subscription","isLoading","hasMore","pageNumber","pipe","params","getTransactions","getTransaction","pageSize","onScroll","GetItemListFieldsService","CreditCardsLimitOverviewComponent","getItemListFieldsService","tableColumns","items","i","name","getItems","setOdd","DialogStateService","FullPortfolioViewService","CreditCardsOverviewComponent","dialogStateService","fullPortfolioViewService","creditCardStatusMap","isPortfolioCif7","subscriptions","ACTIVE","statuses","label","BLOCKED","UNLINKED","getCards","forEach","s","push","bankAccounts","changeStatus","status","openDialog","suffix","confirm","unlinkCreditCard","CommonModule","MatLegacyTooltipModule","MatLegacyMenuModule","RouterModule","CreditCardNamePipe","type","transform","substr","cardType","pure","HttpClient","ApiClientService","AB_API_GET_CREDITCARD_TRANSACTIONS","http","factory","providedIn","AB_API_GET_CREDITCARDS","delete","PortfolioService","PortfolioType","AccountManagerInformationService","AccountManagerInformationComponent","portfolioService","accountManagerInformationService","isPortfolioCorporate","undefined","accountManagerName","accountManagerPhone","accountManagerEmail","getPortfolioType","getFullPortfolioView","getSelectedPortfolio","portfolios","portfolioType","Corporate","getAccountManagerInfo","getAccountManagerInformation","data","phone","email","QueryList","AccountOverviewService","MenuTriggerService","first","AccountDetailsService","InitialViewService","MatLegacyMenuTrigger","AccountsOverviewComponent","accountOverviewService","menuTriggerService","accountDetailsService","initialViewService","menuTriggers","portfolio","isRetail","portfolioChanged","documentClick","event","documentEvent","hasChanged","getAccountOverview","setPortfolioType","ngAfterViewInit","afterViewInit","unsubscribeFromAction","Retail","getAccounts","accountsOverview","fromLogin","getDetails","accounts","setAccountBalance","products","sort","second","accountActions","product","currentAccount","accountId","visible","accountName","bookBalance","availableBalance","JSON","stringify","result","openUrl","url","urlSegments","split","uri","mode","fromAccount","viewQuery","ctx","TemplateRef","MatLegacyDialog","DialogState","BankAccountSettingsService","ConfigurationSettingsContextService","FormFieldsGeneratorService","NgForm","NavigationStart","BankAccountSettingsComponent","dialog","bankAccountSettingsService","formFieldsGeneratorService","configurationSettingsContextService","bankAccountSettings","bankAccountSettingsForm","dialogRef","editedProducts","formFields","allowedCharactersRegex","RegExp","dialogId","dialogStateSubscription","routerSubscription","validationAlllowedCharacters","getConfigurationSettingsValidationAttributeValue","_id","events","close","getDialogState","rendaringName","dialogState","Open","open","panelClass","disableClose","parse","afterClosed","generateFormFields","addToEdit","some","p","accountNumber","submit","console","log","saveBankAccountsSettings","callIsSuccess","closeDialogByReference","AB_API_PORTFOLIO_ACCOUNT_MANAGER","AB_API_ACCOUNTSOVERVIEW_ENDPOINT","Observable","storedDate","saveOnce","create","observer","next","error","AB_API_USER_BANKACCOUNTS_SETTINGS","postWithButtonLoader","MAT_LEGACY_DIALOG_DATA","MatLegacyDialogRef","TRANSFER_TYPE","AddressBookPopupComponent","securityAddressBook","hideCompanies","transferOptions","billTransferAllowed","transferType","internationalTransfer","hideOwnAccounts","internalTransferAllowed","hideContacts","domesticTransferAllowed","domesticPermissionsEnabled","permissions","domesticTransferEnabled","billTransferPermissionsEnabled","billTransferEnabled","internalPermissionsEnabled","internalTransferEnabled","select","item","UntypedFormGroup","UntypedFormControl","Validators","ApprovalPopupComponent","approvalCodeInput","challengeCode","otpType","approvalCodeErrorMessage","approvalForm","approvalCode","required","pattern","onEnterPress","key","valid","blur","approvalData","setTimeout","focus","radioChange","approveRequeset","signingCode","errorDescription","setErrors","approvalCodeError","fromEvent","Subject","startWith","delay","tap","CountryListPopupComponent","countryList","searchInput","selectedCountry","search","filteredArray","isEmpty","_searchSubject","searchObservable","country","clearValue","countryName","toLowerCase","indexOf","toLocaleLowerCase","asObservable","DefaultPortfolioService","DefaultPortfolioSelectorComponent","defaultPortfolioService","defaultPortfolioSelector","defaultPortfolioSelectorForm","selectDefaultAccount","portfolioForm","defaultAccount","defaultPortfolio","accountDetailsSubscription","getState","setDefault","selectedPortfolio","isDefault","getDefaultAccount","accountOptions","account","portfolioId","defaultSelectedAccount","isDefaultAccount","originalDefaultAccounts","selectedAccountChange","onClose","clearDefaultPortfolio","updatedPortfolios","portfolioName","portfolioNumber","isDefaultPortfolio","setPortfolio","DetailsConfirmPopupComponent","errorState","payment","errorMessage","dismiss","Dismiss","ErrorHandlingPopupComponent","InfoPopupComponent","redirect","RedirectUrl","MessagesListService","PersonalArchiveMessageComponent","messagesListService","messageDetails","sender","date","body","showMessageDialog","deleteMessage","publishDeteledMessage","printMessage","window","printMessageUrl","href","RadioButtonsPopupComponent","UploadDocumentComponent","PopupComponent","matDialogRef","addDialogId","Close","closeDialog","component","dialogData","details","labels","HasCloseButtonInHeader","closeOnNavigation","dialogCloseValue","backdropClick","styles","selection","MAT_DIALOG_DATA","MatDialogRef","SentooPaymentPopupComponent","PrivateDocumentsListService","privateDocumentsListService","file","allowedIdCardCharactersRegex","maxIdLenght","uploadForm","documentType","files","documentSubType","documentNumber","maxLength","expirationDate","allowedExtensions","previewableExtenstions","maxFileCount","maxFileSize","maxFileNameSize","expirationDateMin","isMaxFileCountReached","isMaxFileNameCountReached","isFilesExtensionsCorrect","isFilesSizesCorrect","initialState","isInTheZone","fileList","filesPreviews","showDocumentSubType","setValue","DocumentType","Value","setFields","setAllowedExtensions","setMaxFileCount","setMaxFileSize","setMaxFileNameSize","setExpirationDateMin","validationDNumberAlllowedCharacters","validationIDNumberLenght","valueChanges","allowedFileExtensions","parseInt","maxFileNameAndExtensionSize","Date","setMonth","getMonth","minIdValidityDuration","enable","disable","openUploadWindow","$event","preventDefault","click","removeFile","index","splice","validateExtension","validateSize","removeFiles","onFilesSelect","createFilesArray","target","generateFilePreviews","onFilesDrop","dataTransfer","filesLenght","filesArray","concat","isPreviewable","reader","FileReader","onload","readAsDataURL","validateFile","validateFilenameSize","ext","lastIndexOf","size","parseFloat","formData","FormData","append","toISOString","uploadDocuments","onDragOver","stopPropagation","onDragLeave","onDrop","VirtualScrollerModule","NavigationEnd","dialogObservables","dialogIDs","checkIfPopupExists","updateDialogState","updateDialogWithError","GoogleAnalyticsModule","GTM","gtm","isInitialized","trackingCode","document","getTime","createElement","async","src","head","getElementsByTagName","appendChild","page","title","pagePath","InjectionToken","inject","WINDOW_REFERENCE","getGtm","object","PLATFORM_ID","isPlatformBrowser","getWindow","platformId","TransferState","makeStateKey","shareReplay","catchError","of","observableOf","BehaviorSubject","jssKey","transferState","layoutService","changeLanguage","changeRoute","foundInitialState","hasKey","remove","appLanguage","jssState$","getRouteData","routeData","lsResult","httpClient","fetch","bind","options","withCredentials","post","toPromise","responseData","statusText","catch","Error","HttpHeaders","InMemoryCache","Apollo","ApolloModule","HttpBatchLink","createPersistedQueryLink","isPlatformServer","sha256","JssGraphQLService","introspectionQueryResultData","STATE_KEY","apollo","httpLink","createApolloClient","onServer","cache","onSerialize","extract","onBrowser","restore","sc_apikey","set","sitecoreApiKey","batchHttp","graphQLEndpoint","headers","automaticPersistHttp","possibleTypes","__schema","types","supertype","subtype","link","ssrMode","ssrForceFetchDelay","isBrowser","EMPTY","isEditorActive","resetEditorChromes","sitecoreContext","isEditingOrPreviewingAndSsr","pageState","extractVariableNames","query","variableNames","definitions","def","variableDefinitions","defs","kind","variable","variables","addJssAmbientVariables","renderingContext","observable","mutate","mutation","extra","usedVariables","datasource","dataSource","contextItem","itemId","Meta","Title","titleService","meta","setTitle","setTag","addTag","content","update","FooterWrapperComponent","FooterComponent","HeaderComponent","from","fromPromise","throwError","observableThrow","layoutServiceFactory","layoutServiceInstance","LayoutServiceError","fetchLayoutData","getLayoutServiceError","layoutServiceError","Layout","LogoComponent","NavigationComponent","PageTitleComponent","PortfolioSelectorComponent","PortfolioSettingComponent","exports","BreakpointObserver","ResolveEnd","breakpointObserver","element","toggleMobileMenu","inMobileView","subMenuOpen","breakpointSubscription","contains","selectActiveMenu","observe","matches","showMobileMenu","isOpen","showSubMenu","isAccessEnabled","subItem","Link","AccessEnabled","setActiveMenuRecursive","isActive","mainItem","hostBindings","description","Renderer2","MatLegacyMenu","LoginService","UserService","BasketCheckPaymentsService","timeout","loginService","userService","basketCheckPaymentsService","renderer","matMenuPortfolio","portfolioMenuTrigger","isMenuOpen","username","isLoadingPortfolios","querySelector","closeMenu","getPortfolios","changes","menuTrigger","menuOpened","res","publishSelectedPortfolio","isSelected","setCurrentPortfolio","changePortfolio","updated","HomeLink","logout","showLoader","checkPayments","hideLoader","logoutUser","setStyle","removeStyle","combineLatest","fullPortfolioViewSubscription","tooltipInfo","accountDetails","popupIsOpen","getPortfolio","setAccountOptions","setDefaultPortfolio","tooltip","accountsDetails","Object","values","clearBankAccounts","RestLayoutService","LayoutServiceFactory","apiHost","apiKey","siteName","configurationName","EventEmitter","QrCodeService","StatusService","AB_DASHBOARD_URL","interval","switchMap","IdleService","UserAgentService","LandingComponent","qrCodeService","statusService","idleService","userAgentService","loginWithToken","apiError","isDesktop","loginWith","helpSteps","pageTitle","qrCodeImage","loginRequestId","statusSubscription","qrCodeSubscription","retryQR","stopRefreshToken","isDesktopDevice","getFields","o","getQRCode","getQrCode","qrcodeImageResponse","imageBytes","pollLoginStatus","statusObservable$","getStatus","doRefreshToken","setFromLogin","getInitialView","openApp","continueWithApp","location","replace","toString","outputs","LoginComponent","usernameInput","passwordInput","submitButtonText","userBlockedError","invalidCredentialsError","invalidLoginMessage","loginForm","logincode","loginMethod","toggleButton","displaySentooLoginScreen","allowQRLogin","loginWithApp","submitAction","login","changeToken","tokenValue","reset","errorCode","loginErrorMessage","Subscription","TokenFormComponent","helpMethod","selectActiveTab","method","ReactiveFormsModule","AB_API_LOGIN","tokentype","loginInputRequest","password","AB_API_QRCODE","AB_API_QRCODE_STATUS","MiscellaneousModule","OrcoAddressbookModule","OrcoLayoutModule","OrcoLoginModule","OrcoMiscellaneousModule","OrcoPersonalArchiveModule","OrcoTransfersModule","OverdraftModule","PersonalArchiveModule","AB_API_PERSONALARCHIVE_MESSAGES_COUNT","ReplaySubject","MessagesType","MessagesCountService","unreadMessagesCount","isLoaded","cleanTimer","getUnreadMessagesCount","messagesType","UnRead","startCleanTimer","getUnreadMessagesCountWithRefresh","cleanUnreadMessagesCount","stopCleanTimer","complete","clearTimeout","AB_API_PERSONALARCHIVE_MESSAGES","messageStatus","messageDeleted","getMessages","maxCount","getMessage","getMessagesList","request","getMessageStatus","publishMessageStatus","message","getDeletedMessage","messageId","AB_API_PERSONALARCHIVE_PRIVATE_DOCUMENTS","getDocuments","moment","RequestLoginToolService","AB_DATE_MOMENT_FORMAT","AB_LOGIN_FORM_URL","AB_LOGIN_NAME_PATTERN","AB_LOGIN_USERNAME_PATTERN","RequestLoginToolComponent","requestLoginToolService","formBottomText","maxDateOfBirth","subtract","minDateOfBirth","noPhone","selectToken","apiLoading","requestLoginToolForm","mobileDeviceType","minLength","dateOfBirth","reason","pickupBranch","mobileDeviceTypeField","nameField","usernameField","dateOfBirthField","reasonField","pickupBranchField","FormBottomText","clearValidators","updateValueAndValidity","setValidators","cancel","formValue","newTokenRequestModel","format","tokenType","send","openSucces","AB_API_REQUEST_LOGIN_TOOL","putWithButtonLoader","DataSubscriptionService","REPORTING_EVENTS","ReportingService","AuditReportSearchComponent","reportingService","dataSubscriptionService","cookieService","toDateMax","fromDateMax","fromDateMin","year","month","selectedReportType","searchForm","showNoFound","noFound","isFileDownloading","initOnScroll","fromDate","toDate","selectedReportFormat","selectFormat","fromDateField","toDateField","toDateMin","isAfter","publishEvent","SCROLLING","getReport","onSubmit","SEARCHING","afterSubmit","stopLoading","publishData","assign","getTitle","SIGN_IN","MONEY_TRANSFER","arr","Label","download","setInterval","check","clearInterval","STOP_LOADING","ReportTableComponent","MoneyTransferTableComponent","columns","displayName","column","features","totalNumberOfRecordsAvailable","dataSubscription","show","getData","SignInLogTableComponent","totalRecordLabel","pop","HttpParams","AB_API_REPORTING_TABLE","AB_API_REPORTING_DOWNLOAD","AB_API_BASE","AB_API_DOMAIN","toDateString","getDownloadUrl","JssRoute","JssRouteBuilderService","buildRouteUrl","defaultServerRoute","parseRouteUrl","isSSR","languageRegex","languageSegment","match","_v","p1","p2","toUpperCase","slice","join","startsWith","RouterStateSnapshot","ActivatedRouteSnapshot","JssRouteResolver","jssService","resolve","_state","LayoutState","LayoutComponent","activatedRoute","errorContextData","NotFound","setMetadata","routeFields","onPlaceholderLoaded","placeholderName","debug","NotFoundComponent","home","addClass","goToPrevious","history","back","UrlSegment","ServerErrorComponent","VisitorIdentificationComponent","AuthGuardService","jssRouteMatcher","routeParser","segment","posParams","keys","consumed","routes","matcher","canActivate","runGuardsAndResolvers","onSameUrlNavigation","initialNavigation","emittedVI","jssContext","visitorIdentificationTimestamp","script","ConnectionErrorComponent","resetPayment","PaymentCancelledComponent","returnUrl","closePayment","PaymentExpiredComponent","take","ReferenceCodesService","PaymentDetailsService","AccountsService","CancelService","SentooService","CreateSentooPaymentService","PaymentScreenComponent","createSentooPaymentService","accountsService","paymentDetailsService","sentooService","referenceCodesService","cancelService","setPaymentStatus","setMerchantInfo","setCancelReturnUrl","validatePayment","cancelPaymentPopup","transfer","challengeCodeError","challengeCodeErrorMessage","validatePaymentDialogRef","cancelPaymentDialogRef","showList","selectedAccount","defaultValue","categoryForm","category","subCategory","selectedAccountNumber","selectedReferenceCode","isSubmittingCancelPayment","referenceCodes","showCategory","onClick","closest","getEncryptedData","encryptedData","getPaymentDetails","transferResponse","transferId","emit","getAll","transactionType","selectCategory","onAccountChange","toggleAccountList","openCancelPayment","closeCancelPaymentDialog","cancelSentooPayment","cancelPayment","cancelResponse","confirmPayment","transferProperties","amount","beneficiaryAccount","beneficiaryCity","beneficiaryHouseNumber","beneficiaryInstitutionCode","beneficiaryInstitutionCodeValue","beneficiaryInstitutionName","beneficiaryName","beneficiaryPostalCode","beneficiaryStreet","currency","destinationCountryIsoCode","sentooProcessorId","sentooTransactionId","valueDate","referenceCategoryNumber","sourceAccount","transferObject","getChallengeNumber","challengeNumberResponse","openValidatePayment","subcategory","controls","selectSubCategory","code","AB_SENTOO","SentooTransferComponent","sentooPaymentToken","paymentStatus","merchantInfo","searchParams","URLSearchParams","hasOwnProperty","setEncryptedData","numberOfApprovalsRemaining","sentooTransaction","FormAllFieldsValidationService","ApproveService","ValidatePaymentComponent","approveService","formAllFieldsValidationService","isSubmittingConfirm","confirmPaymentForm","submitPayment","openCancelPaymentPopup","approveTransferRequest","signature","validationAllForms","approveTransfer","approveResponse","takeUntil","takeWhile","AB_SENTOO_TRANSFER","setReturnUrl","authorizationMethod","arubaAppImg","desktopImg","mobileImg","refreshImg","destroy$","requestQRError","getQrCodeImage","getCountry","getSentooTransaction","transaction","qrImage","pollPaymentStatus","timer$","statusResponse","numberOfApprovalsRequired","redirectToPaymentScreen","PaymentCompleteComponent","redirectToMerchant","PaymentInvalidComponent","PaymentPendingComponent","SimpleChanges","SentooComponent","ARUBA_APP_SENTOO_URL","ORCO_APP_SENTOO_URL","openAppTimeout","ngOnChanges","currentValue","checkTransferRouteAccess","openAppSamsungBrowser","URL","userHasAccess","hasAccess","ANALYZE_FOR_ENTRY_COMPONENTS","ROUTES","DYNAMIC_COMPONENT","NgbPaginationModule","ProviderArray","ngModule","providers","multi","AB_API_SENTOO_ACCOUNTS","AB_API_SENTOO_APPROVE","AB_API_SENTOO_CANCEL","paymentId","AB_API_SENTOO_CREATE","AB_API_SENTOO_PAYMENT_DETAILS","AB_API_SENTOO_QRCODE","encryptedDataSubject","sentooTransactionSubject","countrySubject","transactionId","extractSentooTransactionAndCountry","extractSentooTransaction","extractCountry","AB_API_SENTOO_STATUS","SessionExpiryPopupComponent","AB_SHOW_SESSION_EXPIRY_POPUP","ExpiryPopupService","popupId","initOpenPopUp","openSessionPopup","startPopupTimer","stopTimer","merge","SessionService","IdleConfigService","sessionService","platform","configIdle","onActivity","refreshSession","AB_REFRESH_SESSION_TIME","isRunningValue","userEvents","idleSubsctiption","_timeUp","_activity","timeUp","activity","stopCheckUserActivity","startCheckUserActivity","isRunning","MessageEvent","channelName","HttpRequest","HttpHandler","HttpEvent","HttpResponse","HttpErrorResponse","SessionInterceptorService","expiryPopupService","intercept","req","waitingOtherRequest","setRequset","handle","chechResponse","waitingForRefreshToken","waitRefreshToken","refreshToken","AB_API_REFRESH_SESSION","callDone","waitOtherRequest","waiting","_waitingOtherRequest","requests","Map","refresh","refreshTokenOver","refreshTokenWait","has","HTTP_INTERCEPTORS","idleConfigService","useClass","AbDatePipe","LOCALE_ID","MomentDateAdapter","AbDateAdapter","abDatePipe","locale","AB_ACCESS_DENIED_REDIRECT_INTERVAL","AccessDeniedComponent","trigger","style","transition","animate","ADDRESS_BOOK_TABS","tabAnimation","opacity","AddressBookComponent","personalTabNotPermission","internalTransferDisabled","externalTransferDisabled","billTransferDisabled","pageMode","companiesActions","beneficiariesActions","onSelect","addAddress","tabChange","_companiesList","_ownAccountList","_beneficiariesList","tabs","addressBookTabs","selectedTab","Personal","personalSearch","companiesSearch","ownAccountList","beneficiariesList","companiesList","showOwnAccounts","ownAccountListEmpty","beneficiariesListEmpty","initPersonalList","initCompaniesList","filterOwnAccounts","filterLetterArray","Companies","selectTab","tab","Animation","trackByFn","captureDoneEvent","toState","triggerAddAddress","letter","beneficiariesAddresses","beneficiary","ownBankAccounts","firstName","getNameValue","secondName","billPayeesCompanies","company","alias","reduce","filterdData","forwardRef","ControlContainer","NG_VALUE_ACCESSOR","AbstractControl","NG_VALIDATORS","AddressComponent","controlContainer","formControlName","showSaveAddressCheckbox","addressForm","streetName","houseNumber","city","ZIPCode","onTouched","formControl","control","addSubForms","addControl","writeValue","emitEvent","registerOnChange","fn","registerOnTouched","validate","invalid","useExisting","ValidationErrors","BankService","StateService","IState","BankListComponent","stateService","bankService","withoutState","withoutLabel","skipDestroy","bankList","onChange","selectedBank","prefilledValue","isAba","bankFormGroup","domesticBeneficiaryBank","getBankByCountry","banks","updateForm","setProp","stateSubscription","updateState","prefilledBank","bank","abaCode","bicCode","selectBank","default","billPayee","toAccount","getPropValue","arubaBank","markAsPristine","markAsUntouched","patchValue","errors","RendererFactory2","CountryListService","MatLegacySelect","CountryListComponent","countyListService","matSelect","hideLabel","countryListDropDown","selectedCountryName","positionChangeSubscription","countryForm","rendererFactory","createRenderer","validator","getCountryList","ngDoCheck","dirty","touched","validation","onOpenedChange","removeClass","orderArray","intCountry","shortListCountries","list","countryCode","setPrefilledToForm","hidden","setPosition","propertyName","increaseValue","position","prefilledCountry","RangeValidator","CurrencyInputComponent","maxlength","field","amountRequired","rangeMin","_rangeMin","currencyForm","validatiors","rangeMax","amountExceedsLimit","_notAllowedCurrency","allowedCurrency","currencyCode","notAllowedCurrency","currencyInput","initValueDone","hasError","lessThan","change","touch","BulkTransferService","BULK_TRANSFER_TYPES","FileUploadFieldComponent","bulkTransferService","configuration","onFileUpload","fileElement","selectedFile","fileEmitted","bulkFileStructures","defaultConfiguration","purposeOptions","INTERNATIONAL","DOMESTIC","getPurpose","purpose","getTransferType","deleteFile","emitFile","openExplainationDialog","markAsDirty","BankByBICService","SwiftFeePayee","ForeignBankComponent","bankByBICService","hideCharges","beneficiaryBankName","intermediaryBankName","beneficiaryBankValueInput","intermediaryBankValueInput","bicValidators","validationPaymentsBICCodeMinLength","validationPaymentsBICCodeLength","abaValidators","validationAddressBookABALength","foreignBankForm","swiftFeePayeeMethod","beneficiaryBankType","beneficiaryBankValue","intermediaryBankType","intermediaryBankValue","beneficiaryBank","intermediaryBank","beneficiaryBankMaxLength","beneficiaryBankMinLength","intermediaryBankMaxLength","intermediaryBankMinLength","internationalBeneficiaryBankDD","intermediaryBeneficiaryBankDD","setBeneficiaryBankValidators","setIntermediaryBankValidators","isABA","onlySelf","beneficiaryBankValidationBic","intermediaryBankValueValidationBic","formInvalid","checkBicCode","subject","getBankByBIC","bankInfo","LoaderService","LoaderComponent","loaderService","preventAutoBlocking","NgZone","TaskService","PrintComponent","taskService","ngZone","onTasksComplete","triggerBrowserPrint","runOutsideAngular","print","RichtextComponent","TabNavigationComponent","activeMenu","Tabs","IsRetailOnly","lenght","nav","n","navigationLink","Key","isTransfer","TableComponent","header","cols","apiDomain","NEW_MASHUP_URL","newPegaMashupScriptUrl","AB_API_INITIAL_VIEW","AB_API_USER_MANAGEMENT","AB_API_USER_MANAGEMENT_OVERVIEW_URL","AB_API_PORTFOLIO_USERS_DETAILS","AB_API_SET_DEFAULT_PORTFOLIO","AB_API_PORTFOLIO_USERS_ENDPOINT","AB_API_EXCHANGE_RATES_ENDPOINT","AB_API_LOCAL_FROM_ACCOUNTS_ENDPOINT","AB_API_FROM_ACCOUNTS_BULK_ENDPOINT","AB_API_INTERNATIONAL_FROM_ACCOUNTS_ENDPOINT","AB_API_ACCOUNTS_FOR_CLOSING","AB_API_OVERDRAFTS","AB_API_GETACCOUNTDETAILS","AB_API_FULL_PORTFOLIO_VIEW","AP_API_CHECK_ROUTE_ACCESS","AB_API_PORTFOLIO","AB_API_PORTFOLIO_DEFAULT","AB_API_GET_CHALLENGE","AB_API_TRANSACTION_ACCOUNT","AB_API_TRANSACTION_OVERVIEW","AB_API_TRANSACTION_SEARCH","AB_API_BLOCK_BANK_ACCOUNT","AB_API_TRANSACTION_DOWNLOAD","AB_API_TRANSACTION_STATEMENTS","AB_API_TRANSFERS_SUBMITTED","AB_API_TRANSFERS_SUBMITTED_DETAIL","AB_API_TRANSFERS_REJECTED_ONETIME","AB_API_TRANSFERS_REJECTED_ONETIME_FULL","AB_API_TRANSFERS_REJECTED_RECURRING","AB_API_TRANSFERS_REJECTED_RECURRING_FULL","AB_API_BULK_TRANSFERS_REJECTED","AB_API_BULK_TRANSFERS_REJECTED_FULL","AB_API_TRANSFERS_COUNTRYLIST","AB_API_TRANSFERS_GETBANKSBYCOUNTRY","AB_API_REFERENCE_CODES","AB_API_BILL_PAYEE_ATTRIBUTES","AB_API_TRANSFERS_TO_ACCOUNTS","AB_API_TRANSFERS_TO_BENEFICIARIES","AB_API_TRANSFERS_SUBMIT","AB_API_TRANSFERS_SCHEDULED","AB_API_TRANSFERS_SCHEDULED_BULK","AB_API_TRANSFERS_VALIDATE","AB_API_BANK_BY_BIC","AB_API_TRANSFERS_BULK_VALIDATE","AB_API_TRANSFERS_BULK_UPLOAD","AB_API_TRANSFERS_BULK_DOMESTIC","AB_API_TRANSFERS_BULK_INTERNATIONAL","AB_API_DAILY_LIMIT","AB_API_PAYMENTS_PENDING_TRANSFERS_COUNT","AB_API_TRANSFERS_PENDING","AB_API_TRANSFERS_DELETE","AB_API_TRANSFERS_GET_TRANSFER","AB_API_GET_CHALLENGE_BASKET","AB_API_TRANSFERS_APPROVE","AB_API_PAYMENT_BULK_DOMESTIC","AB_API_PAYMENT_BULK_INTERNATIONAL","AB_API_BULK_VIEW_STATUS","AB_API_BULK_DETAILS","AB_API_BULK_REJECT","AB_API_BASKET_REJECT","AB_API_BASKET_CHECK_PAYMENTS","AB_API_ADDRESSBOOK","AB_API_ADDRESSBOOK_COMPANIES","AB_API_ADDRESSBOOK_BENEFICIARIES","AB_API_ADDRESSBOOK_ADDRESS","AB_API_TEXTBANKING_SEND","AB_API_TEXTBANKING_INFO","AB_API_ATMPINCODE_INFO","AB_API_ATMPINCODE_SEND","AB_API_LINK_ATM_CARD","AB_API_REQUEST_APP","AB_API_DOWNLOAD_DOCUMENTS","AB_API_PERSONALARCHIVE_INTEREST_LETTERS","AB_API_PERSONALARCHIVE_MARKASREAD","AB_API_CLOSE_ACCOUNT","AB_API_MASHUP_ENDPOINT","AB_API_CONTACTUS_DATA","AB_ADDRESSBOOK_URL","AB_ADDRESSBOOK_ADD","AB_GET_BANK_CARDS","AB_BLOCK_BANK_CARD","AB_GET_MOBILE_DEVICES","AB_DISCONNECT_MOBILE_DEVICES","AB_OVERDRAFTSLIMITS","AB_OVERDRAFTSTEPDETAILS","AB_OVERDRAFTSUBMIT","AB_TRANSACTION_PRINT","AB_DATE_PREVENT_REGEX","AB_PHONE_NUMBER_PATTERN","AB_EMAIL_PATTERN","AB_DATE_FORMAT_FULL","AB_DATE_FORMAT_SHORT","AB_CURRENCY_FORMAT","AB_CURRENCY_FORMAT_AMOUNT","RouterAccessService","AccessDirective","elementRef","routerAccessService","checkAccess","setAttribute","checkRouteAccess","access","DecimalPipe","getLocaleNumberSymbol","NumberSymbol","NgControl","AmountFormatterDirective","decimalPipe","pipeFormat","el","valueChangesSubscription","onInput","onFocus","regex","Group","onBlur","ButtonLoaderStateService","ButtonLoaderDirective","buttonLoaderStateService","loaderState","toggleState","loaderStateWithIndex","DateFormatterDirective","FileDropZoneDirective","filesChangeEmiter","active","evt","hostVars","iframeResizer","IFrameResizerDirective","components","checkOrigin","heightCalculationMethod","iFrameResizer","ScrollInvalidDirective","formGroup","formName","scrollPriority","isInvalid","scrollToInvalidElement","invalidElement","Array","querySelectorAll","e","scrollTo","left","top","getBoundingClientRect","scrollY","ScrollToDirective","focusElement","input","UnitsDirective","innerText","convertToKiloByte","byte","isNaN","kiloByte","toFixed","AbCurrencySymbolPipe","USD","EURO","EUR","AWG","ANG","GBP","AbCurrencyPipe","DatePipe","AbFileSizePipe","units","bytes","precision","String","isFinite","unit","AbFilterCountriesPipe","searchValue","AbMoneyPipe","ReplacePipe","replaceOn","DomSanitizer","SecurityContext","SafeHtmlPipe","sanitized","sanitize","HTML","bypassSecurityTrustHtml","SupFractionPipe","moneyPipe","safeHtmlPipe","noHtml","money","moneyArray","PortfolioLevel","_formLogin","accountForTransfer","accountForTransferIsLoaded","getWithoutLoader","responseObject","getAccountForTransfer","clearAccountForTransfer","AntiForgeryTokenService","antiForgeryToken","VerificationToken","newHeaders","clone","camelCase","resource","camelCaseResponse","err","withoutLoader","withButtonLoader","put","isArray","v","finalize","ButtonLoaderInterceptorService","startLoader","stopLoader","withUrls","stateWithIndex","configurationSettings","configurationSettingsContext","validationAttributeName","validationAttributes","behaviorData","_onScroll","getBehaviorData","publishBehaviorData","ErrorHandlingInterceptorService","UntypedFormArray","_subForms","scrollInvalidDirective","val","setScrollInvalidDirective","a","b","markAsTouched","c","subForm","d","genericErrors","generateErrors","generateFields","errorArray","errorKey","camelCasedErrorKey","charAt","parameter","fieldArray","fieldKey","camelCasedFieldKey","helpText","alternativePlaceholder","otherCountry","mask","accountsResponse","metadata","getKey","HttpCancelInterceptorService","accountsOverviewResponse","clearAccountsOverview","LoaderInterceptorService","count","hide","currentMenuTrigger","lastMenuTrigger","isFirstOpen","listenForScroll","actionsCollection","subscribeToEvent","listen","closeActiveMenu","currentSubscriptions","currentPortfolio","getCurrentPortfolio","clearPortfolios","r","distinctUntilChanged","tasks","taskObservor","resetTasks","setTask","task","every","userAgent","navigator","opera","isMobileDevice","vendor","test","isTabletDevice","tabletRegex","messagesCountService","initialViewSerivce","wasLoggedIn","isFirstTime","clearServices","redirectUrl","MatMomentDateModule","MAT_MOMENT_DATE_ADAPTER_OPTIONS","MatLegacyAutocompleteModule","MatLegacyCheckboxModule","DateAdapter","MatDatepickerModule","MatLegacyDialogModule","MatExpansionModule","MatLegacyRadioModule","MatLegacySelectModule","MatLegacySlideToggleModule","NgbCollapseModule","NgbTooltipModule","InfiniteScrollModule","NgxMaskModule","ValidatorsModule","useUtc","TransactionsModule","BIC","bic","_getBankByCountry","BULK_TRANSFER_PURPOSES","onConfirm","orderReference","metaFields","onError","SALARY_PAYMENTS","setAmountExceedsLimitError","getAmountExceedsLimitError","setMetaFields","getMetaFields","setOnSubmit","isValid","getOnSubmit","setOnConfirm","isSet","getOnConfirm","setOrderReference","getOrderReference","setPurpose","FOREIGN_BULK","InternalAccountsService","isOnly","transferOption","transferOptionsMap","option","bool","PAYMENT_TYPES","bankAccount","stringParams","internalTransfer","domesticTransfer","isResident","categoryNames","defaultReferenceCode","explanation","self","ToAccountsListItemType","internalAccountsService","fromEditInit","toEditInit","internalAccounts","toAccounts","finalState","previousState","resetFormMode","editTransfer","prefilledData","instantiateProp","prop","DEFAULT_PROP_MAP","INTERNAL_ACCOUNTS","TO_ACCOUNTS","stopSetState","setState","getProp","computedState","isPrefilledForm","isInternationalTransfer","isInternalTransferOnly","internalOnly","isBillPayeeTransfer","isDomesticTransfer","isInternalTransfer","forceState","accountCreateTransfersPermissions","listItemType","OwnAccount","entries","BillPayee","prefilledForm","editTransferState","emptyState","stopPrefillMode","ToAccountsService","getToAccountsList","TransfersModule","UserAccessManagementModule","MinLengthTrimDirective","abMinLengthTrim","valFun","trim","min","max","controlValue","range","FormsModule","config","production","process","PRODUCTION","sitecoreApiHost","SITECORE_API_HOST","SITECORE_API_KEY","jssAppName","JSS_APP_NAME","sitecoreLayoutServiceConfig","SITECORE_LAYOUT_SERVICE_CONFIG","DEFAULT_LANGUAGE","DEFAULT_SERVER_ROUTE","graphQLEndpointPath","GRAPH_QL_ENDPOINT_PATH","GRAPH_QL_ENDPOINT","enableProdMode","handleEditorAnchors","addEventListener","__NgCli_bootstrap_1","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[256]}