{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.material.module.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.module.ts","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/core/helpers/apiURLConstants.ts","webpack:///./src/app/core/helpers/appConstants.ts","webpack:///./src/app/core/helpers/appVariables.ts","webpack:///./src/app/core/helpers/routerConstants.ts","webpack:///./src/app/core/models/Enumerations.ts","webpack:///./src/app/core/models/_banks_list_backup.ts","webpack:///./src/app/core/models/_countryLists.ts","webpack:///./src/app/core/models/auth.ts","webpack:///./src/app/core/models/mocks/_beneficiaries.mock.ts","webpack:///./src/app/core/models/mocks/_billers.mock.ts","webpack:///./src/app/core/models/mocks/_fileuploads.mock.ts","webpack:///./src/app/core/models/mocks/_transfers.mock.ts","webpack:///./src/app/core/models/mocks/_workflow.mock.ts","webpack:///./src/app/core/models/user/AppUser.ts","webpack:///./src/app/core/services/EventHandlerService.ts","webpack:///./src/app/core/services/FxRequestHistory.service.ts","webpack:///./src/app/core/services/account.service.ts","webpack:///./src/app/core/services/appconfig.service.ts","webpack:///./src/app/core/services/auth.service.ts","webpack:///./src/app/core/services/beneficiary.service.ts","webpack:///./src/app/core/services/bento/bento.service.ts","webpack:///./src/app/core/services/corporate-billers.service.ts","webpack:///./src/app/core/services/credit-card-request.service.ts","webpack:///./src/app/core/services/custodian.service.ts","webpack:///./src/app/core/services/dashboard.service.ts","webpack:///./src/app/core/services/document.helper.service.ts","webpack:///./src/app/core/services/enaira.service.ts","webpack:///./src/app/core/services/file.helper.service.ts","webpack:///./src/app/core/services/fx-payment.service.ts","webpack:///./src/app/core/services/helpers.service.ts","webpack:///./src/app/core/services/httpResponseInterceptors.ts","webpack:///./src/app/core/services/httpinterceptor.service.ts","webpack:///./src/app/core/services/intellinx-service.ts","webpack:///./src/app/core/services/misc.service.ts","webpack:///./src/app/core/services/mock.service.ts","webpack:///./src/app/core/services/name.enquiry.service.ts","webpack:///./src/app/core/services/pension.service.ts","webpack:///./src/app/core/services/prepaid-card.service.ts","webpack:///./src/app/core/services/receipt.service.ts","webpack:///./src/app/core/services/request.staged.service.ts","webpack:///./src/app/core/services/service-request/service-request.service.ts","webpack:///./src/app/core/services/shipping-payment.service.ts","webpack:///./src/app/core/services/signalr.service.ts","webpack:///./src/app/core/services/sss-banking.tag.service.ts","webpack:///./src/app/core/services/staging/beneficiary.staging.service.ts","webpack:///./src/app/core/services/staging/biller.staging.service.ts","webpack:///./src/app/core/services/staging/payment.staging.service.ts","webpack:///./src/app/core/services/staging/service-request.staging.service.ts","webpack:///./src/app/core/services/staging/transfer.staging.service.ts","webpack:///./src/app/core/services/storage.service.ts","webpack:///./src/app/core/services/transaction.service.ts","webpack:///./src/app/core/services/transfer.service.ts","webpack:///./src/app/core/services/transfer.wallet.service.ts","webpack:///./src/app/core/services/unscheduledRepaymentServices/unscheduled-repayment.service.ts","webpack:///./src/app/core/services/utils.service.ts","webpack:///./src/app/core/services/variables.service.ts","webpack:///./src/app/core/services/virtual-card.service.ts","webpack:///./src/app/core/services/wakanow-integration.service.ts","webpack:///./src/app/core/services/workflow/approvals.history.service.ts","webpack:///./src/app/core/services/workflow/beneficiary.approval.service.ts","webpack:///./src/app/core/services/workflow/biller.approval.service.ts","webpack:///./src/app/core/services/workflow/payments.approval.service.ts","webpack:///./src/app/core/services/workflow/service-request.approval.service.ts","webpack:///./src/app/core/services/workflow/transfer.approval.service.ts","webpack:///./src/app/core/stanbic.base64Image.constants.ts","webpack:///./src/app/pages/DebitCardAutoRenewal/AcceptCondition-Modal/AcceptCondition-Modal.component.css","webpack:///./src/app/pages/DebitCardAutoRenewal/AcceptCondition-Modal/AcceptCondition-Modal.component.html","webpack:///./src/app/pages/DebitCardAutoRenewal/AcceptCondition-Modal/AcceptCondition-Modal.component.ts","webpack:///./src/app/pages/DebitCardAutoRenewal/AcceptCondition-Modal/AcceptCondition-Modal.module.ts","webpack:///./src/app/pages/approvals/approvals.component.css","webpack:///./src/app/pages/approvals/approvals.component.html","webpack:///./src/app/pages/approvals/approvals.component.ts","webpack:///./src/app/pages/approvals/approvals.module.ts","webpack:///./src/app/pages/approvals/base.approval.component.ts","webpack:///./src/app/pages/approvals/beneficiariry-approvals/beneficiariry-approvals.component.css","webpack:///./src/app/pages/approvals/beneficiariry-approvals/beneficiariry-approvals.component.html","webpack:///./src/app/pages/approvals/beneficiariry-approvals/beneficiariry-approvals.component.ts","webpack:///./src/app/pages/approvals/bill-payment-approvals/bill-payment-approvals.component.css","webpack:///./src/app/pages/approvals/bill-payment-approvals/bill-payment-approvals.component.html","webpack:///./src/app/pages/approvals/bill-payment-approvals/bill-payment-approvals.component.ts","webpack:///./src/app/pages/approvals/biller-approvals/biller-approvals.component.css","webpack:///./src/app/pages/approvals/biller-approvals/biller-approvals.component.html","webpack:///./src/app/pages/approvals/biller-approvals/biller-approvals.component.ts","webpack:///./src/app/pages/approvals/bulk-pension-payments/bulk-pension-payments.component.css","webpack:///./src/app/pages/approvals/bulk-pension-payments/bulk-pension-payments.component.html","webpack:///./src/app/pages/approvals/bulk-pension-payments/bulk-pension-payments.component.ts","webpack:///./src/app/pages/approvals/file-upload-approval/file-upload-approval.component.css","webpack:///./src/app/pages/approvals/file-upload-approval/file-upload-approval.component.html","webpack:///./src/app/pages/approvals/file-upload-approval/file-upload-approval.component.ts","webpack:///./src/app/pages/approvals/fx-payment-approvals/fx-payment-approvals.component.css","webpack:///./src/app/pages/approvals/fx-payment-approvals/fx-payment-approvals.component.html","webpack:///./src/app/pages/approvals/fx-payment-approvals/fx-payment-approvals.component.ts","webpack:///./src/app/pages/approvals/payment-approvals/payment-approvals.component.css","webpack:///./src/app/pages/approvals/payment-approvals/payment-approvals.component.html","webpack:///./src/app/pages/approvals/payment-approvals/payment-approvals.component.ts","webpack:///./src/app/pages/approvals/service-request-approvals/service-request-approvals.component.css","webpack:///./src/app/pages/approvals/service-request-approvals/service-request-approvals.component.html","webpack:///./src/app/pages/approvals/service-request-approvals/service-request-approvals.component.ts","webpack:///./src/app/pages/approvals/western-union-approvals/western-union-approvals.component.css","webpack:///./src/app/pages/approvals/western-union-approvals/western-union-approvals.component.html","webpack:///./src/app/pages/approvals/western-union-approvals/western-union-approvals.component.ts","webpack:///./src/app/pages/containers/default-layout/default-layout.component.css","webpack:///./src/app/pages/containers/default-layout/default-layout.component.html","webpack:///./src/app/pages/containers/default-layout/default-layout.component.ts","webpack:///./src/app/pages/dialogs/beneficiary/beneficiary.component.css","webpack:///./src/app/pages/dialogs/beneficiary/beneficiary.component.html","webpack:///./src/app/pages/dialogs/beneficiary/beneficiary.component.ts","webpack:///./src/app/pages/fx-transactions/cancel-fx-request/cancel-fx-request.component.html","webpack:///./src/app/pages/fx-transactions/cancel-fx-request/cancel-fx-request.component.ts","webpack:///./src/app/pages/fx-transactions/fx-transaction-request-history/fx-transaction-request-history.component.css","webpack:///./src/app/pages/fx-transactions/fx-transaction-request-history/fx-transaction-request-history.component.html","webpack:///./src/app/pages/fx-transactions/fx-transaction-request-history/fx-transaction-request-history.component.ts","webpack:///./src/app/pages/fx-transactions/fx-transaction-request.html","webpack:///./src/app/pages/fx-transactions/fx-transaction-request.ts","webpack:///./src/app/pages/fx-transactions/fx-transactions-route.ts","webpack:///./src/app/pages/fx-transactions/fx-transactions.component.css","webpack:///./src/app/pages/fx-transactions/fx-transactions.module.ts","webpack:///./src/app/pages/loan/loan-request/loan.request.service.ts","webpack:///./src/app/pages/loan/loan-topup/loan-topup.service.ts","webpack:///./src/app/pages/manage-fx-transaction/fx-transaction-history/fx-transaction-history.component.css","webpack:///./src/app/pages/manage-fx-transaction/fx-transaction-history/fx-transaction-history.component.html","webpack:///./src/app/pages/manage-fx-transaction/fx-transaction-history/fx-transaction-history.component.ts","webpack:///./src/app/pages/manage-fx-transaction/initate-fx-transaction/initate-fx-transaction.component.css","webpack:///./src/app/pages/manage-fx-transaction/initate-fx-transaction/initate-fx-transaction.component.html","webpack:///./src/app/pages/manage-fx-transaction/initate-fx-transaction/initate-fx-transaction.component.ts","webpack:///./src/app/pages/manage-fx-transaction/manage-fx-transaction.component.css","webpack:///./src/app/pages/manage-fx-transaction/manage-fx-transaction.component.html","webpack:///./src/app/pages/manage-fx-transaction/manage-fx-transaction.component.ts","webpack:///./src/app/pages/manage-fx-transaction/manage-fx-transaction.module.ts","webpack:///./src/app/pages/manage-fx-transaction/manage-fx-transaction.routes.ts","webpack:///./src/app/pages/transaction-status/base.pending-request.component.ts","webpack:///./src/app/pages/transaction-status/bill-payment-requests/bill-payment-requests.component.css","webpack:///./src/app/pages/transaction-status/bill-payment-requests/bill-payment-requests.component.html","webpack:///./src/app/pages/transaction-status/bill-payment-requests/bill-payment-requests.component.ts","webpack:///./src/app/pages/transaction-status/bulk-payment-requests/bulk-payment-requests.component.css","webpack:///./src/app/pages/transaction-status/bulk-payment-requests/bulk-payment-requests.component.html","webpack:///./src/app/pages/transaction-status/bulk-payment-requests/bulk-payment-requests.component.ts","webpack:///./src/app/pages/transaction-status/payment-requests/payment-requests.component.css","webpack:///./src/app/pages/transaction-status/payment-requests/payment-requests.component.html","webpack:///./src/app/pages/transaction-status/payment-requests/payment-requests.component.ts","webpack:///./src/app/pages/transaction-status/pending-beneficiary-mgt-request/pending-beneficiary-mgt-request.component.css","webpack:///./src/app/pages/transaction-status/pending-beneficiary-mgt-request/pending-beneficiary-mgt-request.component.html","webpack:///./src/app/pages/transaction-status/pending-beneficiary-mgt-request/pending-beneficiary-mgt-request.component.ts","webpack:///./src/app/pages/transaction-status/pending-biller-mgt-request/pending-biller-mgt-request.component.css","webpack:///./src/app/pages/transaction-status/pending-biller-mgt-request/pending-biller-mgt-request.component.html","webpack:///./src/app/pages/transaction-status/pending-biller-mgt-request/pending-biller-mgt-request.component.ts","webpack:///./src/app/pages/transaction-status/pending-fx-payment-requests/pending-fx-payment-requests.component.css","webpack:///./src/app/pages/transaction-status/pending-fx-payment-requests/pending-fx-payment-requests.component.html","webpack:///./src/app/pages/transaction-status/pending-fx-payment-requests/pending-fx-payment-requests.component.ts","webpack:///./src/app/pages/transaction-status/service-requests/service-requests.component.css","webpack:///./src/app/pages/transaction-status/service-requests/service-requests.component.html","webpack:///./src/app/pages/transaction-status/service-requests/service-requests.component.ts","webpack:///./src/app/pages/transaction-status/transaction-status.component.css","webpack:///./src/app/pages/transaction-status/transaction-status.component.html","webpack:///./src/app/pages/transaction-status/transaction-status.component.ts","webpack:///./src/app/pages/transaction-status/transactionstatus.module.ts","webpack:///./src/app/pages/transaction-status/western-union-payment-requests/western-union-payment-requests.component.css","webpack:///./src/app/pages/transaction-status/western-union-payment-requests/western-union-payment-requests.component.html","webpack:///./src/app/pages/transaction-status/western-union-payment-requests/western-union-payment-requests.component.ts","webpack:///./src/app/pages/unscheduled-repayment/Tenure-Modal/tenure-modal.component.css","webpack:///./src/app/pages/unscheduled-repayment/Tenure-Modal/tenure-modal.component.html","webpack:///./src/app/pages/unscheduled-repayment/Tenure-Modal/tenure-modal.component.ts","webpack:///./src/app/pages/unscheduled-repayment/Tenure-Modal/tenure-modal.module.ts","webpack:///./src/app/pages/virtual-card/card-formart.pipe.ts","webpack:///./src/app/pages/virtual-card/virtual-card-management/hotlist-card/hotlist-card.component.css","webpack:///./src/app/pages/virtual-card/virtual-card-management/hotlist-card/hotlist-card.component.html","webpack:///./src/app/pages/virtual-card/virtual-card-management/hotlist-card/hotlist-card.component.ts","webpack:///./src/app/pages/virtual-card/virtual-card-management/retrieve-pin/retrieve-pin.component.css","webpack:///./src/app/pages/virtual-card/virtual-card-management/retrieve-pin/retrieve-pin.component.html","webpack:///./src/app/pages/virtual-card/virtual-card-management/retrieve-pin/retrieve-pin.component.ts","webpack:///./src/app/pages/virtual-card/virtual-card-management/virtual-card-management.component.css","webpack:///./src/app/pages/virtual-card/virtual-card-management/virtual-card-management.component.html","webpack:///./src/app/pages/virtual-card/virtual-card-management/virtual-card-management.component.ts","webpack:///./src/app/pages/virtual-card/virtual-card-request/virtual-card-request.component.css","webpack:///./src/app/pages/virtual-card/virtual-card-request/virtual-card-request.component.html","webpack:///./src/app/pages/virtual-card/virtual-card-request/virtual-card-request.component.ts","webpack:///./src/app/pages/virtual-card/virtual-card-routing.module.ts","webpack:///./src/app/pages/virtual-card/virtual-card.component.css","webpack:///./src/app/pages/virtual-card/virtual-card.component.html","webpack:///./src/app/pages/virtual-card/virtual-card.component.ts","webpack:///./src/app/pages/virtual-card/virtual-card.module.ts","webpack:///./src/app/shared/airtime/airtime.component.css","webpack:///./src/app/shared/airtime/airtime.component.html","webpack:///./src/app/shared/airtime/airtime.component.ts","webpack:///./src/app/shared/approval-history/approval-history.component.css","webpack:///./src/app/shared/approval-history/approval-history.component.html","webpack:///./src/app/shared/approval-history/approval-history.component.ts","webpack:///./src/app/shared/corporate-biller-forms/corporate-biller-dynamic-form.component.css","webpack:///./src/app/shared/corporate-biller-forms/corporate-biller-dynamic-form.component.html","webpack:///./src/app/shared/corporate-biller-forms/corporate-biller-dynamic-form.component.ts","webpack:///./src/app/shared/custom-pipes.ts","webpack:///./src/app/shared/dialogs/card-expiry-notification/card-expiry-notification.component.css","webpack:///./src/app/shared/dialogs/card-expiry-notification/card-expiry-notification.component.html","webpack:///./src/app/shared/dialogs/card-expiry-notification/card-expiry-notification.component.ts","webpack:///./src/app/shared/dialogs/reject-request/reject-request.component.css","webpack:///./src/app/shared/dialogs/reject-request/reject-request.component.html","webpack:///./src/app/shared/dialogs/reject-request/reject-request.component.ts","webpack:///./src/app/shared/dialogs/show-bvn-number/show-bvn-number.component.css","webpack:///./src/app/shared/dialogs/show-bvn-number/show-bvn-number.component.html","webpack:///./src/app/shared/dialogs/show-bvn-number/show-bvn-number.component.ts","webpack:///./src/app/shared/dialogs/verify-account-user/verify-account-user.component.css","webpack:///./src/app/shared/dialogs/verify-account-user/verify-account-user.component.html","webpack:///./src/app/shared/dialogs/verify-account-user/verify-account-user.component.ts","webpack:///./src/app/shared/row-component/file-upload-component/file-upload/file-upload.component.css","webpack:///./src/app/shared/row-component/file-upload-component/file-upload/file-upload.component.html","webpack:///./src/app/shared/row-component/file-upload-component/file-upload/file-upload.component.ts","webpack:///./src/app/shared/row-component/row/row.component.css","webpack:///./src/app/shared/row-component/row/row.component.html","webpack:///./src/app/shared/row-component/row/row.component.ts","webpack:///./src/app/shared/session-timeout/session-timeout.component.css","webpack:///./src/app/shared/session-timeout/session-timeout.component.html","webpack:///./src/app/shared/session-timeout/session-timeout.component.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/shared/transaction-limit/transaction-limit.component.css","webpack:///./src/app/shared/transaction-limit/transaction-limit.component.html","webpack:///./src/app/shared/transaction-limit/transaction-limit.component.ts","webpack:///./src/app/shared/workflow/workflow.component.css","webpack:///./src/app/shared/workflow/workflow.component.html","webpack:///./src/app/shared/workflow/workflow.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;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,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;ACpSA;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,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;AChJA,sEAAsE,4BAA4B,GAAG,6BAA6B,+CAA+C,GAAG,iDAAiD,2BAA2B,GAAG,UAAU,uBAAuB,sBAAsB,2BAA2B,4BAA4B,6BAA6B,0BAA0B,GAAG,gBAAgB,gCAAgC,GAAG,gCAAgC,kBAAkB,2BAA2B,YAAY,wBAA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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"src/app/pages/DebitCardAutoRenewal/debitcard-autorenewal/debitcard-autorenewal.module\": [\n\t\t\"./src/app/pages/DebitCardAutoRenewal/debitcard-autorenewal/debitcard-autorenewal.module.ts\",\n\t\t\"src-app-pages-DebitCardAutoRenewal-debitcard-autorenewal-debitcard-autorenewal-module\"\n\t],\n\t\"src/app/pages/account/accounts.module\": [\n\t\t\"./src/app/pages/account/accounts.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-account-accounts-module\"\n\t],\n\t\"src/app/pages/approvals/approvals.module\": [\n\t\t\"./src/app/pages/approvals/approvals.module.ts\"\n\t],\n\t\"src/app/pages/authentication/authentication.module\": [\n\t\t\"./src/app/pages/authentication/authentication.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-authentication-authentication-module\"\n\t],\n\t\"src/app/pages/beneficiaries/beneficiaries.module\": [\n\t\t\"./src/app/pages/beneficiaries/beneficiaries.module.ts\",\n\t\t\"default~src-app-pages-beneficiaries-beneficiaries-module~src-app-pages-transfer-transfer-module\",\n\t\t\"common\",\n\t\t\"src-app-pages-beneficiaries-beneficiaries-module\"\n\t],\n\t\"src/app/pages/bento/bento.module\": [\n\t\t\"./src/app/pages/bento/bento.module.ts\",\n\t\t\"src-app-pages-bento-bento-module\"\n\t],\n\t\"src/app/pages/bill-payment/billpayments.module\": [\n\t\t\"./src/app/pages/bill-payment/billpayments.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-bill-payment-billpayments-module\"\n\t],\n\t\"src/app/pages/billers/billers.module\": [\n\t\t\"./src/app/pages/billers/billers.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-billers-billers-module\"\n\t],\n\t\"src/app/pages/buy-airtime/airtime-topup.module\": [\n\t\t\"./src/app/pages/buy-airtime/airtime-topup.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-buy-airtime-airtime-topup-module\"\n\t],\n\t\"src/app/pages/corporate-billers/corporate-billers.module\": [\n\t\t\"./src/app/pages/corporate-billers/corporate-billers.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-corporate-billers-corporate-billers-module\"\n\t],\n\t\"src/app/pages/credit-card-management/credit-card-management.module\": [\n\t\t\"./src/app/pages/credit-card-management/credit-card-management.module.ts\",\n\t\t\"default~src-app-pages-credit-card-management-credit-card-management-module~src-app-pages-wakanow-int~8c36035a\",\n\t\t\"common\",\n\t\t\"src-app-pages-credit-card-management-credit-card-management-module\"\n\t],\n\t\"src/app/pages/enaira-management/enaira-management.module\": [\n\t\t\"./src/app/pages/enaira-management/enaira-management.module.ts\",\n\t\t\"src-app-pages-enaira-management-enaira-management-module\"\n\t],\n\t\"src/app/pages/fx-transactions/fx-transactions.module\": [\n\t\t\"./src/app/pages/fx-transactions/fx-transactions.module.ts\"\n\t],\n\t\"src/app/pages/hardware-token/hardware-token.module\": [\n\t\t\"./src/app/pages/hardware-token/hardware-token.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-hardware-token-hardware-token-module\"\n\t],\n\t\"src/app/pages/intellinx-management/intellinx-management.module\": [\n\t\t\"./src/app/pages/intellinx-management/intellinx-management.module.ts\",\n\t\t\"src-app-pages-intellinx-management-intellinx-management-module\"\n\t],\n\t\"src/app/pages/internationalpayments/internationalpayments.module\": [\n\t\t\"./src/app/pages/internationalpayments/internationalpayments.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-internationalpayments-internationalpayments-module\"\n\t],\n\t\"src/app/pages/loan/loan.module\": [\n\t\t\"./src/app/pages/loan/loan.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-loan-loan-module\"\n\t],\n\t\"src/app/pages/manage-fx-transaction/manage-fx-transaction.module\": [\n\t\t\"./src/app/pages/manage-fx-transaction/manage-fx-transaction.module.ts\"\n\t],\n\t\"src/app/pages/payment-transactions/payment-transactions.module\": [\n\t\t\"./src/app/pages/payment-transactions/payment-transactions.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-payment-transactions-payment-transactions-module\"\n\t],\n\t\"src/app/pages/profile/profile.module\": [\n\t\t\"./src/app/pages/profile/profile.module.ts\",\n\t\t\"src-app-pages-profile-profile-module\"\n\t],\n\t\"src/app/pages/receipts/receipts.module\": [\n\t\t\"./src/app/pages/receipts/receipts.module.ts\",\n\t\t\"src-app-pages-receipts-receipts-module\"\n\t],\n\t\"src/app/pages/scheduled-payments/schedule-payments.module\": [\n\t\t\"./src/app/pages/scheduled-payments/schedule-payments.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-scheduled-payments-schedule-payments-module\"\n\t],\n\t\"src/app/pages/service-request/service-request.module\": [\n\t\t\"./src/app/pages/service-request/service-request.module.ts\",\n\t\t\"src-app-pages-service-request-service-request-module\"\n\t],\n\t\"src/app/pages/three-s-banking/three-s-banking.module\": [\n\t\t\"./src/app/pages/three-s-banking/three-s-banking.module.ts\",\n\t\t\"common\",\n\t\t\"src-app-pages-three-s-banking-three-s-banking-module\"\n\t],\n\t\"src/app/pages/transfer/transfer.module\": [\n\t\t\"./src/app/pages/transfer/transfer.module.ts\",\n\t\t\"default~src-app-pages-beneficiaries-beneficiaries-module~src-app-pages-transfer-transfer-module\",\n\t\t\"common\",\n\t\t\"src-app-pages-transfer-transfer-module\"\n\t],\n\t\"src/app/pages/virtual-card/virtual-card.module\": [\n\t\t\"./src/app/pages/virtual-card/virtual-card.module.ts\"\n\t],\n\t\"src/app/pages/wakanow-integration/wakanow-integration.module\": [\n\t\t\"./src/app/pages/wakanow-integration/wakanow-integration.module.ts\",\n\t\t\"default~src-app-pages-credit-card-management-credit-card-management-module~src-app-pages-wakanow-int~8c36035a\",\n\t\t\"common\",\n\t\t\"src-app-pages-wakanow-integration-wakanow-integration-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar id = ids[0];\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","module.exports = \".cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0.2 !important;\\n}\\n\\n.session-timeout-dialog {\\n border-top: 5px solid orangered !important;\\n}\\n\\n.session-timeout-dialog .mat-dialog-content {\\n margin: 0 0 !important;\\n}\\n\\nmain {\\n position: relative;\\n min-height: 100vh;\\n margin: 0px !important;\\n padding: 0px !important;\\n -ms-overflow-style: none;\\n scrollbar-width: none;\\n}\\n\\n/* section {\\n max-height: 90vh !important;\\n} */\\n\\nmain::-webkit-scrollbar {\\n display: none; /* Safari and Chrome */\\n}\\n\\nfooter {\\n background: #00236e;\\n width: 100vw;\\n height: 4rem;\\n position: fixed;\\n bottom: 0px;\\n color: white;\\n z-index: 20;\\n display: flex;\\n justify-content: center;\\n /* padding-left: 4em; */\\n align-items: center;\\n}\\n\\n.footer__paragraph {\\n margin: 0 !important;\\n text-align: center;\\n}\\n\\n@media only screen and (max-width: 400px) {\\n footer p {\\n font-size: 12px;\\n }\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx3QkFBd0I7Q0FDekI7O0FBRUQ7RUFDRSwyQ0FBMkM7Q0FDNUM7O0FBQ0Q7RUFDRSx1QkFBdUI7Q0FDeEI7O0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLHVCQUF1QjtFQUN2Qix3QkFBd0I7RUFDeEIseUJBQXlCO0VBQ3pCLHNCQUFzQjtDQUN2Qjs7QUFDRDs7SUFFSTs7QUFDSjtFQUNFLGNBQWMsQ0FBQyx1QkFBdUI7Q0FDdkM7O0FBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsYUFBYTtFQUNiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGFBQWE7RUFDYixZQUFZO0VBQ1osY0FBYztFQUNkLHdCQUF3QjtFQUN4Qix3QkFBd0I7RUFDeEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFO0lBQ0UsZ0JBQWdCO0dBQ2pCO0NBQ0YiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgb3BhY2l0eTogMC4yICFpbXBvcnRhbnQ7XG59XG5cbi5zZXNzaW9uLXRpbWVvdXQtZGlhbG9nIHtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIG9yYW5nZXJlZCAhaW1wb3J0YW50O1xufVxuLnNlc3Npb24tdGltZW91dC1kaWFsb2cgLm1hdC1kaWFsb2ctY29udGVudCB7XG4gIG1hcmdpbjogMCAwICFpbXBvcnRhbnQ7XG59XG5cbm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG4vKiBzZWN0aW9uIHtcbiAgbWF4LWhlaWdodDogOTB2aCAhaW1wb3J0YW50O1xufSAqL1xubWFpbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xufVxuXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAyMzZlO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogNHJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDBweDtcbiAgY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiAyMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC8qIHBhZGRpbmctbGVmdDogNGVtOyAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZm9vdGVyX19wYXJhZ3JhcGgge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gIGZvb3RlciBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cblxuIl19 */\"","module.exports = \"\\n
\\n
\\n \\n \\n \\n
\\n\\n \\n
\\n\"","import { Component, OnInit, TemplateRef, ViewChild } from \"@angular/core\";\nimport { MatDialogRef, MatSnackBar } from \"@angular/material\";\nimport { Router } from \"@angular/router\";\n\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { VariablesService } from \"./core/services/variables.service\";\nimport { Constants } from \"./core/helpers/appConstants\";\n\nimport { MultiWindowService, Message } from \"ngx-multi-window\";\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.css\"],\n})\nexport class AppComponent implements OnInit {\n idleState = \"Not started.\";\n timedOut = false;\n lastPing?: Date = null;\n inactiveSessionAlertSent: boolean;\n title = \"smeBankingApp\";\n @ViewChild(\"timeoutMsgTemplate\") sessionTimeOutModalTemplate: TemplateRef<\n any\n >;\n sessionTimeOutModalDialog: MatDialogRef;\n constructor(\n private authService: AuthService,\n private router: Router,\n private multiWindowService: MultiWindowService,\n private _snackbar: MatSnackBar\n ) {\n AuthService.clearSessionTokenOnLogout = true;\n AuthService.useLoginTokenForSessionTokenOnNextAPICall = true;\n AuthService.ValidateUserSession = true;\n\n // this.multiWindowService.onMessage().subscribe((value: Message) => {\n // if (value) {\n // //Call to remove user session on this AppWindow on login from another browser Tab or App Window.\n // if (value.data && value.data == \"obkg_stanbic_rm_session\") {\n // AuthService.clearSessionTokenOnLogout = false; // setting this true will clear session token details from the local storage.\n // this.authService.logout();\n // this.router.navigate([RouterConstants.LoginURL]);\n\n // this._snackbar.open(Constants.MULTI_SESSION_LOGOUT_MESSAGE,\n // 'OK', { duration: 600000 });\n // }\n // }\n // });\n }\n\n ngOnInit() {\n if (!AuthService.FullyAuthenticatedUser) {\n this.router.navigate([RouterConstants.LoginURL]);\n // this.router.navigate([RouterConstants.RootCorporateBillers]);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {MatButtonModule, MatToolbarModule, MatTableModule, MatTabsModule,\n MatIconModule, MatProgressBarModule, MatProgressSpinnerModule, MatFormFieldModule, MatSelectModule,\n MatDialogModule, MatInputModule, MatDatepickerModule, MatNativeDateModule, MatSnackBarModule, MatTooltipModule,\n MatCardModule, MatPaginatorModule, MatSidenavModule, MatListModule, MatMenuModule,\n MatDividerModule, MatRadioModule, MatStepperModule, MatAutocompleteModule, MatCheckboxModule,\n MatExpansionModule,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n MatBadgeModule,\n MAT_DIALOG_DEFAULT_OPTIONS} from '@angular/material';\n\n@NgModule({\n imports: [\n MatNativeDateModule,\n MatButtonModule,\n MatToolbarModule,\n MatTableModule,\n MatTabsModule,\n MatIconModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatDatepickerModule,\n MatSnackBarModule,\n MatTooltipModule,\n MatCardModule,\n MatPaginatorModule,\n MatListModule,\n MatSidenavModule,\n MatMenuModule,\n MatDividerModule,\n MatSelectModule,\n MatRadioModule,\n MatExpansionModule,\n MatBadgeModule\n ],\n exports: [\n MatButtonModule,\n MatToolbarModule,\n MatTableModule,\n MatTabsModule,\n MatIconModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatInputModule,\n MatFormFieldModule,\n MatDialogModule,\n MatDatepickerModule,\n MatSnackBarModule,\n MatTooltipModule,\n MatCardModule,\n MatPaginatorModule,\n MatListModule,\n MatSidenavModule,\n MatMenuModule,\n MatDividerModule,\n MatSelectModule,\n MatRadioModule,\n MatStepperModule,\n MatAutocompleteModule,\n MatCheckboxModule,\n MatExpansionModule,\n MatBadgeModule\n ],\n providers: [\n {provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {\n verticalPosition: 'top', horizontalPosition: 'center', duration: 25000}\n },\n {provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {closeOnNavigation: true}}\n ]\n})\nexport class AppMaterialModule {}\n","import { ShowBvnNumberComponent } from './shared/dialogs/show-bvn-number/show-bvn-number.component';\nimport { VerifyAccountUserComponent } from './shared/dialogs/verify-account-user/verify-account-user.component';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\nimport { MomentModule } from 'angular2-moment';\n\nimport { AppComponent } from './app.component';\nimport { DefaultLayoutComponent } from './pages/containers/default-layout/default-layout.component';\nimport { CommonModule, LocationStrategy, HashLocationStrategy } from '@angular/common';\nimport { AppRoutingModule } from './app.routing.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AppMaterialModule } from './app.material.module';\nimport { BeneficiaryDialogComponent } from './pages/dialogs/beneficiary/beneficiary.component';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { CoreModule } from './core/core.module';\nimport { HttpRequestInterceptor } from './core/services/httpinterceptor.service';\nimport { AllResponseInterceptor } from './core/services/httpResponseInterceptors';\nimport { EventHandlerService } from './core/services/EventHandlerService';\nimport { SimpleNotificationsModule } from 'angular2-notifications';\n\nimport { SharedModule } from './shared/shared.module';\nimport { ApprovalsModule } from './pages/approvals/approvals.module';\nimport { ApprovalHistoryComponent } from './shared/approval-history/approval-history.component';\nimport { RejectRequestComponent } from './shared/dialogs/reject-request/reject-request.component';\nimport { TransactionsStatusModule } from './pages/transaction-status/transactionstatus.module';\nimport { CardExpiryNotificationComponent } from './shared/dialogs/card-expiry-notification/card-expiry-notification.component';\nimport { MultiWindowModule, WindowSaveStrategy } from 'ngx-multi-window'; // https://www.npmjs.com/package/ngx-multi-window\nimport { VariableSingletonService } from './core/services/variables.service';\nimport { SignalRService } from './core/services/signalr.service';\nimport { TenureModalComponent } from './pages/unscheduled-repayment/Tenure-Modal/tenure-modal.component';\nimport { TenureModalModule } from './pages/unscheduled-repayment/Tenure-Modal/tenure-modal.module';\nimport { FxRequestModule } from './pages/fx-transactions/fx-transactions.module';\nimport { InitateFxTransactionComponent } from './pages/manage-fx-transaction/initate-fx-transaction/initate-fx-transaction.component';\nimport { ManageFxTransactionComponent } from './pages/manage-fx-transaction/manage-fx-transaction.component';\nimport { ManageFxTransactionModule } from './pages/manage-fx-transaction/manage-fx-transaction.module';\nimport {VirtualCardModule} from './pages/virtual-card/virtual-card.module';\nimport { AcceptConditionModalModule } from './pages/DebitCardAutoRenewal/AcceptCondition-Modal/AcceptCondition-Modal.module';\n// import {BentoModule} from './pages/bento/bento.module';\n//import { FxRequestModule } from './pages/fx-transactions/fx-transactions.module';\nimport { CreditCardRequestService } from 'src/app/core/services/credit-card-request.service';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n DefaultLayoutComponent,\n BeneficiaryDialogComponent,\n // InitateFxTransactionComponent\n //ManageFxTransactionComponent\n ],\n imports: [\n BrowserModule,\n AppMaterialModule,\n AppRoutingModule,\n TenureModalModule,\n CoreModule,\n SharedModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n BrowserAnimationsModule,\n AcceptConditionModalModule,\n MomentModule,\n VirtualCardModule,\n // BentoModule,\n MultiWindowModule.forRoot({\n keyPrefix: 'olbank.stanbicibtc_',\n heartbeat: 1000,\n newWindowScan: 5000,\n messageTimeout: 10000,\n windowTimeout: 15000,\n windowSaveStrategy: WindowSaveStrategy.NONE,\n }),\n NgIdleKeepaliveModule.forRoot(),\n SimpleNotificationsModule.forRoot({\n timeOut: 5000,\n icons: {\n 'error': '', alert: '', success: '',\n info: '', warn: ''\n }\n }),\n\n FxRequestModule,\n ManageFxTransactionModule,\n ApprovalsModule,\n // ProfileModule,\n TransactionsStatusModule,\n\n ],\n providers: [\n {\n provide: LocationStrategy,\n useClass: HashLocationStrategy,\n\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpRequestInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AllResponseInterceptor,\n multi: true,\n },\n EventHandlerService,\n VariableSingletonService,\n SignalRService,\n CreditCardRequestService\n ],\n bootstrap: [AppComponent],\n entryComponents: [ApprovalHistoryComponent, RejectRequestComponent, CardExpiryNotificationComponent,VerifyAccountUserComponent,ShowBvnNumberComponent,TenureModalComponent]\n})\nexport class AppModule { }\n","import { RouterModule, Route } from \"@angular/router\";\nimport { NgModule } from \"@angular/core\";\n// import { DashboardComponent } from './pages/dashboard/dashboard.component';\nimport { DefaultLayoutComponent } from \"./pages/containers/default-layout/default-layout.component\";\n// import { LoginComponent } from './pages/login/login.component';\n// import { AuthComponent } from './pages/auth/auth.component';\nimport { ProfileComponent } from \"./pages/profile/profile.component\";\nimport { TransactionStatusComponent } from \"./pages/transaction-status/transaction-status.component\";\nimport { FxTransactionRequest } from \"./pages/fx-transactions/fx-transaction-request\";\n\n// import { RouterConstants } from './core/helpers/routerConstants';\n// import { TransactionStatusComponent } from './pages/transaction-status/transaction-status.component';\n\n// let loginUrl = RouterConstants.LoginURL;\n\nexport const routes: Route[] = [\n {\n path: \"\",\n redirectTo: \"auth\",\n pathMatch: \"full\",\n },\n {\n path: \"auth\",\n loadChildren:\n \"src/app/pages/authentication/authentication.module#AuthenticationPagesModule\",\n },\n\n // {\n // path: 'authaction/:action',\n // component: AuthActionComponent\n // },\n {\n path: \"\",\n component: DefaultLayoutComponent,\n children: [\n {\n path: \"accounts\",\n loadChildren: \"src/app/pages/account/accounts.module#AccountModule\",\n },\n\n {\n path: \"transfers\",\n loadChildren: \"src/app/pages/transfer/transfer.module#TransferModule\",\n },\n {\n path: \"fx\",\n loadChildren: \"src/app/pages/fx-transactions/fx-transactions.module#FxRequestModule\"\n\n },\n {\n path: \"international-payments\",\n loadChildren:\n \"src/app/pages/internationalpayments/internationalpayments.module#InternationalpaymentsModule\",\n },\n {\n path: \"beneficiaries\",\n loadChildren:\n \"src/app/pages/beneficiaries/beneficiaries.module#BeneficiaryModule\",\n },\n {\n path: \"pay-bills\",\n loadChildren:\n \"src/app/pages/bill-payment/billpayments.module#BillPaymentModule\",\n },\n {\n path: \"billers\",\n loadChildren:\n \"src/app/pages/billers/billers.module#BillerBeneficiaryModule\",\n },\n {\n path: \"3sbanking\",\n loadChildren:\n \"src/app/pages/three-s-banking/three-s-banking.module#ThreeSBankingModule\",\n },\n {\n path: \"bento\",\n loadChildren:\n \"src/app/pages/bento/bento.module#BentoModule\",\n },\n // {\n // path: '3sbanking',\n // loadChildren: 'src/app/pages/three-s-banking/three-s-banking.module#ThreeSBankingModule'\n // },\n {\n path: \"receipts\",\n loadChildren: \"src/app/pages/receipts/receipts.module#ReceiptModule\",\n },\n {\n path: \"schedule-payments\",\n loadChildren:\n \"src/app/pages/scheduled-payments/schedule-payments.module#SchedulePaymentModule\",\n },\n {\n path: \"buy-airtime\",\n loadChildren:\n \"src/app/pages/buy-airtime/airtime-topup.module#AirtimeTopUpModule\",\n },\n {\n path: \"service-request\",\n loadChildren:\n \"src/app/pages/service-request/service-request.module#ServiceRequestModule\",\n },\n\n {\n path: \"approvals\",\n loadChildren:\n \"src/app/pages/approvals/approvals.module#ApprovalsModule\",\n },\n {\n path: 'flights',\n loadChildren: 'src/app/pages/wakanow-integration/wakanow-integration.module#WakanowIntegrationModule'\n },\n // {\n // path: 'profile',\n // component: ProfileComponent\n // },\n // {\n // path: 'service-request',\n // component: ServiceRequestComponent\n // },\n {\n path: \"profile\",\n loadChildren: \"src/app/pages/profile/profile.module#ProfileModule\",\n },\n /* {\n {\n path: 'transfers',\n loadChildren: \"src/app/pages/transfer/transfer.module#TransferModule\"\n },\n {\n path: 'international-payments',\n loadChildren: \"src/app/pages/internationalpayments/internationalpayments.module#InternationalpaymentsModule\"\n },\n {\n path: 'beneficiaries',\n loadChildren: \"src/app/pages/beneficiaries/beneficiaries.module#BeneficiaryModule\"\n },\n {\n path: 'pay-bills',\n loadChildren: \"src/app/pages/bill-payment/billpayments.module#BillPaymentModule\"\n },\n {\n path: 'billers',\n loadChildren: \"src/app/pages/billers/billers.module#BillerBeneficiaryModule\"\n },\n // {\n // path: '3sbanking',\n // loadChildren: 'src/app/pages/three-s-banking/three-s-banking.module#ThreeSBankingModule'\n // },\n {\n path: 'receipts',\n loadChildren: 'src/app/pages/receipts/receipts.module#ReceiptModule'\n },\n {\n path: 'schedule-payments',\n loadChildren: 'src/app/pages/scheduled-payments/schedule-payments.module#SchedulePaymentModule'\n },\n {\n path: 'buy-airtime',\n loadChildren: 'src/app/pages/buy-airtime/airtime-topup.module#AirtimeTopUpModule'\n },\n {\n path: 'service-request',\n loadChildren: 'src/app/pages/service-request/service-request.module#ServiceRequestModule'\n },\n\n {\n path: 'approvals',\n loadChildren: 'src/app/pages/approvals/approvals.module#ApprovalsModule'\n },\n {\n path: 'credit-cards',\n loadChildren: 'src/app/pages/credit-card-management/credit-card-management.module#CreditCardManagementModule'\n },\n // {\n // path: 'flights',\n // loadChildren: 'src/app/pages/wakanow-integration/wakanow-integration.module#WakanowIntegrationModule'\n // },\n // {\n // path: 'profile',\n // component: ProfileComponent\n // },\n // {\n // path: 'service-request',\n // component: ServiceRequestComponent\n // },\n {\n path: 'profile',\n loadChildren: 'src/app/pages/profile/profile.module#ProfileModule'\n },\n /* {\n path: 'transactions-status',\n loadChildren: 'src/app/pages/transaction-status/transactionstatus.module#TransactionsStatusModule'\n }, */\n {\n path: \"transactions-status\",\n component: TransactionStatusComponent,\n },\n {\n path: \"payment/transactions\",\n loadChildren:\n \"src/app/pages/payment-transactions/payment-transactions.module#PaymentTransactionsModule\",\n },\n {\n path: \"upl-loan\",\n loadChildren: \"src/app/pages/loan/loan.module#LoanFeatureModule\",\n },\n {\n path: 'hardware-token',\n loadChildren: 'src/app/pages/hardware-token/hardware-token.module#HardwareTokenModule'\n },\n {\n path: \"international-payments\",\n loadChildren:\n \"src/app/pages/internationalpayments/internationalpayments.module#InternationalpaymentsModule\",\n },\n {\n path: \"fraud-management\",\n loadChildren:\n \"src/app/pages/intellinx-management/intellinx-management.module#IntellinxManagementModule\",\n },\n {\n path: \"corporate-billers\",\n loadChildren:\n \"src/app/pages/corporate-billers/corporate-billers.module#CorporateBillersModule\",\n },\n {\n path:'fx-transactions',\n loadChildren:'src/app/pages/manage-fx-transaction/manage-fx-transaction.module#ManageFxTransactionModule'\n },\n {\n path:'e-naira',\n loadChildren: 'src/app/pages/enaira-management/enaira-management.module#ENairaModule'\n },\n {\n path: 'virtual-card',\n loadChildren: 'src/app/pages/virtual-card/virtual-card.module#VirtualCardModule'\n },\n {\n path: 'credit-cards',\n loadChildren: 'src/app/pages/credit-card-management/credit-card-management.module#CreditCardManagementModule'\n },\n {\n path: 'debitcardautorenewal',\n loadChildren: 'src/app/pages/DebitCardAutoRenewal/debitcard-autorenewal/debitcard-autorenewal.module#DebitcardAutorenewalModule'\n },\n ],\n },\n];\n@NgModule({\n declarations: [],\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { UnscheduledRepaymentServiceService } from \"src/app/core/services/unscheduledRepaymentServices/unscheduled-repayment.service\";\nimport { NgModule } from \"@angular/core\";\nimport {CommonModule, CurrencyPipe, DatePipe} from '@angular/common';\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { AppConfigService } from \"./services/appconfig.service\";\nimport { StorageService } from \"./services/storage.service\";\nimport { TransactionService } from \"./services/transaction.service\";\nimport { AuthService } from \"./services/auth.service\";\nimport { AccountService } from \"./services/account.service\";\nimport { RequestService } from \"./services/service-request/service-request.service\";\nimport { BeneficiaryService } from \"./services/beneficiary.service\";\nimport { MiscService } from \"./services/misc.service\";\nimport { DashboardService } from \"./services/dashboard.service\";\nimport { TransferService } from \"./services/transfer.service\";\nimport { UtilityService } from \"./services/utils.service\";\nimport { FileHelperService } from \"./services/file.helper.service\";\nimport { NameEnquiryService } from \"./services/name.enquiry.service\";\nimport { TransferStagingService } from \"./services/staging/transfer.staging.service\";\nimport { TransferApprovalService } from \"./services/workflow/transfer.approval.service\";\nimport { BeneficiaryStagingService } from \"./services/staging/beneficiary.staging.service\";\nimport { RequestStagingService } from \"./services/staging/service-request.staging.service\";\nimport { BillerStagingService } from \"./services/staging/biller.staging.service\";\nimport { BillerApprovalService } from \"./services/workflow/biller.approval.service\";\nimport { ServiceRequestOperationApprovalService } from \"./services/workflow/service-request.approval.service\";\nimport { PaymentStagingService } from \"./services/staging/payment.staging.service\";\nimport { PaymentApprovalService } from \"./services/workflow/payments.approval.service\";\nimport { ReceiptService } from \"./services/receipt.service\";\nimport { ApprovalHistoryFactory } from \"./services/workflow/approvals.history.service\";\nimport { SssBankingTagService } from \"./services/sss-banking.tag.service\";\nimport { WalletTransferService } from \"./services/transfer.wallet.service\";\nimport { CardService } from \"./services/prepaid-card.service\";\nimport { LoanRequestService } from \"../pages/loan/loan-request/loan.request.service\";\nimport { LoanTopUpService } from \"../pages/loan/loan-topup/loan-topup.service\";\nimport { DocumentHelperService } from \"./services/document.helper.service\";\nimport { VariableSingletonService } from \"./services/variables.service\";\nimport { SignalRService } from \"./services/signalr.service\";\nimport { MockService } from \"./services/mock.service\";\nimport { PensionService } from \"./services/pension.service\";\nimport { CustodianInsuranceService } from \"./services/custodian.service\";\nimport { IntellinxService } from \"./services/intellinx-service\";\nimport { CorporateBillersService } from \"./services/corporate-billers.service\";\nimport { ShippingPaymentService } from \"./services/shipping-payment.service\";\nimport { FxRequestHistoryService } from \"./services/FxRequestHistory.service\";\nimport { FXPaymentService } from \"./services/fx-payment.service\";\nimport { EnairaService } from \"./services/enaira.service\";\nimport {WakanowIntegrationService} from './services/wakanow-integration.service';\nimport {BentoService} from './services/bento/bento.service';\n\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n exports: [],\n providers: [\n AppConfigService,\n StorageService,\n TransactionService,\n AuthService,\n AccountService,\n RequestService,\n MiscService,\n BeneficiaryService,\n DashboardService,\n TransferService,\n UtilityService,\n FileHelperService,\n NameEnquiryService,\n TransferStagingService,\n TransferApprovalService,\n BeneficiaryStagingService,\n RequestStagingService,\n BillerStagingService,\n BillerApprovalService,\n ServiceRequestOperationApprovalService,\n PaymentStagingService,\n PaymentApprovalService,\n ReceiptService,\n ApprovalHistoryFactory,\n SssBankingTagService,\n WalletTransferService,\n CardService,\n LoanRequestService,\n LoanTopUpService,\n DocumentHelperService,\n DatePipe,\n SignalRService,\n MockService,\n PensionService,\n VariableSingletonService,\n UnscheduledRepaymentServiceService,\n CorporateBillersService,\n CustodianInsuranceService,\n IntellinxService,\n ShippingPaymentService,\n FxRequestHistoryService,\n FXPaymentService,\n EnairaService,\n WakanowIntegrationService,\n BentoService,\n CurrencyPipe\n ],\n})\nexport class CoreModule {}\n","export class ApiURLConstants {\n public static get ResetUserSession(): string {\n return \"UserProfileManagement/ResetIBLoginSession\";\n }\n\n public static get ValidateAuthenticatedUserOTP(): string {\n return \"UserProfileManagement/ValidateOTPRequest\";\n }\n public static get ResetValidateOTPSession(): string {\n return \"UserProfileManagement/ResetValidateOTPSession\";\n }\n public static get CustomerAccounts(): string {\n return \"AccountManagement/GetAccountsByCIFId\";\n }\n public static get SMECustomerAccounts(): string {\n return \"TransactionManagement/GetAccountByUserId\";\n }\n public static get CreateHardwareTokenStatus(): string {\n return \"hardwaretokenmanager/create-token\";\n }\n\n public static get CustomerAccountTransactionsByCount(): string {\n return \"TransactionManagement/GetTransactionDetailsByAccountNumberAndCount\";\n }\n public static get CustomerAccountTransactionsByDate(): string {\n return \"TransactionManagement/GetAccountTransactionDetails\";\n } //GetTransactionDetailsByAccountNumberAndDate\n public static get CorporateStaement(): string {\n return \"TransactionManagement/GetCorporateStatement\";\n } //GetTransactionDetailsByAccountNumberAndDate\n public static get RequestCorporateStaement(): string {\n return \"TransactionManagement/LogCorporateStatementRequest\";\n } //GetTransactionDetailsByAccountNumberAndDate\n public static get AuthenticateUser(): string {\n return \"UserProfileManagement/AuthenticateUser\";\n }\n\n public static get BeneficiaryList(): string {\n return \"BeneficiaryManagement/GetBeneficiaryList\";\n }\n public static get BillerBeneficiaryList(): string {\n return \"BeneficiaryManagement/GetBillerBeneficiaryList\";\n }\n public static get BillerMerchants(): string {\n return \"BeneficiaryManagement/GetBillerList\";\n }\n\n public static get BankList(): string {\n return \"TransactionManagement/GetBankList\";\n }\n public static get CHECK_CROSS_CURRENCY_TRANSFER_TIMING(): string {\n return \"TransactionManagement/ConfirmInterCurrency\";\n }\n public static get TRANSFER(): string {\n return \"TransactionManagement/Transfer\";\n }\n public static get WALLET_TRANSFER(): string {\n return \"TransactionManagement/WalllerTransfer\";\n }\n public static get STAGE_BATCH_TRANSFER(): string {\n return \"WorkflowManagement/StageBatchTransfer\";\n }\n public static get SET_BATCH_TRANSFER_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageBatchTransferFromUserSelection\";\n }\n public static get GET_BATCH_TRANSACTIONS(): string {\n return \"TransactionManagement/GetBatchTransaction\";\n }\n public static get REMOVE_TRANSACTIONS_BATCH(): string {\n return \"TransactionManagement/RemoveTransferBatches\";\n }\n public static get GET_PENDING_BULK_APPROVAL_REQUEST(): string {\n return \"WorkflowManagement/GetPendingBulkItemsForApproval\";\n }\n public static get APPROVE_PENDING_BULK_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingBatch\";\n }\n public static get INITIATE_SINGLE_TRANSFER(): string {\n return \"WorkflowManagement/InitiateSingleTransfer\";\n }\n public static get SET_SINGLE_TRANSFER_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageSingleTransferFromUserSelection\";\n }\n public static get GET_PENDING_SINGLE_APPROVAL_REQUEST(): string {\n return \"WorkflowManagement/GetPendingSingleTransferForApproval\";\n }\n public static get APPROVE_PENDING_SINGLE_PAYMENT_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingSingleTransfer\";\n }\n public static get APPROVE_PENDING_SINGLE_PAYMENT_REQUEST_WITH_NEXTSTAGE_SELECTION(): string {\n return \"WorkflowManagement/ApproveSingleTransferAndMoveToNextStage\";\n }\n\n public static get INITIATE_INTERNATIONAL_TRANSFER(): string {\n return \"WorkflowManagement/InitiateInternationalPayment\";\n }\n public static get SET_INTERNATIONAL_TRANSFER_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageInternationalTransferFromUserSelection\";\n }\n public static get INTERNATIONAL_TRANSFER(): string {\n return \"TransactionManagement/MakeInternationalPayment\";\n }\n public static get GET_PENDING_INTERNATIONAL_PAYMENT_APPROVAL_REQUEST(): string {\n return \"WorkflowManagement/GetPendingInternationalTransferForApproval\";\n }\n public static get APPROVE_PENDING_INTERNATIONAL_PAYMENT_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingInternationalTransfer\";\n }\n public static get APPROVE_PENDING_INTNL_PAYMENT_REQUEST_WITH_NEXTSTAGE_SELECTION(): string {\n return \"WorkflowManagement/ApproveInternationalTransferAndMoveToNextStage\";\n }\n public static get MULTIPLE_BENEFICIARY_TRANSFER(): string {\n return \"TransactionManagement/MultipleTransfer\";\n }\n public static get INITIATE_MULTIPLE_BENEFICIARY_TRANSFER(): string {\n return \"WorkflowManagement/InitiateMultipleTransfer\";\n }\n public static get SET_MULTIPLE_BENEFICIARY_TRANSFER_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageMulitpleTransferFromUserSelection\";\n }\n public static get WESTERN_UNION_REDEMPTION(): string {\n return \"TransactionManagement/RedeemWesternUnion\";\n }\n public static get AIRTIME_TOPUP(): string {\n return \"TransactionManagement/BuyAirtime\";\n }\n public static get INITIATE_WESTERN_UNION_REDEMPTION(): string {\n return \"WorkflowManagement/StageWesternUnionRedemption\";\n }\n public static get SET_WESTERN_UNION_REDEMPTION_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageWesternUnionRedemptionFromUserSelection\";\n }\n public static get GET_PENDING_WESTERN_UNION_REDEMPTION_REQUESTS(): string {\n return \"WorkflowManagement/GetPendingWesternUnionRedemptionForApproval\";\n }\n public static get APPROVE_WESTERN_UNION_REDEMPTION_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingWesternUnionRedemption\";\n }\n public static get APPROVE_PENDING_WESTERN_UNION_REDEMPTION_REQUEST_WITH_NEXTSTAGE_SELECTION(): string {\n return \"WorkflowManagement/ApprovePendingWesternUnionRedemptionAndMoveToNextStage\";\n }\n public static get AddBeneficiary(): string {\n return \"BeneficiaryManagement/AddBeneficiary\";\n }\n public static get INITIATE_BENEFICIARY_CREATE(): string {\n return \"WorkflowManagement/InitiateBeneficiaryAddition\";\n }\n public static get INITIATE_BENEFICIARY_UPDATE(): string {\n return \"WorkflowManagement/InitiateBeneficiaryUpdate\";\n }\n public static get SET_BENEFICIARY_UPDATE_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageBeneficiaryUpdateFromSelection\";\n }\n public static get SET_BENEFICIARY_CREATE_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageBeneficiaryAdditionFromSelection\";\n }\n public static get APPROVE_PENDING_BENEFICIARY_ADD_REQUEST_WITH_NEXTSTAGE_SELECTION(): string {\n return \"WorkflowManagement/ApprovePendingNewBeneficiaryAndMoveToNextStage\";\n }\n public static get GET_STAGED_BENEFICIARY_REQUEST(): string {\n return \"WorkflowManagement/GetPendingNewBeneficiariesForApproval\";\n }\n public static get GET_STAGED_BENEFICIARY_UPDATE_REQUEST(): string {\n return \"WorkflowManagement/GetAllPendingBeneficiariesUpdatesForApproval\";\n }\n\n public static get LOG_SERVICE_REQUEST(): string {\n return \"AccountManagement/LogServiceRequest\";\n }\n\n public static get APPROVE_PENDING_BENEFICIARY_ADD_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingNewBeneficiary\";\n }\n public static get APPROVE_PENDING_BENEFICIARY_UPDATE_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingBeneficiaryUpdate\";\n }\n public static get STAGE_SERVICE_REQUEST(): string {\n return \"WorkflowManagement/StageServiceRequest\";\n }\n public static get SET_SERVICE_REQUEST_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageServiceRequestFromSelection\";\n }\n public static get GET_STAGED_SERVICEREQUEST_APPROVAL_REQUEST(): string {\n return \"WorkflowManagement/GetPendingServiceRequestForApproval\";\n }\n public static get APPROVE_PENDING_SERVICEREQUEST_OPERATION_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingServiceRequest\";\n }\n public static get APPROVE_PENDING_SERVICEREQUEST_OPERATION_REQUEST_WITH_STAGE_SELECTION(): string {\n return \"WorkflowManagement/ApprovePendingServiceRequestAndMoveToNextStage\";\n }\n public static get GET_PENDING_REQUEST(): string {\n return \"WorkflowManagement/GetInitatorOperations\";\n }\n public static get AddBillerBeneficiary(): string {\n return \"BeneficiaryManagement/AddBillerBeneficiary\";\n }\n public static get EditBenficiary(): string {\n return \"BeneficiaryManagement/EditBeneficiary\";\n }\n\n public static get DeleteBenficiary(): string {\n return \"BeneficiaryManagement/DeleteBeneficiary\";\n }\n public static get EditBillerBenficiary(): string {\n return \"BeneficiaryManagement/EditBillerBeneficiary\";\n }\n public static get DeleteBillerBenficiary(): string {\n return \"BeneficiaryManagement/DeleteBillerBeneficiary\";\n }\n public static get GetBillerBeneficiaryProduct(): string {\n return \"TransactionManagement/GetBillerProductListByBiller\";\n }\n public static get INITIATE_BILLER_OPERATION(): string {\n return \"WorkflowManagement/InitiateBillerOperation\";\n }\n public static get SET_BILLER_OPERATION_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageBillerOperationFromSelection\";\n }\n public static get GET_STAGED_BILLER_OPERATIONS_REQUEST(): string {\n return \"WorkflowManagement/GetPendingBillerOperationsForApproval\";\n }\n public static get APPROVE_PENDING_BILLER_OPERATION_REQUEST(): string {\n return \"WorkflowManagement/ApprovePendingBillerOperation\";\n }\n public static get APPROVE_PENDING_BILLER_OPERATION_REQUEST_WITH_STAGE_SELECTION(): string {\n return \"WorkflowManagement/ApprovePendingBillerOperationAndMoveToNextStage\";\n }\n\n public static get BILLPAYMENT(): string {\n return \"TransactionManagement/PayBills\";\n }\n public static get BILLCHARGES(): string {\n return \"TransactionManagement/GetBillPaymentCharges\";\n }\n public static get INITIATE_EBILLS_PAYMENT(): string {\n return \"Ebills/GenerateEbillsUrlCaller\";\n }\n public static get TRANSFER_HISTORY_RECEIPT(): string {\n return \"TransactionManagement/GetTransferHistoryForReceipt\";\n }\n public static get SCHEDULED_PAYMENTS(): string {\n return \"TransactionManagement/GetScheduledPaymentList\";\n }\n public static get STOP_SCHEDULE_TRANSACTION(): string {\n return \"TransactionManagement/StopScheduledPayments\";\n }\n public static get INITIATE_BILLPAYMENT(): string {\n return \"WorkflowManagement/InitiateBillPayment\";\n }\n public static get SET_BILLPAYMENT_APPROVAL_WORKFLOW(): string {\n return \"WorkflowManagement/StageBillPaymentFromSelection\";\n }\n public static get GET_PENDING_BILLPAYMENT_APPROVAL_REQUESTS(): string {\n return \"WorkflowManagement/GetPendingBillPaymentsForApproval\";\n }\n public static get APPROVE_PENDING_BILLPAYMENT(): string {\n return \"WorkflowManagement/ApprovePendingBillPayments\";\n }\n public static get APPROVE_PENDING_BILLPAYMENT_WITH_NEXTSTAGE_SELECTION(): string {\n return \"WorkflowManagement/ApprovePendingBillPaymentAndMoveToNextStage\";\n }\n public static get GET_BILLER_PAYMENT_REQUEST_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetBillPaymentApprovalHistory\";\n }\n public static get GET_BILLER_OPERATION_REQUEST_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetBillerOperationApprovalHistory\";\n }\n public static get GET_BENEFICIARY_ADD_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetBeneficiaryOperationApprovalHistory\";\n }\n public static get GET_BENEFICIARY_UPDATE_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetBeneficiaryUpdateApprovalHistory\";\n }\n\n public static get GET_WESTERN_UNION_REDEMPTION_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetWesternUnionApprovalHistory\";\n }\n public static get GET_SERVICEREQUEST_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetServiceRequestApprovalHistory\";\n }\n public static get GET_INTL_TRANSFER_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetInternationalTransferApprovalHistory\";\n }\n public static get GET_SINGLE_TRANSFER_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetSingleApprovalHistory\";\n }\n public static get GET_BULK_TRANSFER_APPROVAL_HISTORY(): string {\n return \"WorkflowManagement/GetBatchApprovalHistory\";\n }\n\n public static get REJECT_APPROVAL_REQUEST(): string {\n return \"WorkflowManagement/RejectOperation\";\n }\n public static get TransferChannelOrderSettings(): string {\n return \"TransactionManagement/GetTransferChannelOrder\";\n }\n public static get TransferChargesSettings(): string {\n return \"TransactionManagement/GetCharges\";\n }\n public static get CustomerBVN(): string {\n return \"UserProfileManagement/GetCustomerBVN\";\n }\n public static get SMEUserCorporateLimit(): string {\n return \"TransactionManagement/GetCorporateUserLimit\";\n }\n public static get RateConversion(): string {\n return \"TransactionManagement/CurrencyConversionRate\";\n }\n\n public static get CustomerAccountBeneficiary(): string {\n return \"BeneficiaryManagement/GetBeneficiaryList\";\n }\n public static get Banks(): string {\n return \"TransactionManagement/GetBankList\";\n }\n public static get DailyTransferLimit(): string {\n return \"TransactionManagement/GetTransactionLimit\";\n }\n public static get NameEnquiry(): string {\n return \"TransactionManagement/DoNameEnquiry\";\n }\n public static get VBNameEnquiry(): string {\n return \"TransactionManagement/DoVBNameEnquiry\";\n }\n public static get InitiateOTP(): string {\n return \"UserProfileManagement/InitiateOTPRequest\";\n }\n public static get LogoutSession(): string {\n return \"UserProfileManagement/LogoutIBSession\";\n }\n\n public static get InitiateLoginOTP(): string {\n return \"UserProfileManagement/InitiateLoginOTPRequest\";\n }\n public static get RetailUserSecurityQuestions(): string {\n return \"UserProfileManagement/GetRegisteredQNA\";\n }\n public static get CreateRIBUser(): string {\n return \"UserProfileManagement/RegisterRIBUser\";\n }\n public static get ConfirmRIBUserExist(): string {\n return \"UserProfileManagement/GetRIBRegistrationQuestions\";\n }\n public static get ChangePassword(): string {\n return \"UserProfileManagement/ChangePassword\";\n }\n public static get ResetPassword(): string {\n return \"UserProfileManagement/ResetPassword\";\n }\n public static get MANAGE_SSS_BANKING_COMMAND(): string {\n return \"BeneficiaryManagement/3SBeneficiaryOps\";\n }\n public static get GET_SSS_BANKING_COMMANDS(): string {\n return \"BeneficiaryManagement/3SBeneficiaryList\";\n }\n public static get SSS_BANKING_NAME_ENQUIRY(): string {\n return \"BeneficiaryManagement/3SNameEnquiry\";\n }\n public static get SSS_BANKING_PHONENUMBER(): string {\n return \"BeneficiaryManagement/3SUserPhone\";\n }\n public static get GET_PREPAID_CARD_DETAILS(): string {\n return \"TransactionManagement/GetPrepaidDetails\";\n }\n public static get FUND_PREPAID_CARD(): string {\n return \"TransactionManagement/PrepaidTransfer\";\n }\n\n public static get INSTANT_CASH_ADVANCE_LIMIT(): string {\n return \"CashAdvance/GetLimit\";\n }\n public static get INSTANT_UPL_LOAN_LIMIT(): string {\n return \"CashAdvance/GetUplLimit\";\n }\n public static get INSTANT_UPL_LOAN_REPAYMENT_SCHEDULES(): string {\n return \"CashAdvance/GetUplRepaymentSchedules\";\n }\n public static get INSTANT_TOPUP_LOAN_REPAYMENT_SCHEDULES(): string {\n return \"CashAdvance/GetTopupReschedules\";\n }\n public static get BOOK_UPL_LOAN(): string {\n return \"CashAdvance/BookUplLoan\";\n }\n public static get BOOK_TOPUP_LOAN(): string {\n return \"CashAdvance/BookTopup\";\n }\n\n public static get CASH_ADVANCE_REQUEST(): string {\n return \"CashAdvance/BookLoan\";\n }\n public static get CARD_EXPIRY_NOTIFICATIONS(): string {\n return \"AccountManagement/CardExpiryNotifications\";\n }\n public static get CARD_EXPIRY_NOTIFICATIONS_CONSENT(): string {\n return \"AccountManagement/ScheduleCardRenewal\";\n }\n\n public static get CONFIRM_DATA_PRIVACY_CONSENT_EXIST(): string {\n return \"UserProfileManagement/ConfirmIfUserDataPrivacyExist\";\n }\n public static get CREATE_DATA_PRIVACY_CONSENT_EXIST(): string {\n return \"UserProfileManagement/CreateUserDataPrivacyExist\";\n }\n\n public static get StatementCountryURL(): string {\n return \"TransactionManagement/GetStatementCountries\";\n }\n public static get StatementCountryDestinationURL(): string {\n return \"TransactionManagement/GetStatementCountryDestinations\";\n }\n public static get GenerateStatementRequestURL(): string {\n return \"TransactionManagement/GenerateStatementForwardingRequest\";\n }\n public static get ForwardStatementURL(): string {\n return \"TransactionManagement/GenerateStatementForwarding\";\n }\n public static get DownloadStatementTicketURL(): string {\n return \"TransactionManagement/DownloadStatementTicket\";\n }\n public static get RemitaLookup(): string {\n return \"TransactionManagement/RemitaLookup\";\n }\n public static get GetHardwareTokenStatus(): string {\n return \"hardwaretokenmanager/token-status\";\n }\n public static get GetPensionFileInfo(): string {\n return \"pensionremittance/GetPensionFilesForApproval\";\n }\n public static get GetPensionRecords(): string {\n return \"pensionremittance/GetPensionRecords\";\n }\n public static get GetApprovedPensionFiles(): string {\n return \"pensionremittance/GetApprovedPensionFiles\";\n }\n public static get GetPendingItemsForApprovals(): string {\n return \"pensionremittance/GetMyPendingPensionItemsForApproval\";\n }\n public static get UpdateHardwareTokenStatus(): string {\n return \"hardwaretokenmanager/updatetokenrequest\";\n }\n\n public static get StagePensionFile(): string {\n return \"pensionremittance/StagePensionFile\";\n }\n public static get ApprovePensionFile(): string {\n return \"pensionremittance/ApprovePensionFile\";\n }\n public static get RejectPensionFile(): string {\n return \"pensionremittance/RejectPensionFile\";\n }\n public static get StagePensionFileFromConflict(): string {\n return \"pensionremittance/StagePensionFileFromConflict\";\n }\n\n public static get ValidateIntellinxTransfer(): string {\n return \"TransactionManagement/Transfer/ValidateSource\";\n }\n public static get ActiveCreditCards(): string { return 'credit-card-transactions/GetCreditCardBalance' }\n public static get LoadCreditCard(): string { return 'credit-card-transactions/LoadCreditCards' }\n public static get DebitCreditCard(): string { return 'credit-card-transactions/DebitCreditCard' }\n public static get LogCardTransaction(): string { return 'credit-card-transactions/log-card-transaction' }\n\n\n\n}\n","\nexport class Constants {\n public static get StorageTokenKey(): string { return 'X-STC-FST-BOL267XH'; }\n public static get StorageLoginTokenKey(): string { return 'X-STC-LST-BOL267XH'; }\n public static get StorageCachePKey(): string { return 'X-STC-PST-BOL267XH'; }\n public static get DevModeStorageUserDetailsKey(): string { return 'userProfile'; }\n public static get DevModeStorageUserAccountKey(): string { return 'userAccount'; }\n public static get APITechnicalErrorMessage(): string { return 'Your request cannot be completed at the moment due to a technical error, please try again later.'; }\n public static get UnauthorizedStatusCode(): number { return 401; }\n public static get NoRecentTransactionErrorMessage(): string { return 'Transaction not available.'; }\n public static get StanbicBankCode(): string { return '221'; }\n public static get StanbicVirtualBankCode(): string { return '304'; }\n public static get NGNCurrency(): string { return 'NGN'; }\n public static get USDCurrency(): string { return 'USD'; }\n public static get STANBIC_CONTACT_EMAIL(): string { return 'customercarecentre@stanbicibtc.com'; }\n public static get ValidAccountNumberLength(): number { return 10; }\n public static get SESSION_LOGOUT_COUNTER(): number { return 60; }\n static get TIMEOUT_LOGOUT_MESSAGE(): string { return \"To protect your account, we have automatically logged you out of internet banking. You can login again when you are ready.\"; }\n static get MULTI_SESSION_LOGOUT_MESSAGE(): string { return \"You can only have a single sign on.\"; }\n\n\n static get NIP_CHANNEL_CODE(): string { return \"NIP\"; }\n static get ISW_CHANNEL_CODE(): string { return \"ISW\"; }\n static get ACH_CHANNEL_CODE(): string { return \"ACH\"; }\n\n static get NIP_CHANNEL_CODE_IN_DIGIT(): number { return 1; }\n static get ISW_CHANNEL_CODE_IN_DIGIT(): number { return 2; }\n static get ACH_CHANNEL_CODE_IN_DIGIT(): number { return 4; }\n // static get AUTO_LOGOUT_TIME_IN_MILLISEC(): number { return 600000; }\n static get AUTO_LOGOUT_TIME_IN_MILLISEC(): number { return 300000; }\n // static get AUTO_LOGOUT_TIME_IN_MILLISEC(): number { return 20000; }\n\n static get REMITA_BANK_CODE(): string { return \"REMITA\"; }\n\n\n\n\n public static get BENEFICIARY_ALREADY_EXIST(): string { return 'The account details provided already belongs to a beneficiary. Kindly review your entry.' };\n\n public static get AuthToken(): string { return 'ssm_token'; }\n public static get Store_Bank(): string { return '_banks'; }\n public static get Store_Accounts(): string { return '_accounts'; }\n public static get Store_trans(): string { return '_transactions'; }\n public static get Store_AirtimeBeneficiaries(): string { return '_airtime_beneficiaries'; }\n public static get Store_AccountBeneficiaries(): string { return '_account_beneficiaries'; }\n public static get Auth_Data(): string { return '_authData'; }\n public static get User_Id(): string { return '_userId'; }\n public static get Secret_Question(): string { return '_secret'; }\n public static get beneficiaries_pending_payment(): string { return 'beneficiaries_to_pay'; }\n public static get Store_ActiveUpload_Data(): string { return '_active_file_upload'; }\n static get STOP_SCHEDULE_PAYMENT_OTP_REASON_DESCRIPTION(): string { return \"Stop Schedule\"; }\n static get STOP_NEXT_SCHEDULE_PAYMENT_OTP_REASON_DESCRIPTION(): string { return \"Stop Next Schedule Payment\"; }\n static get SCHEDULE_TRANX_STOPPED_MESSAGE(): string { return \"The selected schedule transfers has been stopped\"; }\n static get DOM_REFRESHED_KEY(): string { return '_dom_refreshed'; }\n\n public static get SCHEDUE_PAYMENT_FREQUENCY_TYPES(): any {\n return [\n { Name: 'Just once', Id: 0 },\n { Name: 'Daily', Id: 1 },\n { Name: 'Weekly', Id: 2 },\n { Name: 'Monthly', Id: 3 },\n { Name: 'Quarterly', Id: 4 },\n { Name: 'Yearly', Id: 5 }]\n }\n}\n\n","\nimport { Injectable } from '@angular/core';\n\n// import { TransactionCharges, UserTransferLimits } from '@app/core/models/accountTransaction.model';\n// import { Beneficiary } from '@app/core/models/beneficiary.model';\nimport { CustomerAccount } from '../models/account';\n// import { Bank } from '@app/core/models/bank-model';\n\n\nexport class VARIABLES {\n\n public static CustomerAccounts: Array;\n public static STANBIC_CONTACT_EMAIL: string;\n\n // public static TransferChannelOrder: Array;\n // public static TransferCharges: Array;\n // public static UserAccountBeneficiaries: Array;\n // public static RELOAD_ACCOUNT_BENEFICIARIES_ON_CUD: boolean;\n // public static RELOAD_BILLER_BENEFICIARIES_ON_CUD: boolean;\n // public static DefaultAccountNo: string;\n // public static Banks: Array;\n // // public static DailyTransferLimit: Array; public static TransferChannelOrder: Array;\n // public static TransferCharges: Array;\n // public static UserAccountBeneficiaries: Array;\n // public static RELOAD_ACCOUNT_BENEFICIARIES_ON_CUD: boolean;\n // public static RELOAD_BILLER_BENEFICIARIES_ON_CUD: boolean;\n // public static CustomerAccounts: Array;\n // public static DefaultAccountNo: string;\n // public static ReloadTransferLimit: boolean;\n}\n\n","export class RouterConstants {\n public static get LoginURL(): string {\n return \"auth/login\";\n }\n public static get SurveyURL(): string {\n return \"auth/survey\";\n }\n public static get ChildValidateOTPURL(): string {\n return \"validate-otp\";\n }\n public static get FullValidateOTPURL(): string {\n return \"auth/validate-otp\";\n }\n public static get LOGIN_CREATE_SECURITY_QUESTIONS_URL(): string {\n return \"auth/create-security-questions\";\n }\n public static get LOGIN_CHANGE_PASSWORD_URL(): string {\n return \"auth/change-password\";\n }\n public static get LOGIN_CREATE_RIB_USER_URL(): string {\n return \"auth/register-user\";\n }\n public static get RESET_RIB_USER_PASSWORD_URL(): string {\n return \"auth/reset-password\";\n }\n\n public static get RootHomeUrl(): string {\n return \"accounts\";\n }\n\n public static get ChildDashboardURL(): string {\n return \"\";\n }\n public static get FullDashboardURL(): string {\n return `${this.RootHomeUrl}`;\n }\n public static get AccountTransactionURL(): string {\n return `${this.RootHomeUrl}/transactions`;\n }\n public static get RootWakanowUrl(): string { return 'flights'; }\n\n public static get Root3sUrl(): string { return '3sbanking'; }\n\n\n public static get RootTransferUrl(): string {\n return \"transfers\";\n }\n public static get ChildOneOffTransferURL(): string {\n return \"one-off\";\n }\n public static get FullOneOffTransferURL(): string {\n return `${this.RootTransferUrl}/${this.ChildOneOffTransferURL}`;\n }\n\n public static get RootBeneficiaryUrl(): string {\n return \"beneficiaries\";\n }\n public static get PayBeneficiaryURL(): string {\n return `${this.RootBeneficiaryUrl}/pay`;\n }\n public static get RootCreditCardManagementUrl(): string { return 'credit-cards'; }\n\n\n public static get RootBillerBeneficiaryUrl(): string {\n return \"billers\";\n }\n\n public static get PayBillerBeneficiaryURL(): string {\n return `${this.RootBillerBeneficiaryUrl}/pay`;\n }\n public static get RootBillPaymentUrl(): string {\n return \"pay-bills\";\n }\n public static get RootInstantCashAdvanceUrl(): string {\n return \"instant-cash\";\n }\n public static get RootUPLLoanAdvanceUrl(): string {\n return \"upl-loan\";\n }\n public static get RootCreditCardUrl(): string {\n return \"credit-cards/\";\n }\n public static get RootTopUpLoanAdvanceUrl(): string {\n return \"topup-loan\";\n }\n\n public static get RootCorporateBillers(): string {\n return \"corporate-billers\";\n }\n}\n","\nexport enum ResponseCodes {\n SUCCESS = '00',\n LoginSuccessWithLimitedAccess = '02',\n LoginSuccessWithLimitedAccessUnderReview = \"11\",\n QuestionAndPasswordRegistrationRequired = '04',\n PasswordChangeRequired = '05',\n TechnicalError = \"99\",\n TransferDynamicRouteFailure = \"70\",\n FailedSessionOnValidateOTP = '70',\n ResetSessionOnLogin = '800',\n IntellinxChallengeCode = '801',\n SuccessCreditCardAction = '000',\n FailedCreditCardAction = '999',\n TimeoutCreditCard = '202'\n\n}\n\nexport enum OtpReasonCodes {\n CHANGE_PASSWORD = '04',\n LOGIN = '02',\n RESET_PASSWORD = '04',\n ADD_BENEFICIARY = '06',\n ADD_BILLER = '06',\n REMOVE_BENEFICIARY = '08',\n EDIT_BENEFICIARY = '07',\n PAY_BILLER = '09',\n PURCHASE_AIRTIME = '10',\n TRANSFER_FUND = '05',\n BUY_AIRTIME = '10',\n GENERIC = '20'\n\n}\n\nexport enum ApprovalRequestStatus {\n PendingForMyApproval = 2,\n WaitingForCoporateApproval = 4,\n PendingForBankApproval = 8\n}\n\n\n\nexport enum Role {\n Initiator = 2,\n Viewer = 4,\n Approver = 8,\n Retail = 0\n}\n\n\n\n\nexport enum SecurityQuestionCreationRequestAuthor {\n RetailLogin = 1,\n RetailUserCreation = 2\n}\n\nexport enum OTPType {\n NONE = 0,\n OTP = 1,\n HWT = 2\n}\n","export const _banksList = [\n \n {\n \"bankId\": 1,\n \"bankCode\": \"044\",\n \"name\": \"Access Bank\"\n },\n {\n \"bankId\": 2,\n \"bankCode\": \"023\",\n \"name\": \"Citibank Nigeria\"\n },\n {\n \"bankId\": 3,\n \"bankCode\": \"063\",\n \"name\": \"Diamond Bank\"\n },\n {\n \"bankId\": 4,\n \"bankCode\": \"050\",\n \"name\": \"Ecobank Nigeria\"\n },\n {\n \"bankId\": 5,\n \"bankCode\": \"084\",\n \"name\": \"Enterprise Bank\"\n },\n {\n \"bankId\": 6,\n \"bankCode\": \"011\",\n \"name\": \"First Bank of Nigeria\"\n },\n {\n \"bankId\": 7,\n \"bankCode\": \"214\",\n \"name\": \"First City Monument Bank\"\n },\n {\n \"bankId\": 8,\n \"bankCode\": \"058\",\n \"name\": \"Guaranty Trust Bank\"\n },\n {\n \"bankId\": 9,\n \"bankCode\": \"030\",\n \"name\": \"Heritage Bank\"\n },\n {\n \"bankId\": 10,\n \"bankCode\": \"082\",\n \"name\": \"Keystone Bank\"\n },\n {\n \"bankId\": 11,\n \"bankCode\": \"014\",\n \"name\": \"MainStreet Bank\"\n },\n {\n \"bankId\": 12,\n \"bankCode\": \"076\",\n \"name\": \"Skye Bank\"\n },\n {\n \"bankId\": 13,\n \"bankCode\": \"221\",\n \"name\": \"Stanbic IBTC Bank\"\n },\n {\n \"bankId\": 14,\n \"bankCode\": \"068\",\n \"name\": \"Standard Chartered Bank\"\n },\n {\n \"bankId\": 15,\n \"bankCode\": \"232\",\n \"name\": \"Sterling Bank\"\n },\n {\n \"bankId\": 16,\n \"bankCode\": \"032\",\n \"name\": \"Union Bank of Nigeria\"\n },\n {\n \"bankId\": 17,\n \"bankCode\": \"033\",\n \"name\": \"United Bank For Africa\"\n },\n {\n \"bankId\": 18,\n \"bankCode\": \"215\",\n \"name\": \"Unity Bank\"\n },\n {\n \"bankId\": 19,\n \"bankCode\": \"035\",\n \"name\": \"Wema Bank\"\n },\n {\n \"bankId\": 20,\n \"bankCode\": \"057\",\n \"name\": \"Zenith Bank\"\n }\n];","export const countries = [\n {\n code: '7',\n isoCode: 'GEA',\n countryName: 'Abkhazia'\n },\n {\n code: '93',\n isoCode: 'AF',\n countryName: 'Afghanistan'\n },\n {\n code: '355',\n isoCode: 'AL',\n countryName: 'Albania'\n },\n {\n code: '213',\n isoCode: 'DZ',\n countryName: 'Algeria'\n },\n {\n code: '684',\n isoCode: 'AS',\n countryName: 'American Samoa'\n },\n {\n code: '376',\n isoCode: 'AD',\n countryName: 'Andorra'\n },\n {\n code: '244',\n isoCode: 'AO',\n countryName: 'Angola'\n },\n {\n code: '1264',\n isoCode: 'AI',\n countryName: 'Anguilla'\n },\n {\n code: '1268',\n isoCode: 'AG',\n countryName: 'Antigua and Barbuda'\n },\n {\n code: '54',\n isoCode: 'AR',\n countryName: 'Argentina Republic'\n },\n {\n code: '374',\n isoCode: 'AM',\n countryName: 'Armenia'\n },\n {\n code: '297',\n isoCode: 'AW',\n countryName: 'Aruba'\n },\n {\n code: '61',\n isoCode: 'AU',\n countryName: 'Australia'\n },\n {\n code: '43',\n isoCode: 'AT',\n countryName: 'Austria'\n },\n {\n code: '994',\n isoCode: 'AZ',\n countryName: 'Azerbaijan'\n },\n {\n code: '1242',\n isoCode: 'BS',\n countryName: 'Bahamas'\n },\n {\n code: '973',\n isoCode: 'BH',\n countryName: 'Bahrain'\n },\n {\n code: '880',\n isoCode: 'BD',\n countryName: 'Bangladesh'\n },\n {\n code: '1246',\n isoCode: 'BB',\n countryName: 'Barbados'\n },\n {\n code: '375',\n isoCode: 'BY',\n countryName: 'Belarus'\n },\n {\n code: '32',\n isoCode: 'BE',\n countryName: 'Belgium'\n },\n {\n code: '501',\n isoCode: 'BZ',\n countryName: 'Belize'\n },\n {\n code: '229',\n isoCode: 'BJ',\n countryName: 'Benin'\n },\n {\n code: '1441',\n isoCode: 'BM',\n countryName: 'Bermuda'\n },\n {\n code: '975',\n isoCode: 'BT',\n countryName: 'Bhutan'\n },\n {\n code: '591',\n isoCode: 'BO',\n countryName: 'Bolivia'\n },\n {\n code: '387',\n isoCode: 'BA',\n countryName: 'Bosnia and Herzegovina '\n },\n {\n code: '267',\n isoCode: 'BW',\n countryName: 'Botswana'\n },\n {\n code: '55',\n isoCode: 'BR',\n countryName: 'Brazil'\n },\n {\n code: '284',\n isoCode: 'VG',\n countryName: 'British Virgin Islands'\n },\n {\n code: '673',\n isoCode: 'BN',\n countryName: 'Brunei'\n },\n {\n code: '359',\n isoCode: 'BG',\n countryName: 'Bulgaria'\n },\n {\n code: '226',\n isoCode: 'BF',\n countryName: 'Burkina Faso'\n },\n {\n code: '95',\n isoCode: 'MM',\n countryName: 'Burma'\n },\n {\n code: '257',\n isoCode: 'BI',\n countryName: 'Burundi'\n },\n {\n code: '855',\n isoCode: 'KH',\n countryName: 'Cambodia'\n },\n {\n code: '237',\n isoCode: 'CM',\n countryName: 'Cameroon'\n },\n {\n code: '1',\n isoCode: 'CA',\n countryName: 'Canada'\n },\n {\n code: '238',\n isoCode: 'CV',\n countryName: 'Cape Verde'\n },\n {\n code: '1345',\n isoCode: 'KY',\n countryName: 'Cayman Islands'\n },\n {\n code: '236',\n isoCode: 'CF',\n countryName: 'Central African Republic'\n },\n {\n code: '235',\n isoCode: 'TD',\n countryName: 'Chad'\n },\n {\n code: '56',\n isoCode: 'CL',\n countryName: 'Chile'\n },\n {\n code: '86',\n isoCode: 'CN',\n countryName: 'China'\n },\n {\n code: '57',\n isoCode: 'CO',\n countryName: 'Colombia'\n },\n {\n code: '269',\n isoCode: 'KM',\n countryName: 'Comoros'\n },\n {\n code: '242',\n isoCode: 'CG',\n countryName: 'Congo Republic'\n },\n {\n code: '682',\n isoCode: 'CK',\n countryName: 'Cook Islands'\n },\n {\n code: '506',\n isoCode: 'CR',\n countryName: 'Costa Rica'\n },\n {\n code: '385',\n isoCode: 'HR',\n countryName: 'Croatia'\n },\n {\n code: '53',\n isoCode: 'CU',\n countryName: 'Cuba'\n },\n {\n code: '599',\n isoCode: 'CW',\n countryName: 'Curacao'\n },\n {\n code: '357',\n isoCode: 'CY',\n countryName: 'Cyprus'\n },\n {\n code: '420',\n isoCode: 'CZ',\n countryName: 'Czech Republic'\n },\n {\n code: '243',\n isoCode: 'CD',\n countryName: 'Democratic Republic of the Congo'\n },\n {\n code: '45',\n isoCode: 'DK',\n countryName: 'Denmark'\n },\n {\n code: '253',\n isoCode: 'DJ',\n countryName: 'Djibouti'\n },\n {\n code: '1767',\n isoCode: 'DM',\n countryName: 'Dominica'\n },\n {\n code: '1809',\n isoCode: 'DO',\n countryName: 'Dominican Republic'\n },\n {\n code: '593',\n isoCode: 'EC',\n countryName: 'Ecuador'\n },\n {\n code: '20',\n isoCode: 'EG',\n countryName: 'Egypt'\n },\n {\n code: '503',\n isoCode: 'SV',\n countryName: 'El Salvador'\n },\n {\n code: '240',\n isoCode: 'GQ',\n countryName: 'Equatorial Guinea'\n },\n {\n code: '291',\n isoCode: 'ER',\n countryName: 'Eritrea'\n },\n {\n code: '372',\n isoCode: 'EE',\n countryName: 'Estonia'\n },\n {\n code: '251',\n isoCode: 'ET',\n countryName: 'Ethiopia'\n },\n {\n code: '500',\n isoCode: 'FK',\n countryName: 'Falkland Islands'\n },\n {\n code: '298',\n isoCode: 'FO',\n countryName: 'Faroe Islands'\n },\n {\n code: '679',\n isoCode: 'FJ',\n countryName: 'Fiji'\n },\n {\n code: '358',\n isoCode: 'FI',\n countryName: 'Finland'\n },\n {\n code: '33',\n isoCode: 'FR',\n countryName: 'France'\n },\n {\n code: '594',\n isoCode: 'FG',\n countryName: 'French Guiana'\n },\n {\n code: '689',\n isoCode: 'PF',\n countryName: 'French Polynesia'\n },\n {\n code: '241',\n isoCode: 'GA',\n countryName: 'Gabon'\n },\n {\n code: '220',\n isoCode: 'GM',\n countryName: 'Gambia'\n },\n {\n code: '995',\n isoCode: 'GE',\n countryName: 'Georgia'\n },\n {\n code: '49',\n isoCode: 'DE',\n countryName: 'Germany'\n },\n {\n code: '233',\n isoCode: 'GH',\n countryName: 'Ghana'\n },\n {\n code: '350',\n isoCode: 'GI',\n countryName: 'Gibraltar'\n },\n {\n code: '30',\n isoCode: 'GR',\n countryName: 'Greece'\n },\n {\n code: '299',\n isoCode: 'GL',\n countryName: 'Greenland'\n },\n {\n code: '1473',\n isoCode: 'GD',\n countryName: 'Grenada'\n },\n {\n code: '590',\n isoCode: 'GP',\n countryName: 'Guadeloupe'\n },\n {\n code: '1671',\n isoCode: 'GU',\n countryName: 'Guam'\n },\n {\n code: '502',\n isoCode: 'GT',\n countryName: 'Guatemala'\n },\n {\n code: '224',\n isoCode: 'GN',\n countryName: 'Guinea'\n },\n {\n code: '245',\n isoCode: 'GW',\n countryName: 'Guinea-Bissau'\n },\n {\n code: '592',\n isoCode: 'GY',\n countryName: 'Guyana'\n },\n {\n code: '509',\n isoCode: 'HT',\n countryName: 'Haiti'\n },\n {\n code: '504',\n isoCode: 'HN',\n countryName: 'Honduras'\n },\n {\n code: '852',\n isoCode: 'HK',\n countryName: 'Hongkong China'\n },\n {\n code: '36',\n isoCode: 'HU',\n countryName: 'Hungary'\n },\n {\n code: '354',\n isoCode: 'IS',\n countryName: 'Iceland'\n },\n {\n code: '91',\n isoCode: 'IN',\n countryName: 'India'\n },\n {\n code: '62',\n isoCode: 'ID',\n countryName: 'Indonesia'\n },\n {\n code: '98',\n isoCode: 'IR',\n countryName: 'Iran'\n },\n {\n code: '964',\n isoCode: 'IQ',\n countryName: 'Iraq'\n },\n {\n code: '353',\n isoCode: 'IE',\n countryName: 'Ireland'\n },\n {\n code: '972',\n isoCode: 'IL',\n countryName: 'Israel'\n },\n {\n code: '39',\n isoCode: 'IT',\n countryName: 'Italy'\n },\n {\n code: '225',\n isoCode: 'CI',\n countryName: 'Ivory Coast'\n },\n {\n code: '1876',\n isoCode: 'JM',\n countryName: 'Jamaica'\n },\n {\n code: '81',\n isoCode: 'JP',\n countryName: 'Japan'\n },\n {\n code: '962',\n isoCode: 'JO',\n countryName: 'Jordan'\n },\n {\n code: '7',\n isoCode: 'KZ',\n countryName: 'Kazakhstan'\n },\n {\n code: '254',\n isoCode: 'KE',\n countryName: 'Kenya'\n },\n {\n code: '686',\n isoCode: 'KI',\n countryName: 'Kiribati'\n },\n {\n code: '965',\n isoCode: 'KW',\n countryName: 'Kuwait'\n },\n {\n code: '996',\n isoCode: 'KG',\n countryName: 'Kyrgyzstan'\n },\n {\n code: '856',\n isoCode: 'LA',\n countryName: 'Laos'\n },\n {\n code: '371',\n isoCode: 'LV',\n countryName: 'Latvia'\n },\n {\n code: '961',\n isoCode: 'LB',\n countryName: 'Lebanon'\n },\n {\n code: '266',\n isoCode: 'LS',\n countryName: 'Lesotho'\n },\n {\n code: '231',\n isoCode: 'LR',\n countryName: 'Liberia'\n },\n {\n code: '218',\n isoCode: 'LY',\n countryName: 'Libya'\n },\n {\n code: '423',\n isoCode: 'LI',\n countryName: 'Liechtenstein'\n },\n {\n code: '370',\n isoCode: 'LT',\n countryName: 'Lithuania'\n },\n {\n code: '352',\n isoCode: 'LU',\n countryName: 'Luxembourg'\n },\n {\n code: '853',\n isoCode: 'MO',\n countryName: 'Macao China'\n },\n {\n code: '389',\n isoCode: 'MK',\n countryName: 'Macedonia'\n },\n {\n code: '261',\n isoCode: 'MG',\n countryName: 'Madagascar'\n },\n {\n code: '265',\n isoCode: 'MW',\n countryName: 'Malawi'\n },\n {\n code: '60',\n isoCode: 'MY',\n countryName: 'Malaysia'\n },\n {\n code: '960',\n isoCode: 'MV',\n countryName: 'Maldives'\n },\n {\n code: '223',\n isoCode: 'ML',\n countryName: 'Mali'\n },\n {\n code: '356',\n isoCode: 'MT',\n countryName: 'Malta'\n },\n {\n code: '596',\n isoCode: 'MQ',\n countryName: 'Martinique'\n },\n {\n code: '222',\n isoCode: 'MR',\n countryName: 'Mauritania'\n },\n {\n code: '230',\n isoCode: 'MU',\n countryName: 'Mauritius'\n },\n {\n code: '52',\n isoCode: 'MX',\n countryName: 'Mexico'\n },\n {\n code: '691',\n isoCode: 'FM',\n countryName: 'Micronesia'\n },\n {\n code: '373',\n isoCode: 'MD',\n countryName: 'Moldova'\n },\n {\n code: '377',\n isoCode: 'MC',\n countryName: 'Monaco'\n },\n {\n code: '976',\n isoCode: 'MN',\n countryName: 'Mongolia'\n },\n {\n code: '382',\n isoCode: 'ME',\n countryName: 'Montenegro'\n },\n {\n code: '1664',\n isoCode: 'MS',\n countryName: 'Montserrat'\n },\n {\n code: '212',\n isoCode: 'MA',\n countryName: 'Morocco'\n },\n {\n code: '258',\n isoCode: 'MZ',\n countryName: 'Mozambique'\n },\n {\n code: '264',\n isoCode: 'NA',\n countryName: 'Namibia'\n },\n {\n code: '977',\n isoCode: 'NP',\n countryName: 'Nepal'\n },\n {\n code: '31',\n isoCode: 'NL',\n countryName: 'Netherlands'\n },\n {\n code: '599',\n isoCode: 'AN',\n countryName: 'Netherlands Antilles'\n },\n {\n code: '687',\n isoCode: 'NC',\n countryName: 'New Caledonia'\n },\n {\n code: '64',\n isoCode: 'NZ',\n countryName: 'New Zealand'\n },\n {\n code: '505',\n isoCode: 'NI',\n countryName: 'Nicaragua'\n },\n {\n code: '227',\n isoCode: 'NE',\n countryName: 'Niger'\n },\n {\n code: '234',\n isoCode: 'NG',\n countryName: 'Nigeria'\n },\n {\n code: '683',\n isoCode: 'NU',\n countryName: 'Niue'\n },\n {\n code: '850',\n isoCode: 'KP',\n countryName: 'North Korea'\n },\n {\n code: '47',\n isoCode: 'NO',\n countryName: 'Norway'\n },\n {\n code: '968',\n isoCode: 'OM',\n countryName: 'Oman'\n },\n {\n code: '92',\n isoCode: 'PK',\n countryName: 'Pakistan'\n },\n {\n code: '970',\n isoCode: 'PS',\n countryName: 'Palestinian Territory'\n },\n {\n code: '507',\n isoCode: 'PA',\n countryName: 'Panama'\n },\n {\n code: '675',\n isoCode: 'PG',\n countryName: 'Papua New Guinea'\n },\n {\n code: '595',\n isoCode: 'PY',\n countryName: 'Paraguay'\n },\n {\n code: '51',\n isoCode: 'PE',\n countryName: 'Peru'\n },\n {\n code: '63',\n isoCode: 'PH',\n countryName: 'Philippines'\n },\n {\n code: '48',\n isoCode: 'PL',\n countryName: 'Poland'\n },\n {\n code: '351',\n isoCode: 'PT',\n countryName: 'Portugal'\n },\n {\n code: '1787',\n isoCode: 'PR',\n countryName: 'Puerto Rico'\n },\n {\n code: '974',\n isoCode: 'QA',\n countryName: 'Qatar'\n },\n {\n code: '680',\n isoCode: 'PW',\n countryName: 'Republic of Palau'\n },\n {\n code: '211',\n isoCode: 'SS',\n countryName: 'Republic of South Sudan'\n },\n {\n code: '262',\n isoCode: 'RE',\n countryName: 'Reunion'\n },\n {\n code: '40',\n isoCode: 'RO',\n countryName: 'Romania'\n },\n {\n code: '79',\n isoCode: 'RU',\n countryName: 'Russian Federation'\n },\n {\n code: '250',\n isoCode: 'RW',\n countryName: 'Rwanda'\n },\n {\n code: '1869',\n isoCode: 'KN',\n countryName: 'Saint Kitts and Nevis'\n },\n {\n code: '1758',\n isoCode: 'LC',\n countryName: 'Saint Lucia'\n },\n {\n code: '508',\n isoCode: 'PM',\n countryName: 'Saint Pierre and Miquelon'\n },\n {\n code: '1784',\n isoCode: 'VC',\n countryName: 'Saint Vincent and the Grenadines'\n },\n {\n code: '685',\n isoCode: 'WS',\n countryName: 'Samoa'\n },\n {\n code: '378',\n isoCode: 'SM',\n countryName: 'San Marino'\n },\n {\n code: '239',\n isoCode: 'ST',\n countryName: 'Sao Tome and Principe'\n },\n {\n code: '966',\n isoCode: 'SA',\n countryName: 'Saudi Arabia'\n },\n {\n code: '221',\n isoCode: 'SN',\n countryName: 'Senegal'\n },\n {\n code: '381',\n isoCode: 'RS',\n countryName: 'Serbia'\n },\n {\n code: '248',\n isoCode: 'SC',\n countryName: 'Seychelles'\n },\n {\n code: '232',\n isoCode: 'SL',\n countryName: 'Sierra Leone'\n },\n {\n code: '65',\n isoCode: 'SG',\n countryName: 'Singapore'\n },\n {\n code: '421',\n isoCode: 'SK',\n countryName: 'Slovakia'\n },\n {\n code: '386',\n isoCode: 'SI',\n countryName: 'Slovenia'\n },\n {\n code: '677',\n isoCode: 'SB',\n countryName: 'Solomon Islands'\n },\n {\n code: '252',\n isoCode: 'SO',\n countryName: 'Somalia'\n },\n {\n code: '27',\n isoCode: 'ZA',\n countryName: 'South Africa'\n },\n {\n code: '82',\n isoCode: 'KR',\n countryName: 'South Korea'\n },\n {\n code: '34',\n isoCode: 'ES',\n countryName: 'Spain'\n },\n {\n code: '94',\n isoCode: 'LK',\n countryName: 'Sri Lanka'\n },\n {\n code: '249',\n isoCode: 'SD',\n countryName: 'Sudan'\n },\n {\n code: '597',\n isoCode: 'SR',\n countryName: 'Suriname'\n },\n {\n code: '268',\n isoCode: 'SZ',\n countryName: 'Swaziland'\n },\n {\n code: '46',\n isoCode: 'SE',\n countryName: 'Sweden'\n },\n {\n code: '41',\n isoCode: 'CH',\n countryName: 'Switzerland'\n },\n {\n code: '963',\n isoCode: 'SY',\n countryName: 'Syrian Arab Republic'\n },\n {\n code: '992',\n isoCode: 'TK',\n countryName: 'Tajikistan'\n },\n {\n code: '255',\n isoCode: 'TZ',\n countryName: 'Tanzania'\n },\n {\n code: '66',\n isoCode: 'TH',\n countryName: 'Thailand'\n },\n {\n code: '670',\n isoCode: 'TP',\n countryName: 'Timor-Leste'\n },\n {\n code: '228',\n isoCode: 'TG',\n countryName: 'Togo'\n },\n {\n code: '676',\n isoCode: 'TO',\n countryName: 'Tonga'\n },\n {\n code: '1868',\n isoCode: 'TT',\n countryName: 'Trinidad and Tobago'\n },\n {\n code: '216',\n isoCode: 'TN',\n countryName: 'Tunisia'\n },\n {\n code: '90',\n isoCode: 'TR',\n countryName: 'Turkey'\n },\n {\n code: '993',\n isoCode: 'TM',\n countryName: 'Turkmenistan'\n },\n {\n code: '1649',\n isoCode: 'TC',\n countryName: 'Turks and Caicos Islands'\n },\n {\n code: '688',\n isoCode: 'TV',\n countryName: 'Tuvalu'\n },\n {\n code: '256',\n isoCode: 'UG',\n countryName: 'Uganda'\n },\n {\n code: '380',\n isoCode: 'UA',\n countryName: 'Ukraine'\n },\n {\n code: '971',\n isoCode: 'AE',\n countryName: 'United Arab Emirates'\n },\n {\n code: '44',\n isoCode: 'GB',\n countryName: 'United Kingdom'\n },\n {\n code: '1',\n isoCode: 'US',\n countryName: 'United States of America'\n },\n {\n code: '598',\n isoCode: 'UY',\n countryName: 'Uruguay'\n },\n {\n code: '998',\n isoCode: 'UZ',\n countryName: 'Uzbekistan'\n },\n {\n code: '678',\n isoCode: 'VU',\n countryName: 'Vanuatu'\n },\n {\n code: '58',\n isoCode: 'VE',\n countryName: 'Venezuela'\n },\n {\n code: '84',\n isoCode: 'VN',\n countryName: 'Vietnam'\n },\n {\n code: '1340',\n isoCode: 'VI',\n countryName: 'Virgin Islands of the United States'\n },\n {\n code: '967',\n isoCode: 'YE',\n countryName: 'Yemen'\n },\n {\n code: '260',\n isoCode: 'ZM',\n countryName: 'Zambia'\n },\n {\n code: '263',\n isoCode: 'ZW',\n countryName: 'Zimbabwe'\n }\n];\n\n\nexport const countryList = [\n {\n code: '7',\n isoCode: 'GEA',\n countryName: 'Abkhazia'\n },\n {\n code: '93',\n isoCode: 'AF',\n countryName: 'Afghanistan'\n },\n {\n code: '355',\n isoCode: 'AL',\n countryName: 'Albania'\n },\n {\n code: '213',\n isoCode: 'DZ',\n countryName: 'Algeria'\n },\n {\n code: '684',\n isoCode: 'AS',\n countryName: 'American Samoa'\n },\n {\n code: '376',\n isoCode: 'AD',\n countryName: 'Andorra'\n },\n {\n code: '244',\n isoCode: 'AO',\n countryName: 'Angola'\n },\n {\n code: '1264',\n isoCode: 'AI',\n countryName: 'Anguilla'\n },\n {\n code: '1268',\n isoCode: 'AG',\n countryName: 'Antigua and Barbuda'\n },\n {\n code: '54',\n isoCode: 'AR',\n countryName: 'Argentina Republic'\n },\n {\n code: '374',\n isoCode: 'AM',\n countryName: 'Armenia'\n },\n {\n code: '297',\n isoCode: 'AW',\n countryName: 'Aruba'\n },\n {\n code: '61',\n isoCode: 'AU',\n countryName: 'Australia'\n },\n {\n code: '43',\n isoCode: 'AT',\n countryName: 'Austria'\n },\n {\n code: '994',\n isoCode: 'AZ',\n countryName: 'Azerbaijan'\n },\n {\n code: '1242',\n isoCode: 'BS',\n countryName: 'Bahamas'\n },\n {\n code: '973',\n isoCode: 'BH',\n countryName: 'Bahrain'\n },\n {\n code: '880',\n isoCode: 'BD',\n countryName: 'Bangladesh'\n },\n {\n code: '1246',\n isoCode: 'BB',\n countryName: 'Barbados'\n },\n {\n code: '375',\n isoCode: 'BY',\n countryName: 'Belarus'\n },\n {\n code: '32',\n isoCode: 'BE',\n countryName: 'Belgium'\n },\n {\n code: '501',\n isoCode: 'BZ',\n countryName: 'Belize'\n },\n {\n code: '229',\n isoCode: 'BJ',\n countryName: 'Benin'\n },\n {\n code: '1441',\n isoCode: 'BM',\n countryName: 'Bermuda'\n },\n {\n code: '975',\n isoCode: 'BT',\n countryName: 'Bhutan'\n },\n {\n code: '591',\n isoCode: 'BO',\n countryName: 'Bolivia'\n },\n {\n code: '387',\n isoCode: 'BA',\n countryName: 'Bosnia and Herzegovina '\n },\n {\n code: '267',\n isoCode: 'BW',\n countryName: 'Botswana'\n },\n {\n code: '55',\n isoCode: 'BR',\n countryName: 'Brazil'\n },\n {\n code: '284',\n isoCode: 'VG',\n countryName: 'British Virgin Islands'\n },\n {\n code: '673',\n isoCode: 'BN',\n countryName: 'Brunei'\n },\n {\n code: '359',\n isoCode: 'BG',\n countryName: 'Bulgaria'\n },\n {\n code: '226',\n isoCode: 'BF',\n countryName: 'Burkina Faso'\n },\n {\n code: '95',\n isoCode: 'MM',\n countryName: 'Burma'\n },\n {\n code: '257',\n isoCode: 'BI',\n countryName: 'Burundi'\n },\n {\n code: '855',\n isoCode: 'KH',\n countryName: 'Cambodia'\n },\n {\n code: '237',\n isoCode: 'CM',\n countryName: 'Cameroon'\n },\n {\n code: '1',\n isoCode: 'CA',\n countryName: 'Canada'\n },\n {\n code: '238',\n isoCode: 'CV',\n countryName: 'Cape Verde'\n },\n {\n code: '1345',\n isoCode: 'KY',\n countryName: 'Cayman Islands'\n },\n {\n code: '236',\n isoCode: 'CF',\n countryName: 'Central African Republic'\n },\n {\n code: '235',\n isoCode: 'TD',\n countryName: 'Chad'\n },\n {\n code: '56',\n isoCode: 'CL',\n countryName: 'Chile'\n },\n {\n code: '86',\n isoCode: 'CN',\n countryName: 'China'\n },\n {\n code: '57',\n isoCode: 'CO',\n countryName: 'Colombia'\n },\n {\n code: '269',\n isoCode: 'KM',\n countryName: 'Comoros'\n },\n {\n code: '242',\n isoCode: 'CG',\n countryName: 'Congo Republic'\n },\n {\n code: '682',\n isoCode: 'CK',\n countryName: 'Cook Islands'\n },\n {\n code: '506',\n isoCode: 'CR',\n countryName: 'Costa Rica'\n },\n {\n code: '385',\n isoCode: 'HR',\n countryName: 'Croatia'\n },\n {\n code: '53',\n isoCode: 'CU',\n countryName: 'Cuba'\n },\n {\n code: '599',\n isoCode: 'CW',\n countryName: 'Curacao'\n },\n {\n code: '357',\n isoCode: 'CY',\n countryName: 'Cyprus'\n },\n {\n code: '420',\n isoCode: 'CZ',\n countryName: 'Czech Republic'\n },\n {\n code: '243',\n isoCode: 'CD',\n countryName: 'Democratic Republic of the Congo'\n },\n {\n code: '45',\n isoCode: 'DK',\n countryName: 'Denmark'\n },\n {\n code: '253',\n isoCode: 'DJ',\n countryName: 'Djibouti'\n },\n {\n code: '1767',\n isoCode: 'DM',\n countryName: 'Dominica'\n },\n {\n code: '1809',\n isoCode: 'DO',\n countryName: 'Dominican Republic'\n },\n {\n code: '593',\n isoCode: 'EC',\n countryName: 'Ecuador'\n },\n {\n code: '20',\n isoCode: 'EG',\n countryName: 'Egypt'\n },\n {\n code: '503',\n isoCode: 'SV',\n countryName: 'El Salvador'\n },\n {\n code: '240',\n isoCode: 'GQ',\n countryName: 'Equatorial Guinea'\n },\n {\n code: '291',\n isoCode: 'ER',\n countryName: 'Eritrea'\n },\n {\n code: '372',\n isoCode: 'EE',\n countryName: 'Estonia'\n },\n {\n code: '251',\n isoCode: 'ET',\n countryName: 'Ethiopia'\n },\n {\n code: '500',\n isoCode: 'FK',\n countryName: 'Falkland Islands'\n },\n {\n code: '298',\n isoCode: 'FO',\n countryName: 'Faroe Islands'\n },\n {\n code: '679',\n isoCode: 'FJ',\n countryName: 'Fiji'\n },\n {\n code: '358',\n isoCode: 'FI',\n countryName: 'Finland'\n },\n {\n code: '33',\n isoCode: 'FR',\n countryName: 'France'\n },\n {\n code: '594',\n isoCode: 'FG',\n countryName: 'French Guiana'\n },\n {\n code: '689',\n isoCode: 'PF',\n countryName: 'French Polynesia'\n },\n {\n code: '241',\n isoCode: 'GA',\n countryName: 'Gabon'\n },\n {\n code: '220',\n isoCode: 'GM',\n countryName: 'Gambia'\n },\n {\n code: '995',\n isoCode: 'GE',\n countryName: 'Georgia'\n },\n {\n code: '49',\n isoCode: 'DE',\n countryName: 'Germany'\n },\n {\n code: '233',\n isoCode: 'GH',\n countryName: 'Ghana'\n },\n {\n code: '350',\n isoCode: 'GI',\n countryName: 'Gibraltar'\n },\n {\n code: '30',\n isoCode: 'GR',\n countryName: 'Greece'\n },\n {\n code: '299',\n isoCode: 'GL',\n countryName: 'Greenland'\n },\n {\n code: '1473',\n isoCode: 'GD',\n countryName: 'Grenada'\n },\n {\n code: '590',\n isoCode: 'GP',\n countryName: 'Guadeloupe'\n },\n {\n code: '1671',\n isoCode: 'GU',\n countryName: 'Guam'\n },\n {\n code: '502',\n isoCode: 'GT',\n countryName: 'Guatemala'\n },\n {\n code: '224',\n isoCode: 'GN',\n countryName: 'Guinea'\n },\n {\n code: '245',\n isoCode: 'GW',\n countryName: 'Guinea-Bissau'\n },\n {\n code: '592',\n isoCode: 'GY',\n countryName: 'Guyana'\n },\n {\n code: '509',\n isoCode: 'HT',\n countryName: 'Haiti'\n },\n {\n code: '504',\n isoCode: 'HN',\n countryName: 'Honduras'\n },\n {\n code: '852',\n isoCode: 'HK',\n countryName: 'Hongkong China'\n },\n {\n code: '36',\n isoCode: 'HU',\n countryName: 'Hungary'\n },\n {\n code: '354',\n isoCode: 'IS',\n countryName: 'Iceland'\n },\n {\n code: '91',\n isoCode: 'IN',\n countryName: 'India'\n },\n {\n code: '62',\n isoCode: 'ID',\n countryName: 'Indonesia'\n },\n {\n code: '98',\n isoCode: 'IR',\n countryName: 'Iran'\n },\n {\n code: '964',\n isoCode: 'IQ',\n countryName: 'Iraq'\n },\n {\n code: '353',\n isoCode: 'IE',\n countryName: 'Ireland'\n },\n {\n code: '972',\n isoCode: 'IL',\n countryName: 'Israel'\n },\n {\n code: '39',\n isoCode: 'IT',\n countryName: 'Italy'\n },\n {\n code: '225',\n isoCode: 'CI',\n countryName: 'Ivory Coast'\n },\n {\n code: '1876',\n isoCode: 'JM',\n countryName: 'Jamaica'\n },\n {\n code: '81',\n isoCode: 'JP',\n countryName: 'Japan'\n },\n {\n code: '962',\n isoCode: 'JO',\n countryName: 'Jordan'\n },\n {\n code: '7',\n isoCode: 'KZ',\n countryName: 'Kazakhstan'\n },\n {\n code: '254',\n isoCode: 'KE',\n countryName: 'Kenya'\n },\n {\n code: '686',\n isoCode: 'KI',\n countryName: 'Kiribati'\n },\n {\n code: '965',\n isoCode: 'KW',\n countryName: 'Kuwait'\n },\n {\n code: '996',\n isoCode: 'KG',\n countryName: 'Kyrgyzstan'\n },\n {\n code: '856',\n isoCode: 'LA',\n countryName: 'Laos'\n },\n {\n code: '371',\n isoCode: 'LV',\n countryName: 'Latvia'\n },\n {\n code: '961',\n isoCode: 'LB',\n countryName: 'Lebanon'\n },\n {\n code: '266',\n isoCode: 'LS',\n countryName: 'Lesotho'\n },\n {\n code: '231',\n isoCode: 'LR',\n countryName: 'Liberia'\n },\n {\n code: '218',\n isoCode: 'LY',\n countryName: 'Libya'\n },\n {\n code: '423',\n isoCode: 'LI',\n countryName: 'Liechtenstein'\n },\n {\n code: '370',\n isoCode: 'LT',\n countryName: 'Lithuania'\n },\n {\n code: '352',\n isoCode: 'LU',\n countryName: 'Luxembourg'\n },\n {\n code: '853',\n isoCode: 'MO',\n countryName: 'Macao China'\n },\n {\n code: '389',\n isoCode: 'MK',\n countryName: 'Macedonia'\n },\n {\n code: '261',\n isoCode: 'MG',\n countryName: 'Madagascar'\n },\n {\n code: '265',\n isoCode: 'MW',\n countryName: 'Malawi'\n },\n {\n code: '60',\n isoCode: 'MY',\n countryName: 'Malaysia'\n },\n {\n code: '960',\n isoCode: 'MV',\n countryName: 'Maldives'\n },\n {\n code: '223',\n isoCode: 'ML',\n countryName: 'Mali'\n },\n {\n code: '356',\n isoCode: 'MT',\n countryName: 'Malta'\n },\n {\n code: '596',\n isoCode: 'MQ',\n countryName: 'Martinique'\n },\n {\n code: '222',\n isoCode: 'MR',\n countryName: 'Mauritania'\n },\n {\n code: '230',\n isoCode: 'MU',\n countryName: 'Mauritius'\n },\n {\n code: '52',\n isoCode: 'MX',\n countryName: 'Mexico'\n },\n {\n code: '691',\n isoCode: 'FM',\n countryName: 'Micronesia'\n },\n {\n code: '373',\n isoCode: 'MD',\n countryName: 'Moldova'\n },\n {\n code: '377',\n isoCode: 'MC',\n countryName: 'Monaco'\n },\n {\n code: '976',\n isoCode: 'MN',\n countryName: 'Mongolia'\n },\n {\n code: '382',\n isoCode: 'ME',\n countryName: 'Montenegro'\n },\n {\n code: '1664',\n isoCode: 'MS',\n countryName: 'Montserrat'\n },\n {\n code: '212',\n isoCode: 'MA',\n countryName: 'Morocco'\n },\n {\n code: '258',\n isoCode: 'MZ',\n countryName: 'Mozambique'\n },\n {\n code: '264',\n isoCode: 'NA',\n countryName: 'Namibia'\n },\n {\n code: '977',\n isoCode: 'NP',\n countryName: 'Nepal'\n },\n {\n code: '31',\n isoCode: 'NL',\n countryName: 'Netherlands'\n },\n {\n code: '599',\n isoCode: 'AN',\n countryName: 'Netherlands Antilles'\n },\n {\n code: '687',\n isoCode: 'NC',\n countryName: 'New Caledonia'\n },\n {\n code: '64',\n isoCode: 'NZ',\n countryName: 'New Zealand'\n },\n {\n code: '505',\n isoCode: 'NI',\n countryName: 'Nicaragua'\n },\n {\n code: '227',\n isoCode: 'NE',\n countryName: 'Niger'\n },\n {\n code: '234',\n isoCode: 'NG',\n countryName: 'Nigeria'\n },\n {\n code: '683',\n isoCode: 'NU',\n countryName: 'Niue'\n },\n {\n code: '850',\n isoCode: 'KP',\n countryName: 'North Korea'\n },\n {\n code: '47',\n isoCode: 'NO',\n countryName: 'Norway'\n },\n {\n code: '968',\n isoCode: 'OM',\n countryName: 'Oman'\n },\n {\n code: '92',\n isoCode: 'PK',\n countryName: 'Pakistan'\n },\n {\n code: '970',\n isoCode: 'PS',\n countryName: 'Palestinian Territory'\n },\n {\n code: '507',\n isoCode: 'PA',\n countryName: 'Panama'\n },\n {\n code: '675',\n isoCode: 'PG',\n countryName: 'Papua New Guinea'\n },\n {\n code: '595',\n isoCode: 'PY',\n countryName: 'Paraguay'\n },\n {\n code: '51',\n isoCode: 'PE',\n countryName: 'Peru'\n },\n {\n code: '63',\n isoCode: 'PH',\n countryName: 'Philippines'\n },\n {\n code: '48',\n isoCode: 'PL',\n countryName: 'Poland'\n },\n {\n code: '351',\n isoCode: 'PT',\n countryName: 'Portugal'\n },\n {\n code: '1787',\n isoCode: 'PR',\n countryName: 'Puerto Rico'\n },\n {\n code: '974',\n isoCode: 'QA',\n countryName: 'Qatar'\n },\n {\n code: '680',\n isoCode: 'PW',\n countryName: 'Republic of Palau'\n },\n {\n code: '211',\n isoCode: 'SS',\n countryName: 'Republic of South Sudan'\n },\n {\n code: '262',\n isoCode: 'RE',\n countryName: 'Reunion'\n },\n {\n code: '40',\n isoCode: 'RO',\n countryName: 'Romania'\n },\n {\n code: '79',\n isoCode: 'RU',\n countryName: 'Russian Federation'\n },\n {\n code: '250',\n isoCode: 'RW',\n countryName: 'Rwanda'\n },\n {\n code: '1869',\n isoCode: 'KN',\n countryName: 'Saint Kitts and Nevis'\n },\n {\n code: '1758',\n isoCode: 'LC',\n countryName: 'Saint Lucia'\n },\n {\n code: '508',\n isoCode: 'PM',\n countryName: 'Saint Pierre and Miquelon'\n },\n {\n code: '1784',\n isoCode: 'VC',\n countryName: 'Saint Vincent and the Grenadines'\n },\n {\n code: '685',\n isoCode: 'WS',\n countryName: 'Samoa'\n },\n {\n code: '378',\n isoCode: 'SM',\n countryName: 'San Marino'\n },\n {\n code: '239',\n isoCode: 'ST',\n countryName: 'Sao Tome and Principe'\n },\n {\n code: '966',\n isoCode: 'SA',\n countryName: 'Saudi Arabia'\n },\n {\n code: '221',\n isoCode: 'SN',\n countryName: 'Senegal'\n },\n {\n code: '381',\n isoCode: 'RS',\n countryName: 'Serbia'\n },\n {\n code: '248',\n isoCode: 'SC',\n countryName: 'Seychelles'\n },\n {\n code: '232',\n isoCode: 'SL',\n countryName: 'Sierra Leone'\n },\n {\n code: '65',\n isoCode: 'SG',\n countryName: 'Singapore'\n },\n {\n code: '421',\n isoCode: 'SK',\n countryName: 'Slovakia'\n },\n {\n code: '386',\n isoCode: 'SI',\n countryName: 'Slovenia'\n },\n {\n code: '677',\n isoCode: 'SB',\n countryName: 'Solomon Islands'\n },\n {\n code: '252',\n isoCode: 'SO',\n countryName: 'Somalia'\n },\n {\n code: '27',\n isoCode: 'ZA',\n countryName: 'South Africa'\n },\n {\n code: '82',\n isoCode: 'KR',\n countryName: 'South Korea'\n },\n {\n code: '34',\n isoCode: 'ES',\n countryName: 'Spain'\n },\n {\n code: '94',\n isoCode: 'LK',\n countryName: 'Sri Lanka'\n },\n {\n code: '249',\n isoCode: 'SD',\n countryName: 'Sudan'\n },\n {\n code: '597',\n isoCode: 'SR',\n countryName: 'Suriname'\n },\n {\n code: '268',\n isoCode: 'SZ',\n countryName: 'Swaziland'\n },\n {\n code: '46',\n isoCode: 'SE',\n countryName: 'Sweden'\n },\n {\n code: '41',\n isoCode: 'CH',\n countryName: 'Switzerland'\n },\n {\n code: '963',\n isoCode: 'SY',\n countryName: 'Syrian Arab Republic'\n },\n {\n code: '992',\n isoCode: 'TK',\n countryName: 'Tajikistan'\n },\n {\n code: '255',\n isoCode: 'TZ',\n countryName: 'Tanzania'\n },\n {\n code: '66',\n isoCode: 'TH',\n countryName: 'Thailand'\n },\n {\n code: '670',\n isoCode: 'TP',\n countryName: 'Timor-Leste'\n },\n {\n code: '228',\n isoCode: 'TG',\n countryName: 'Togo'\n },\n {\n code: '676',\n isoCode: 'TO',\n countryName: 'Tonga'\n },\n {\n code: '1868',\n isoCode: 'TT',\n countryName: 'Trinidad and Tobago'\n },\n {\n code: '216',\n isoCode: 'TN',\n countryName: 'Tunisia'\n },\n {\n code: '90',\n isoCode: 'TR',\n countryName: 'Turkey'\n },\n {\n code: '993',\n isoCode: 'TM',\n countryName: 'Turkmenistan'\n },\n {\n code: '1649',\n isoCode: 'TC',\n countryName: 'Turks and Caicos Islands'\n },\n {\n code: '688',\n isoCode: 'TV',\n countryName: 'Tuvalu'\n },\n {\n code: '256',\n isoCode: 'UG',\n countryName: 'Uganda'\n },\n {\n code: '380',\n isoCode: 'UA',\n countryName: 'Ukraine'\n },\n {\n code: '971',\n isoCode: 'AE',\n countryName: 'United Arab Emirates'\n },\n {\n code: '44',\n isoCode: 'GB',\n countryName: 'United Kingdom'\n },\n {\n code: '1',\n isoCode: 'US',\n countryName: 'United States of America'\n },\n {\n code: '598',\n isoCode: 'UY',\n countryName: 'Uruguay'\n },\n {\n code: '998',\n isoCode: 'UZ',\n countryName: 'Uzbekistan'\n },\n {\n code: '678',\n isoCode: 'VU',\n countryName: 'Vanuatu'\n },\n {\n code: '58',\n isoCode: 'VE',\n countryName: 'Venezuela'\n },\n {\n code: '84',\n isoCode: 'VN',\n countryName: 'Vietnam'\n },\n {\n code: '1340',\n isoCode: 'VI',\n countryName: 'Virgin Islands of the United States'\n },\n {\n code: '967',\n isoCode: 'YE',\n countryName: 'Yemen'\n },\n {\n code: '260',\n isoCode: 'ZM',\n countryName: 'Zambia'\n },\n {\n code: '263',\n isoCode: 'ZW',\n countryName: 'Zimbabwe'\n }\n];\n","import { ResponseCodes, Role } from './Enumerations';\n\n\n\n\nexport class AppUser {\n LastLoginIn: string;\n CifId: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n PinStatus: string;\n accountOfficerName: string;\n accountEmail: string;\n BVN?: string;\n BearerToken: string;\n SessionId: string;\n Reference: string;\n NotificationType: string;\n NotificationAddress: string;\n transactionId: string;\n QuestionDetailList?: any[];\n Token: string;\n UserId?: string;\n Role: UserRole;\n MenuProfile: string;\n\n\n LimitedAccess: boolean;\n LoginStatus: string;\n AuthPassForChange: string;\n\n\n YPSFlixDescription: string;\n OTPResponseDescription: string;\n OTPNotificationAddress: string;\n OTPNotificationType: string;\n Firstname: string;\n Lastname: string;\n AccountOfficerEmail: string;\n AccountOfficerName: string;\n}\n\nexport interface UserRole {\n UserId: string;\n roles: Role[];\n menus?: Array;\n menuProfile?: string;\n}\n\n\n\n\n\n\n\nexport interface LoginRequestPayload {\n password: string;\n returnRMDetails: boolean;\n userId: string;\n}\n\nexport interface AuthResponse {\n responseCode: ResponseCodes.SUCCESS;\n last_four_digit_of_customer_phone_no: string;\n lastLoginIn: Date;\n sessionId: string;\n cifId: string;\n oTPResponseDescription: string;\n responseDescription: string;\n responseFriendlyMessage: string;\n notificationType: string;\n notificationAddress: string;\n}\n\nexport interface PasswordChangeRequestPayload {\n OldPassword: string;\n NewPassword: string;\n OTP: string;\n UserId: string;\n SourceRefId: string;\n}\n\nexport interface PasswordChangeOtpRequestResponse {\n ResponseCode: string;\n ResponseDescription: string;\n ResponseFriendlyMessage: string;\n}\n\nexport interface PasswordChangeOtpRequestPayload {\n UserId: string;\n CifId: string;\n ReasonCode: string;\n}\n\nexport interface PasswordChangeOtpResponse {\n ResponseCode: string;\n ResponseDescription: string;\n ResponseFriendlyMessage: string;\n NotificationAddress: string;\n NotificationType: string;\n}\n\nexport interface LoginValidationRequestPayload {\n UserId: string;\n Otp: string;\n Reference: string; // OTPResponseDescription from login response,\n CifId: string;\n ReasonCode: string; // login_reason_Code from reasoncodes ,\n sessionId: string; // user.SessionId\n}\n\nexport interface CustomerSecret {\n question: string;\n answer: string;\n}\n\nexport class SecurityQuestion {\n questionId?: string;\n questionID: string;\n questionDescription?: string;\n questionDESC: string;\n answer?: string;\n index?: number;\n}\n\n\nexport class UserSecurityQuestion {\n questions: Array;\n userId: string;\n otp: string;\n requestID: string;\n customerId: string;\n}\n\n\n","export const _mockBeneficiaryData = [\n {\n beneficiaryName: 'Mohammed Laila Lauretta',\n beneficiaryId: '1603037',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate: '2018-12-07T14:06:21+01:00',\n requestType: 'Addition',\n status: 2\n },\n {\n beneficiaryName: 'ABIOLA LOLADE LATEEFAH',\n beneficiaryId: '1603030',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate: '2018-12-07T18:06:21+01:00',\n requestType: 'Remove',\n status: 2\n },\n {\n beneficiaryName: 'LAILA MOHAMMED',\n beneficiaryId: '1603031',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate: '2018-12-09T18:06:21+01:00',\n requestType: 'Addition',\n status: 8\n },\n {\n beneficiaryName: 'KATE POPOOLA',\n beneficiaryId: '1603032',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate: '2018-12-09T20:06:21+01:00',\n requestType: 'Addition',\n status: 8\n }\n];\n","export const _mockBillersManagementData = [\n {\n billerName: '3rdmain',\n subscriptionId: '1478109',\n billerNickName : 'ARIK AIR',\n requestedBy : 'AYODEJIOLAOYE',\n requestDate : '2019-01-04T14:06:21+01:00',\n requestType : 'Remove',\n status : 4\n },\n {\n billerName: 'DSTV',\n subscriptionId : '1603037',\n billerNickName: 'DSTV SME-Biller',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate: '2019-01-04T14:06:21+01:00',\n requestType : 'Addition',\n status : 2\n },\n {\n billerName: 'Arik Air Book-On-Hold',\n subscriptionId: '1478119',\n billerNickName : 'ARIK AIR',\n requestedBy: 'AYODEJIOLAOYE',\n requestDate : '2019-01-04T14:06:21+01:00',\n requestType : 'Addition',\n status : 4\n },\n {\n billerName: '3rdmain',\n subscriptionId: '1478119',\n billerNickName : 'ARIK AIR',\n requestedBy : 'AYODEJIOLAOYE',\n requestDate : '2019-01-04T14:06:21+01:00',\n requestType : 'Remove',\n status : 4\n }\n];\n","export const _mockFileUploadsData = [\n {\n referenceId: '000000000',\n title: '13th Month Staff Salary Payments',\n status: 'Pending',\n transactionType: 'Salary Payment',\n uploadedBy: 'Requestor with Initiator Role',\n filePath: 'C:\\\\Users\\\\Sbassey\\\\Downloads\\\\paymentsfile.exls',\n sequenceNo: '1',\n requestDate: '2018-12-18T12:34:01+01:00'\n },\n {\n referenceId: '11100011100',\n title: '2nd Installment Payment for TeampApt',\n status: 'Pending',\n transactionType: 'External Payment',\n uploadedBy: 'Requestor with Initiator Role',\n filePath: 'C:\\\\Users\\\\Sbassey\\\\Downloads\\\\paymentsfile.exls',\n sequenceNo: '1',\n requestDate: '2018-12-18T12:34:01+01:00'\n },\n];\n","export const _mocktransferData = {\n 'oneoff': [\n {\n referenceId: '00000000000',\n transactionType: 'OneOff',\n status: 'Pending',\n requestedBy: 'Requestor with Initiator Role',\n frequency: 'Once',\n transactionDate: '2018-12-18T12:34:01+01:00',\n totalAmount: 50000\n },\n {\n referenceId: '00000000001',\n transactionType: 'Self',\n status: 'Pending',\n requestedBy: 'Requestor',\n frequency: 'Once',\n transactionDate: '2018-12-18T12:34:01+01:00',\n totalAmount: 1050000\n }\n ]\n};\n\nexport const _mockPaymentApprovalHistory = [\n {\n user: 'AYODEJIOLAOYE',\n action: 'Initiated',\n date : '2019-01-23T17:34:01+01:00'\n },\n {\n user: 'KOLAWOLE',\n action: 'Approved',\n date : '2019-01-24T08:45:01+01:00'\n },\n {\n user: 'BASSEY',\n action: 'Approved',\n date : '2019-01-24T11:30:01+01:00'\n }\n];\n","export const _workflowRules = [\n {\n ConflictedApprovalStages: [\n {\n CacheXFIG: '',\n OperationType: 'BULK_UPLOAD',\n NumOfRequiredApprovers: 5,\n ApprovalLevel: 1,\n ApprovalUserIds: ['ADEBAYOOLUSOLA', 'NAYANAKSHASHERRY']\n },\n {\n CacheXFIG: '',\n OperationType: 'BULK_UPLOAD',\n NumOfRequiredApprovers: 2,\n ApprovalLevel: 1,\n ApprovalUserIds: ['ADEBAYOOLUSOLA', 'NAYANAKSHASHERRY']\n }\n ],\n OtherApprovalStages: [\n {\n CacheXFIG: '',\n OperationType: 'BULK_UPLOAD',\n NumOfRequiredApprovers: 5,\n ApprovalLevel: 2,\n ApprovalUserIds: ['ADEBAYOOLUSOLA', 'NAYANAKSHASHERRY']\n }\n ]\n },\n {\n ConflictedApprovalStages: [],\n OtherApprovalStages: [\n {\n CacheXFIG: '',\n OperationType: 'BULK_UPLOAD',\n NumOfRequiredApprovers: 5,\n ApprovalLevel: 2,\n ApprovalUserIds: ['ADEBAYOOLUSOLA', 'NAYANAKSHASHERRY']\n },\n {\n CacheXFIG: '',\n OperationType: 'BULK_UPLOAD',\n NumOfRequiredApprovers: 5,\n ApprovalLevel: 2,\n ApprovalUserIds: ['ADEBAYOOLUSOLA', 'NAYANAKSHASHERRY']\n }\n ]\n }\n];\n","\n\nexport interface AppUser {\n LastLoginIn: string;\n CifId: string;\n FirstName: string;\n MiddleName: string;\n LastName: string;\n PinStatus: string;\n accountOfficerName: string;\n accountEmail: string;\n BVN?: string;\n BearerToken: string;\n SessionId: string;\n Reference: string;\n NotificationType: string;\n NotificationAddress: string;\n transactionId: string;\n QuestionDetailList?: any[];\n Token: string;\n UserId?: string;\n Role: UserRole;\n MenuProfile: string;\n}\n\nexport interface UserRole {\n UserId: string;\n roles: Role[];\n menus?: Array;\n menuProfile?: string;\n}\n\nexport enum Role {\n Initiator = 2,\n Viewer = 4,\n Approver = 8\n}\n","\n\n\nimport { Injectable, Output, EventEmitter } from '@angular/core';\n\n\n@Injectable()\nexport class EventHandlerService {\n @Output() static SessionTimeoutEventPublisher = new EventEmitter<{}>();\n @Output() static OnAppViewChangedEventPublisher = new EventEmitter<{ hideAppViewChangeLoader: boolean }>();\n @Output() static InstantCashAdvanceLinkControlEventPublisher = new EventEmitter<{ showLink: boolean }>();\n @Output() static SignalRSessionLogoutEventPublisher = new EventEmitter();\n\n\n\n static emitSessionTimeoutEvent() {\n this.SessionTimeoutEventPublisher.emit({});\n }\n\n\n static emitOnAppViewChangedEvent(hideAppViewChangeLoader: boolean = true) {\n this.OnAppViewChangedEventPublisher.emit({ hideAppViewChangeLoader });\n }\n\n static emitInstantCashAdvanceLinkControlEvent(showLink: boolean) {\n this.InstantCashAdvanceLinkControlEventPublisher.emit({ showLink });\n }\n\n static emitSignalRSeesionLogoutEvent() {\n this.SignalRSessionLogoutEventPublisher.emit();\n }\n\n}\n\n\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { EditRequest, FxBranch, FxRequestHistoryResponse, GetFxTypesResponse } from \"../models/GetFxTypesResponse\";\nimport { AppConfigService } from \"./appconfig.service\";\n\n@Injectable()\nexport class FxRequestHistoryService {\n\n constructor(\n private _htp: HttpClient,\n private _config: AppConfigService\n ){\n this.baseUrl = _config.FxPaymentApiBaseUrl\n }\n baseUrl: string = \"\"\n headers = {\n \"Q-wxTYDV-vxq\":\"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\"\n }\n\n LoadFxTypes(): Promise {\n const fullUrl = `${this.baseUrl}/GetFxTypes`\n return this._htp.post(fullUrl,{},{\n headers:this.headers}).toPromise()\n }\n\n CancelFxRequesr(Id) {\n const fullUrl = `${this.baseUrl}/CancelRequest`\n return this._htp.post(fullUrl, {\"requestId\":Id}, {\n headers:this.headers\n }).toPromise();\n }\n\n LoadFxBranches(): Promise {\n const fullUrl = `${this.baseUrl}/GetFxBranches`\n return this._htp.post(fullUrl,{}, {\n headers:this.headers\n }).toPromise()\n }\n\n LoadFxRequestHistory(body: any): Promise {\n const fullUrl = `${this.baseUrl}/GetRequestHistory`\n return this._htp.post(fullUrl, body, {\n headers:this.headers\n }).toPromise();\n }\n\n EditRequest(body: EditRequest) {\n const fullUrl = `${this.baseUrl}/EditRequest`\n\n return this._htp.post(fullUrl, body, {\n headers:this.headers\n }).toPromise();\n }\n}","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { ApiURLConstants } from \"../helpers/apiURLConstants\";\nimport {\n AccountRequestPayload,\n AccountRequestResponse,\n SetDefaultAccountRequestPayload,\n RequestResponse,\n GetCustomerBVNRequest,\n SMEUserCorporateLimitResponse,\n} from \"../models/account\";\nimport { _mockAccountList } from \"../models/mocks/_accounts.mock\";\nimport { AuthService } from \"./auth.service\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\n// import { Observable } from '../../../../node_modules/rxjs';\nimport { Observable, of } from \"rxjs\";\n\n@Injectable()\nexport class AccountService {\n private _apiBaseUrl: string;\n useMock: boolean;\n constructor(\n private _httpClient: HttpClient,\n private _settingsService: AppConfigService\n ) {\n this._apiBaseUrl = this._settingsService.APIBaseUrl;\n this.useMock = _settingsService.UseMockData;\n }\n\n getAccountsByCIFID(\n payload?: any,useMock: boolean = false): Observable {\n payload = payload && payload[\"CifId\"] ? payload : this.buildAccountsRequestPayload();\n \n\n // if (useMock) {\n // return of({\n // ResponseCode: '00', ResponseFriendlyMessage: 'success', defaultAccount: _mockAccountList[0].accountNumber,\n // Accounts: _mockAccountList\n // });\n // }\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.CustomerAccounts}`,payload);\n }\n\n getAccountsByUserID(userId: string): Observable {\n \n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SMECustomerAccounts}`,\n { UserId: userId }\n );\n\n }\n\n\n\n setDefaultAccount(accountId: string): Promise {\n const requestPayload = this.buildSetDefaultAccountRequestpayload(accountId);\n return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/SetDashBoardDefaultAccount`, requestPayload)\n .toPromise();\n }\n\n private buildSetDefaultAccountRequestpayload(accountId: string): SetDefaultAccountRequestPayload {\n const userAuthData = AuthService.FullyAuthenticatedUser;\n return {\n UserId: userAuthData && userAuthData['UserId'] ? userAuthData.UserId : '',\n SessionId: userAuthData && userAuthData['SessionId'] ? userAuthData.SessionId : '',\n AccountNo: accountId\n };\n }\n private buildAccountsRequestPayload(): AccountRequestPayload {\n const userAuthData = AuthService.FullyAuthenticatedUser;\n return {\n CifId: userAuthData && userAuthData.CifId ? userAuthData.CifId : '',\n userId: userAuthData && userAuthData.UserId ? userAuthData.UserId : '',\n SessionId: userAuthData && userAuthData.SessionId ? userAuthData.SessionId : ''\n };\n }\n\n getCustomerBVN(payload: GetCustomerBVNRequest): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.CustomerBVN}`,\n payload\n );\n }\n\n\n getSMEUserCorporateLimit(userId: string): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SMEUserCorporateLimit}`,\n { UserId: userId }\n );\n }\n\n private getMockAccountListResponse(): Observable {\n const res = {\n \"ResponseCode\": \"00\",\n \"ResponseDescription\": \"Accounts fetched successfully\",\n \"ResponseFriendlyMessage\": \"Accounts fetched successfully\",\n \"Accounts\": [{\n \"accountNumber\": \"0006897146\",\n \"accountName\": \"AYODELE OLATUNDE AYETIGBO\",\n \"debitAllowed\": true,\n \"creditAllowed\": true,\n \"accountType\": \"SAVINGS\",\n \"accountCategory\": \"SB001\",\n \"effectiveBalance\": 15823.26,\n \"availableBalance\": 15323.26,\n \"currency\": \"NGN\"\n }, {\n \"accountNumber\": \"0013621657\",\n \"accountName\": \"AYODELE OLATUNDE AYETIGBO\",\n \"debitAllowed\": true,\n \"creditAllowed\": true,\n \"accountType\": \"CURRENT\",\n \"accountCategory\": \"OD003\",\n \"effectiveBalance\": 1010819.21,\n \"availableBalance\": 1010819.21,\n \"currency\": \"NGN\"\n }, {\n \"accountNumber\": \"0015934988\",\n \"accountName\": \"AYODELE OLATUNDE AYETIGBO\",\n \"debitAllowed\": false,\n \"creditAllowed\": true,\n \"accountType\": \"VISA CREDIT\",\n \"accountCategory\": \"ODVIS\",\n \"effectiveBalance\": 284.35,\n \"availableBalance\": 284.35,\n \"currency\": \"NGN\"\n }, {\n \"accountNumber\": \"0022390409\",\n \"accountName\": \"AYODELE O AYETIGBO\",\n \"debitAllowed\": false,\n \"creditAllowed\": false,\n \"accountType\": \"UNSECURED PERSONAL LOAN\",\n \"accountCategory\": \"USPLN\",\n \"effectiveBalance\": -2000000.0,\n \"availableBalance\": 0.0,\n \"currency\": \"NGN\"\n }],\n \"DefaultAccount\": \"0006897146\"\n } as {} as AccountRequestResponse;\n\n return of(res);\n }\n\n\n\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { VARIABLES } from \"../helpers/appVariables\";\n\n@Injectable()\nexport class AppConfigService {\n static config: any;\n\n constructor() {\n if (typeof AppConfigService.config == \"undefined\") {\n AppConfigService.config = this.GetSettings();\n VARIABLES.STANBIC_CONTACT_EMAIL =\n AppConfigService.config.stanbicContactEmail;\n }\n }\n\n GetSettings() {\n const appSettings = this.loadMockSettings();\n\n if (!appSettings) {\n throw new Error(\"AppConfig unable to load\");\n }\n\n return appSettings;\n }\n\n private LoadAppSettings() {\n let response = \"\";\n const xhr = new XMLHttpRequest();\n xhr.onreadystatechange = function (evt) {\n if (this.readyState === 4 && this.status === 200) {\n response = this.responseText;\n }\n };\n xhr.open(\"GET\", \"../assets/x-v-rrcache.json\", false);\n xhr.send(null);\n\n return JSON.parse(response);\n }\n\n public get APIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.APIBaseUrl.prod;\n }\n\n return AppConfigService.config.APIBaseUrl.dev;\n }\n\n public get EZCash(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.ezCash.prod;\n }\n\n return AppConfigService.config.ezCash.dev;\n }\n\n public get APIBaseUrl2(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.APIBaseUrl2.prod;\n }\n\n return AppConfigService.config.APIBaseUrl2.dev;\n }\n\n debitCardAutoRenewal: {\n // dev: 'https://devtest.stanbicibtc.com:8091/autorenewal',\n dev: \"https://stanbic.nibse.com/mybank/DebitCardAutoRenewalAPI\";\n /*\"https://devtest.stanbicibtc.com:7443/auto-renewal-service\", \"https://localhost:44328\"*/ /*\"https://sibtc-azure-external-api.stanbicibtc-devase.p.azurewebsites.net/ib-debit-card-consent\"*/\n // prod: \"https://ibanking.stanbicibtcbank.com/DebitCardConsentAutorenewal\";\n prod: \"https://ibanking.stanbicibtcbank.com/DebitCardConsentAutorenewal\";\n };\n\n public get DebitCardAutoRenewalURL(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.debitCardAutoRenewalBaseUrl.prod;\n }\n\n return AppConfigService.config.debitCardAutoRenewalBaseUrl.dev;\n }\n\n public get UseMockData(): boolean {\n if (AppConfigService.config.useMock) {\n return true;\n }\n\n return false;\n }\n\n public get pensionAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.pensionAPIBaseUrl.prod;\n }\n return AppConfigService.config.pensionAPIBaseUrl.dev;\n }\n\n public static get IsProdEnv(): boolean {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n return AppConfigService.config.environment.IsProd;\n }\n\n public static get isUATModeForRetailUserCreation(): boolean {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n return AppConfigService.config.isUATModeForRetailUserCreation;\n }\n\n public static get DefaultStanbicAccountOficerEmail(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n return AppConfigService.config.stanbicContactEmail;\n }\n\n public static get DevModeLoaderInterval(): number {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n return AppConfigService.config.devModeLoaderInterval;\n }\n\n public static get CCCNumber(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n return AppConfigService.config.cccNumber;\n }\n\n public static get EbillsApiURL(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n return AppConfigService.config.ebillsAPIBaseURL;\n }\n\n public get CreditCardBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.creditCardBaseUrl.prod;\n }\n\n return AppConfigService.config.creditCardBaseUrl.dev;\n }\n\n public get CreditCheckBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.creditCheckBaseUrl.prod;\n }\n\n return AppConfigService.config.creditCheckBaseUrl.dev;\n }\n\n public get VirtaulCardBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.virtualCardBaseUrl.prod;\n }\n\n return AppConfigService.config.virtualCardBaseUrl.dev;\n }\n\n public static get SignalRURL(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.creditCardBaseUrl.prod;\n }\n\n return AppConfigService.config.creditCardBaseUrl.dev;\n }\n\n // public static get SignalRURL(): string {\n // if (!AppConfigService.config) {\n // throw new Error(\"AppConfig not loaded.\");\n // }\n // if (AppConfigService.config.environment.IsProd == true) {\n // return AppConfigService.config.SignalRUrl.prod;\n // }\n\n // return AppConfigService.config.SignalRUrl.dev;\n // }\n\n public get CustodianAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.CustodianServiceAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.CustodianServiceAPIBaseUrl.dev;\n }\n public get CreditCardRequestBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.creditCardBaseUrl.prod;\n }\n }\n public get SurveyAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.surveyAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.surveyAPIBaseUrl.dev;\n }\n\n public get UnscheduledRepaymentBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.UnscheduledRepaymentBaseUrl.prod;\n }\n\n return AppConfigService.config.UnscheduledRepaymentBaseUrl.dev;\n }\n public get WakanowBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.wakanowBaseUrl.prod;\n }\n\n return AppConfigService.config.wakanowBaseUrl.dev;\n }\n\n public get DebitCardAutoRenewalUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.debitCardBaseUrl.prod;\n }\n\n return AppConfigService.config.debitCardBaseUrl.dev;\n }\n\n public get IntellinxAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.intellinxAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.intellinxAPIBaseUrl.dev;\n }\n\n public get DebitCardPasswordResetBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.debitCardPasswordResetBaseUrl.prod;\n }\n\n return AppConfigService.config.debitCardPasswordResetBaseUrl.dev;\n }\n\n public get IntellinxAPIThresholdUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.thresholdAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.thresholdAPIBaseUrl.dev;\n }\n\n public get CorporateBillerAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.CorporateBillerServiceAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.CorporateBillerServiceAPIBaseUrl.dev;\n }\n public get ShippingBillersBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.shippingPaymentBillersAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.shippingPaymentBillersAPIBaseUrl.dev;\n }\n\n public get FxPaymentApiBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.fxPaymentApiBaseUrl.prod;\n }\n\n return AppConfigService.config.fxPaymentApiBaseUrl.dev;\n }\n\n public get ENairaAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.ENairaAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.ENairaAPIBaseUrl.dev;\n }\n\n public get HardwareTokenAPIBaseUrl(): string {\n if (!AppConfigService.config) {\n throw new Error(\"AppConfig not loaded.\");\n }\n\n if (AppConfigService.config.environment.IsProd == true) {\n return AppConfigService.config.HardwareTokenServiceAPIBaseUrl.prod;\n }\n\n return AppConfigService.config.HardwareTokenServiceAPIBaseUrl.dev;\n }\n\n loadMockSettings() {\n return {\n APIBaseUrl: {\n // \"dev\": \"https://10.234.135.46:4421/api\",\n // \"dev\": \"http://10.234.135.46:7442/api\",\n // \"dev\": \"https://10.234.135.46:4443/api\",\n // \"dev\": \"https://10.234.135.46:7443/token-validation/api\",\n // \"dev\": \"http://10.234.135.46:8099/api\",\n // \"dev\": \"http://localhost:53390/api\",\n // dev: \"https://80.248.0.83:7443/mocked-api/api\",\n // dev: \"https://80.248.0.83:7443/token-validation/api\",\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/api\",\n prod: \"https://ibanking.stanbicibtcbank.com/api\",\n // \"prod\": \"https://10.234.174.61/api\",\n //prod: \"https://10.234.175.80:9985/HWTService/api\",\n // \"prod\": \"https://10.234.175.81:4433/api\"\n // \"prod\": \"https://10.234.174.89:7443/api\"\n // \"prod\": \"https://10.234.175.80:9985/api\"\n // \"dev\": \"http://10.234.135.46:7442/api\",\n // \"dev\": \"http://10.234.135.46:8047/api\",\n\n // \"dev\":\"http://10.234.175.80:5443/api\",\n // \"dev\": \"http://localhost:53391/api\",\n // \"prod\": \"https://devtest.stanbicibtc.com:7443/internet-banking/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com:8443/api\",\n // \"prod\": \"https://10.234.174.61/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/api\",\n // prod: \"https://10.234.175.80:8443/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/api\",\n // prod: \"https://10.234.175.80:8443/api\",\n // prod: \"https://10.234.174.89:5443/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com:8443/api\"\n },\n APIBaseUrl2: {\n dev: \"http://10.234.135.46:7442/api\",\n prod: \"https://10.234.175.80:8443/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/api\",\n },\n pensionAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking\",\n // prod: \"https://ibanking.stanbicibtcbank.com/Pension-Service\",\n prod: \"https://ibanking.stanbicibtcbank.com/Pension-Service\",\n },\n creditCardBaseUrl: {\n //\"dev\": \"http://localhost:49901/api\",\n // dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/CreditCardManagement\",\n\n dev: \"https://stanbic.nibse.com/mybank/CreditCardManagement\",\n\n //\"dev\":\"https://devtest.stanbicibtc.com:7443/internet-banking/api\",\n //prod: \"https://ibanking.stanbicibtcbank.com/creditcardmanagement\",\n prod: \"https://ibanking.stanbicibtcbank.com/CreditCardManagement\",\n //\"dev\":\"https://devtest.stanbicibtc.com:7443/api\",\n // prod: \"tps://ibanking.stanbicibtcbank.com/creditcardmanagement\"\n },\n\n ezCash: {\n // dev: \"https://stanbic.nibse.com/\",\n dev: \"https://devtest.stanbicibtc.com:7443/\",\n prod: \"https://mobile.stanbicibtc.com/\",\n },\n\n // Update api once api gets available\n debitCardPasswordResetBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/mybank/mobile-banking/api\",\n\n // Change when production api becomes available\n prod: \"http://devtest.stanbicibtc.com:7443/mybank/mobile-banking/api\",\n },\n\n creditCheckBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/CreditCheckService/api/v1\",\n\n //prod: \"https://ibanking.stanbicibtcbank.com/CreditCheckService\",\n prod: \"https://ibanking.stanbicibtcbank.com/CreditCheckService\",\n },\n\n virtualCardBaseUrl: {\n //\"dev\": \"http://localhost:49901/api\",\n dev: \"https://devtest.stanbicibtc.com:7443/virtualcard-service/v1\",\n // dev: \"https://stanbic.nibse.com/mybank/VirtualCardAPI/api/v1\",\n\n //\"dev\":\"https://devtest.stanbicibtc.com:7443/api\",\n // prod: \"https://10.234.175.186:9985/VirtualCardAPI/v1\",\n prod: \"https://ibanking.stanbicibtcbank.com/VirtualCardAPI/v1\",\n },\n\n debitCardAutoRenewalBaseUrl: {\n //\"dev\": \"http://localhost:49901/api\",\n dev: \"https://stanbic.nibse.com/mybank/DebitCardAutoRenewalAPI\",\n\n //\"dev\":\"https://devtest.stanbicibtc.com:7443/internet-banking/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/DebitCardConsentAutorenewal\",\n prod: \"https://ibanking.stanbicibtcbank.com/DebitCardConsentAutorenewal\",\n },\n\n creditCardRequestBaseUrl: {\n //\"dev\": \"https://localhost:44314/api\",\n dev: \"https://devtest.stanbicibtc.com:8091/creditcard-request/api\",\n\n //\"dev\":\"https://devtest.stanbicibtc.com:7443/internet-banking/api\",\n prod: \"https://ibanking.stanbicibtcbank.com/api\",\n },\n\n intellinxAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/intellinx-service/v1\",\n prod: \"https://mobile.stanbicibtc.com/MBSecretWordService/v1\",\n },\n thresholdAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/intellinx-threshold-service/v1/threshold\",\n prod: \"https://mobile.stanbicibtc.com/ThresholdService/v1/threshold\",\n },\n\n environment: {\n IsProd: true,\n },\n\n wakanowBaseUrl: {\n //\"dev\": \"https://devtest.stanbicibtc.com:7443/wakanow-service/api/Wakanow\",\n dev: \"https://devtest.stanbicibtc.com:7443/WakaNowAPI\",\n\n // dev: \"https://sibtc-azure-external-api.stanbicibtc-devase.p.azurewebsites.net/wakanow/api\",\n //prod: \"https://ibanking.stanbicibtcbank.com/WakanowAPI\",\n prod: \"https://ibanking.stanbicibtcbank.com/WakanowAPI\",\n },\n SignalRUrl: {\n dev: \"https://localhost:5001/sessionhub\",\n // prod: \"https://ibanking.stanbicibtcbank.com/SessionManager/sessionhub\",\n prod: \"https://ibanking.stanbicibtcbank.com/SessionManager/sessionhub\",\n },\n surveyAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/InstantSurveyAPI/api\",\n prod: \"https://ibanking.stanbicibtcbank.com/InstantSurvey\",\n //prod: \"https://ibanking.stanbicibtcbank.com/InstantSurvey\",\n },\n\n UnscheduledRepaymentBaseUrl: {\n dev: \"https://sibtc-azure-external-api.stanbicibtc-devase.p.azurewebsites.net/InstantSurvey/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/InstantSurvey/api\",\n prod: \"https://ibanking.stanbicibtcbank.com/InstantSurvey/api\",\n },\n // SignalRURL: \"https://ibanking.stanbicibtcbank.com/SessionManager/sessionhub\",\n SignalRURL: \"https://10.234.135.46:6099/SessionManager/sessionhub\",\n // SignalRURL: \"https://localhost:5001/sessionhub\",\n\n fxPaymentApiBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/FxPurchase/api/FxPurchase\",\n // prod: \"https://ibanking.stanbicibtcbank.com/FXPurchase/FxPurchase\",\n prod: \"https://ibanking.stanbicibtcbank.com/FXPurchase/FxPurchase\",\n },\n shippingPaymentBillersAPIBaseUrl: {\n dev: \"https://mobile.stanbicibtc.com/BillPayments/api/MB/GetAlternateCorporateBillers\",\n // dev:\n // \"https://stanbic.nibse.com/mybank/MBBillPayment/api/MB/GetAlternateCorporateBillers\",\n prod: \"https://mobile.stanbicibtc.com/BillPayments/api/MB/GetAlternateCorporateBillers\",\n },\n useMock: false,\n isUATModeForRetailUserCreation: false,\n devModeLoaderInterval: 500,\n stanbicContactEmail: \"customercarenigeria@stanbicibtcbank.com\",\n ebillsAPIBaseURL: \"http://10.234.200.155:53390/api\",\n // cccNumber: \"+234 1 422 2222\",\n cccNumber: \"02014222222\",\n HardwareTokenServiceAPIBaseUrl: {\n // dev:\" https://10.234.135.46:7443/token-status/api\",\n\n dev: \"https://sibtc-azure-external-api.stanbicibtc-devase.p.azurewebsites.net/HardwareToken\",\n // \"https://devtest.stanbicibtc.com:7443/internet-banking/token-status/api\",\n // prod: \"https://ibanking.stanbicibtcbank.com/HardwaretokenAPI\",\n //prod: \"https://ibanking.stanbicibtcbank.com/HardwareTokenAPI\",\n prod: \"https://ibanking.stanbicibtcbank.com/HardwareTokenAPI\",\n //prod: \"https://10.234.175.80:6443/HardwaretokenAPI\"\n // prod: \"https://10.234.175.80:9985/HardwaretokenAPI\"\n // prod: \"https://10.234.175.80:6443/HardwaretokenAPI\"\n },\n CustodianServiceAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/internet-banking/custodian-service/api\",\n //prod: \"https://ibanking.stanbicibtcbank.com/Custodian-Service\",\n prod: \"https://ibanking.stanbicibtcbank.com/Custodian-Service\",\n },\n CorporateBillerServiceAPIBaseUrl: {\n dev: \"https://devtest.stanbicibtc.com:7443/corporatebillers-service/api\",\n // dev: \"https://mobile.stanbicibtc.com/CorporateBillers/api\",\n prod: \"https://mobile.stanbicibtc.com/CorporateBillers/api\",\n },\n ENairaAPIBaseUrl: {\n dev: \"https://stanbic.nibse.com/mybank/enaira/api\",\n prod: \"https://mobile.stanbicibtc.com/eNaira/api\",\n },\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { StorageService } from \"./storage.service\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { Observable, of } from \"rxjs\";\n\nimport { AppUser, UserRole } from \"../models/auth\";\nimport { Role } from \"../models/Enumerations\";\nimport { ApiURLConstants } from \"../helpers/apiURLConstants\";\nimport {\n LoginRequestPayload,\n LoginResponse,\n ValidateLoginOTPRequestPayload,\n SecurityQuestionsResponse,\n ConfirmRIBUserRegistrationOnRIBResponse,\n ValidateLoginOTPResponse,\n InitiateOtpRequestPayload,\n InitiateOtpResponse,\n UserCreationRequestPayload,\n ChangePasswordRequestPayload,\n RetailUserRegisteredSecurityQuestionsRequestPayload,\n ResetPasswordRequestPayload,\n} from \"../models/payloads/auth\";\n\nimport { Constants } from \"../helpers/appConstants\";\nimport { AppConfigService } from \"./appconfig.service\";\n\nimport {\n PasswordChangeOtpRequestPayload,\n PasswordChangeOtpResponse,\n PasswordChangeRequestPayload,\n PasswordChangeOtpRequestResponse,\n CustomerSecret,\n} from \"../models/auth\";\nimport { OtpReasonCodes } from \"../models/Enumerations\";\nimport { VariablesService } from \"./variables.service\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\nimport { UtilService } from \"./helpers.service\";\nimport {\n SurveyAPIResponse,\n PostSurveyQuestionAnswer,\n} from \"../models/payloads/survey\";\n// import { AppUser, Role, UserRole } from '../models/user/AppUser';\n\ndeclare var $: any;\n\n@Injectable()\nexport class AuthService {\n static FullyAuthenticatedUser: AppUser; // authenticated with otp validation.\n static PartiallyAuthenticatedUser: AppUser; // authenticated without otp validation.\n static userIsFullyLoggedIn: boolean;\n static userIsPartiallyLoggedIn: boolean;\n static UnauthenticatedUserId: string;\n static userCreationRequestId: string;\n static userCreationCIFId: string;\n private authRequestBaseUrl: string;\n static useOnlyContentTypeHeader: boolean;\n static FirstValidateOTPToken: string;\n static ValidateUserSession: boolean; // specify if session should be validated on all API calls\n static clearSessionTokenOnLogout: boolean;\n static useLoginTokenForSessionTokenOnNextAPICall: boolean; // The first token generated after login call is used for otp validation.\n static signalRConnectionOpened: boolean;\n static IntellixDeviceSession: string;\n private surveyRequestBaseUrl: string;\n\n constructor(\n private _storageService: StorageService,\n private _httpClient: HttpClient,\n private appConfig: AppConfigService\n ) {\n this.authRequestBaseUrl = `${this.appConfig.APIBaseUrl}`;\n this.surveyRequestBaseUrl = `${this.appConfig.SurveyAPIBaseUrl}`;\n\n if (this.GetAccessToken()) {\n AuthService.userIsFullyLoggedIn = true;\n } else {\n AuthService.userIsFullyLoggedIn = false;\n }\n\n AuthService.userIsPartiallyLoggedIn = false;\n }\n\n SetAccessPassCache(passCache: string) {\n this._storageService.saveRaw(Constants.StorageCachePKey, passCache);\n }\n\n setAccessToken(accessToken: string) {\n this._storageService.saveRaw(Constants.StorageTokenKey, accessToken);\n }\n\n setPartialLoginToken() {\n AuthService.userIsPartiallyLoggedIn = true; // logged in without OTP validation\n }\n\n GetLoginToken() {\n return this._storageService.find(Constants.StorageLoginTokenKey);\n }\n\n GetAccessToken() {\n return this._storageService.find(Constants.StorageTokenKey);\n }\n\n GetAccessPassCache() {\n return this._storageService.find(Constants.StorageCachePKey);\n }\n\n getSurvey(cif: string): Observable {\n return this._httpClient.post(\n `${this.surveyRequestBaseUrl}/GetSurvey`,\n { cifid: cif }\n );\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Survey returned successfully\",\n // Data: [\n // {\n // name: \"satisfied\",\n // type: \"radiogroup\",\n // choices: [\n // {\n // text: \"Happy\",\n // value: \"Happy\",\n // },\n // {\n // text: \"Not happy\",\n // value: \"Not happy\",\n // },\n // {\n // text: \"Unsure\",\n // value: \"Unsure\",\n // },\n // ],\n // title: \"How happy are you with the service you just received?\",\n // requiredErrorText:\n // \"Please tell us how happy you are with your experience\",\n // },\n // {\n // name: \"reasonForExperience\",\n // type: \"ddl\",\n // choices: [\n // {\n // text: \"Look and feel of platform\",\n // value: \"Look and feel of platform\",\n // },\n // {\n // text: \"Slow performance\",\n // value: \"Slow performance\",\n // },\n // {\n // text: \"Failed transaction\",\n // value: \"Failed transaction\",\n // },\n // {\n // text: \"Transaction timeout\",\n // value: \"Transaction timeout\",\n // },\n // {\n // text: \"Log-in issues\",\n // value: \"Log-in issues\",\n // },\n // {\n // text: \"Limited features\",\n // value: \"Limited features\",\n // },\n // {\n // text: \"Others\",\n // value: \"Others\",\n // },\n // ],\n // title:\n // \"Do you mind telling us a little bit more about your experience?\",\n // requiredErrorText: \"Please tell us a bit more about your experience\",\n // },\n // ],\n // });\n }\n\n // postSurvey(reason: string): Promise {\n // const user = this.getLoggedInUser();\n // const payload = {\n // UserId: !user ? \"\" : user.UserId,\n // Feedback: \"Y\",\n // Comment: !reason ? \"\" : reason,\n // };\n // return this._httpClient\n // .post(\n // `${this.authRequestBaseUrl}/UserProfileManagement/PostSurvey`,\n // payload\n // )\n // .toPromise();\n // }\n\n static createFullyLoggedInUser(): boolean {\n if (this.PartiallyAuthenticatedUser) {\n this.FullyAuthenticatedUser = new AppUser();\n this.FullyAuthenticatedUser = this.PartiallyAuthenticatedUser;\n this.PartiallyAuthenticatedUser = undefined;\n\n this.FullyAuthenticatedUser.Role = AuthService.getUserRole(\n this.FullyAuthenticatedUser.UserId,\n this.FullyAuthenticatedUser.MenuProfile\n );\n\n localStorage.setItem(\n Constants.DevModeStorageUserDetailsKey,\n JSON.stringify(this.FullyAuthenticatedUser)\n );\n\n return true;\n }\n\n return false;\n }\n\n private static getUserRole(id: string, menuProfile: string): UserRole {\n switch (menuProfile) {\n case \"S_DSPGM\":\n return {\n UserId: id,\n roles: [Role.Initiator],\n menuProfile: menuProfile,\n };\n case \"S_DAM\":\n return {\n UserId: id,\n roles: [Role.Approver],\n menuProfile: menuProfile,\n };\n case \"S_DSM\":\n return {\n UserId: id,\n roles: [Role.Viewer],\n menuProfile: menuProfile,\n };\n default:\n return {\n UserId: id,\n roles: [Role.Retail],\n menuProfile: menuProfile,\n };\n }\n }\n\n static isRetailUser() {\n if (\n !AuthService.FullyAuthenticatedUser ||\n !AuthService.FullyAuthenticatedUser.Role\n ) {\n return false;\n }\n\n return (\n !AuthService.FullyAuthenticatedUser.Role.menuProfile ||\n (AuthService.FullyAuthenticatedUser.Role.menuProfile &&\n [\"S_DSPGM\", \"S_DAM\", \"S_DSM\"].indexOf(\n AuthService.FullyAuthenticatedUser.Role.menuProfile\n ) == -1)\n );\n }\n\n useTokenForSubsequentAPICalls(token: string) {\n AuthService.useLoginTokenForSessionTokenOnNextAPICall = false;\n this._storageService.saveRaw(Constants.StorageTokenKey, token);\n this._storageService.delete(Constants.StorageLoginTokenKey);\n }\n\n logout() {\n //clearLoginSessionToken: used to prevent clearing login details in case an event is thrown\n // from a new browser TAB.\n\n AuthService.userIsFullyLoggedIn = AuthService.userIsPartiallyLoggedIn =\n false;\n AuthService.FullyAuthenticatedUser = undefined;\n AuthService.PartiallyAuthenticatedUser = undefined;\n AuthService.PartiallyAuthenticatedUser = undefined;\n AuthService.UnauthenticatedUserId = undefined;\n this.removeAllMemoryVariables();\n\n if (UtilService.currentModalRef && UtilService.currentModalRef.length > 0) {\n for (let modalRef of UtilService.currentModalRef) {\n modalRef.close();\n }\n\n UtilService.currentModalRef.length = 0;\n }\n\n if (AuthService.clearSessionTokenOnLogout == true) {\n this._storageService.delete(Constants.StorageTokenKey);\n localStorage.removeItem(\"tempUserId\");\n\n // $('.custom-add-confirmationModal').remove(); // remove all modal div\n // $('.cdk-overlay-container').remove();\n\n return this._storageService.delete(Constants.StorageCachePKey);\n }\n\n return true;\n }\n\n removeAllMemoryVariables() {\n VariablesService.CustomerAccounts =\n VariablesService.UserAccountBeneficiaries = undefined;\n VariablesService.DailyTransferLimit =\n VariablesService.TransferCharges =\n VariablesService.TransferChannelOrder =\n VariablesService.STANBIC_CONTACT_EMAIL =\n VariablesService.CustomerBVN =\n VariablesService.UserAccountBillerBeneficiaries =\n undefined;\n\n if (VariablesService.PendingNameEnquiryBatchPollingInterval) {\n UtilService.Window.clearInterval(\n VariablesService.PendingNameEnquiryBatchPollingInterval\n );\n }\n }\n\n authenticateUser(payload: LoginRequestPayload): Observable {\n payload.password = window.btoa(payload.password);\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.AuthenticateUser}`,\n payload\n );\n }\n\n resetUserSession(payload: LoginRequestPayload): Observable {\n payload.password = window.btoa(payload.password);\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ResetUserSession}`,\n payload\n );\n }\n\n ConfirmUserExistOnRIB(\n accountNo: string\n ): Promise {\n // return Promise.resolve({\n // ResponseCode: '00',\n // ResponseDescription: '567948677656',\n // ResponseFriendlyMessage: \"\",\n // QuestionDetails: [\n // {\n // \"questionID\": \"1\",\n // \"questionDESC\": \"What's your dream job.\",\n // \"answer\": \"\"\n // },\n // {\n // \"questionID\": \"2\",\n // \"questionDESC\": \"What's your spouse name\",\n // \"answer\": \"\"\n // },\n // {\n // \"questionID\": \"31\",\n // \"questionDESC\": \"What's your first boss name.\",\n // \"answer\": \"\"\n // },\n // {\n // \"questionID\": \"40\",\n // \"questionDESC\": \"What your favorite soccer club.\",\n // \"answer\": \"\"\n // }\n // ],\n // customerID: \"0021269236\",\n // requestID: \"0021269236\",\n\n // });\n\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ConfirmRIBUserExist}`,\n {\n UserId: accountNo,\n AccountNo: accountNo,\n }\n )\n .toPromise();\n }\n\n CheckIfDataPrivacyConsentExist(\n userId: string,\n cifId: string\n ): Observable {\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.CONFIRM_DATA_PRIVACY_CONSENT_EXIST}`,\n {\n UserId: userId,\n CifId: cifId,\n }\n );\n }\n\n CreateDataPrivacyConsent(\n userId: string,\n cifId: string,\n consentGiven: string,\n otherCompanies: string,\n researchPurpose: string,\n products: string,\n withinGroup: string\n ) {\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.CREATE_DATA_PRIVACY_CONSENT_EXIST}`,\n {\n UserId: userId,\n CifId: cifId,\n CG: consentGiven,\n OC: otherCompanies,\n RP: researchPurpose,\n PT: products,\n WG: withinGroup,\n }\n );\n }\n\n validateLoginOTP(\n payload: ValidateLoginOTPRequestPayload\n ): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ValidateAuthenticatedUserOTP}`,\n payload\n )\n .toPromise();\n }\n\n ResetSessionOnValidateOTP(\n payload: ValidateLoginOTPRequestPayload\n ): Observable {\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ResetValidateOTPSession}`,\n payload\n );\n }\n\n initiateOtpRequest(\n payload: InitiateOtpRequestPayload\n ): Observable {\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.InitiateOTP}`,\n payload\n );\n }\n\n LogoutRequestPromise(userId: string): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.LogoutSession}`,\n { UserId: userId }\n )\n .toPromise();\n }\n\n LogoutRequest(userId: string): Observable {\n return this._httpClient.post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.LogoutSession}`,\n { UserId: userId }\n );\n }\n\n initiateLoginOtpRequest(\n payload: InitiateOtpRequestPayload\n ): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.InitiateLoginOTP}`,\n payload\n )\n .toPromise();\n }\n\n doRIBUserCreation(\n payload: UserCreationRequestPayload\n ): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.CreateRIBUser}`,\n payload\n )\n .toPromise();\n }\n\n changePassword(\n payload: ChangePasswordRequestPayload\n ): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ChangePassword}`,\n payload\n )\n .toPromise();\n }\n\n resetPassword(\n payload: ResetPasswordRequestPayload\n ): Promise {\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.ResetPassword}`,\n payload\n )\n .toPromise();\n }\n\n GetRetailUserRegisteredQuestions(\n payload: RetailUserRegisteredSecurityQuestionsRequestPayload\n ): Promise {\n // return new Promise((resolve, reject) => {\n // resolve({\n // ResponseCode: '00',\n // ResponseDescription: '567948677656',\n // ResponseFriendlyMessage: \"\",\n // customerID: \"738383839\",\n // requestID: \"38383838\",\n // QuestionDetails: [\n // {\n // \"questionID\": \"1\",\n // \"questionDESC\": \"What's your dream job.\",\n // \"answer\": \"\"\n // },\n // {\n // \"questionID\": \"2\",\n // \"questionDESC\": \"What's your spouse name\",\n // \"answer\": \"\"\n // },\n // {\n // \"questionID\": \"31\",\n // \"questionDESC\": \"What's your first boss name.\",\n // \"answer\": \"\"\n // }\n // ]\n // });\n // });\n\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.RetailUserSecurityQuestions}`,\n payload\n )\n .toPromise();\n }\n\n GetSecurityQuestions(): Promise {\n if (this.appConfig.UseMockData) {\n return new Promise((resolve, reject) => {\n resolve({\n ResponseCode: \"00\",\n ResponseDescription: \"567948677656\",\n ResponseFriendlyMessage: \"\",\n Questions: [\n {\n questionID: \"1\",\n questionDESC: \"What's your dream job.\",\n answer: \"\",\n },\n {\n questionID: \"2\",\n questionDESC: \"What's your spouse name\",\n answer: \"\",\n },\n {\n questionID: \"31\",\n questionDESC: \"What's your first boss name.\",\n answer: \"\",\n },\n {\n questionID: \"40\",\n questionDESC: \"What your favorite soccer club.\",\n answer: \"\",\n },\n ],\n });\n });\n }\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/${ApiURLConstants.InitiateOTP}`,\n {}\n )\n .toPromise();\n }\n\n initiatePasswordChange(): Promise {\n const requestPayload = this.buildPasswordChangeOtpRequestPayload();\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/UserProfileManagement/InitiateOTPRequest`,\n requestPayload\n )\n .toPromise();\n }\n\n sendPasswordChangeRequest(\n payload: PasswordChangeRequestPayload\n ): Promise {\n payload.NewPassword = window.btoa(payload.NewPassword);\n payload.OldPassword = window.btoa(payload.OldPassword);\n // const loggedInUser = this.getLoggedInUser();\n // payload.UserId = loggedInUser ? loggedInUser.UserId : '';\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/UserProfileManagement/ChangePassword`,\n payload\n )\n .toPromise();\n }\n\n getLoggedInUser(): AppUser {\n return AuthService.FullyAuthenticatedUser;\n }\n\n fetchCustomerSecrets(): Promise {\n const user = this.getLoggedInUser();\n const payload = {\n UserId: !user ? \"\" : user.UserId,\n AccountNo: !user ? \"\" : user.UserId,\n };\n return this._httpClient\n .post(\n `${this.authRequestBaseUrl}/UserProfileManagement/GetSMERegistrationQuestions`,\n payload\n )\n .toPromise();\n }\n\n postSurvey(question: PostSurveyQuestionAnswer): Observable {\n return this._httpClient.post(\n `${this.surveyRequestBaseUrl}/SubmitSurvey`,\n question\n );\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Survey returned successfully\",\n // });\n }\n\n setSecretQuestion(payload: Array): Promise {\n return new Promise((resolve, reject) => {\n this._storageService.save(Constants.Secret_Question, payload);\n setTimeout(() => {\n resolve(\"secret answer saved\");\n }, 1500);\n });\n }\n\n private getUserRoles(id: string, menuProfile: string): UserRole {\n switch (menuProfile) {\n case \"S_DSPGM\":\n return {\n UserId: id,\n roles: [Role.Initiator],\n menuProfile: menuProfile,\n };\n case \"S_DAM\":\n return {\n UserId: id,\n roles: [Role.Approver],\n menuProfile: menuProfile,\n };\n case \"S_DSM\":\n return {\n UserId: id,\n roles: [Role.Viewer],\n menuProfile: menuProfile,\n };\n default:\n return {\n UserId: id,\n roles: [Role.Retail],\n menuProfile: menuProfile,\n };\n }\n }\n\n private buildPasswordChangeOtpRequestPayload(): PasswordChangeOtpRequestPayload {\n let userAuthData = sessionStorage.getItem(Constants.Auth_Data);\n userAuthData = userAuthData ? JSON.parse(userAuthData) : userAuthData;\n if (!userAuthData) {\n throw new Error(\"login data not found\");\n }\n return {\n UserId: userAuthData[\"_userId\"],\n ReasonCode: OtpReasonCodes.CHANGE_PASSWORD.toString(),\n CifId: userAuthData[\"CifId\"],\n };\n }\n\n loggedInUserHasSMEProfile(): boolean {\n const loggedInUser = this.getLoggedInUser();\n if (!loggedInUser) {\n return false;\n }\n if (!loggedInUser.MenuProfile || loggedInUser.MenuProfile === \"-999-\") {\n return false;\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { RequestResponse } from '../models/account';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AuthService } from './auth.service';\n\nimport {\n BeneficiaryListRequestResponse,\n AddBeneficiaryRequestPayload,\n EditBeneficiaryRequestPayload, RemoveBeneficiaryRequestPayload,\n BillerProductsRequestPayload, BillerProductsResponse,\n BillerListRequestResponse, BillerMerchantRequestResponse,\n AddBillerBeneficiaryRequestPayload, EditBillerBeneficiaryRequestPayload,\n InitBeneficiaryCreateResponse\n} from '../models/payloads/beneficiaries';\nimport { AppUser } from '../models/auth';\nimport { BaseRequestStagingResponse } from '../models/misc-requests-model';\nimport { Observable, of } from '../../../../node_modules/rxjs';\nimport { environment } from 'src/environments/environment';\n\n\n@Injectable()\nexport class BeneficiaryService {\n deleteBeneficiaryBaseURL = environment.deleteBeneficiaryBaseURL\n\n _apiBaseUrl: string;\n private _beneficiaryAPIBase: string;\n private _loggedInUser: AppUser;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._beneficiaryAPIBase = `${this._apiBaseUrl}/BeneficiaryManagement`;\n this._loggedInUser = _authService.getLoggedInUser();\n }\n\n\n\n getBeneficiaries(): Observable {\n // return of({\n // ResponseCode: '00',\n // Beneficiaries: [{\n // beneficiaryAlias: 'string',\n // beneficiaryName: 'string',\n // beneficiaryAccountNumber: 'string',\n // beneficiaryBank: 'string',\n // beneficiaryBankCode: 'string',\n // beneficiaryReference: 'string',\n // customerReference: 'string',\n // beneficiaryId: '0',\n // groupId: '0',\n // Id: 0\n // }],\n // ResponseDescription: 'test',\n // ResponseFriendlyMessage: '',\n // });\n //commnt\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BeneficiaryList}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId });\n }\n\n\n addBeneficiary(payload: AddBeneficiaryRequestPayload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.AddBeneficiary}`, payload)\n ;\n }\n\n initiatBeneficiaryCreate(payload: AddBeneficiaryRequestPayload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.INITIATE_BENEFICIARY_CREATE}`,\n payload);\n }\n\n initiateBeneficiaryUpdate(payload: EditBeneficiaryRequestPayload): Observable {\n return this._httpClient.post(`${this.deleteBeneficiaryBaseURL}/${ApiURLConstants.INITIATE_BENEFICIARY_UPDATE}`, payload);\n }\n\n updateBeneficiary(payload: EditBeneficiaryRequestPayload): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.EditBenficiary}`, payload)\n ;\n }\n\n removeBeneficiary(payload: RemoveBeneficiaryRequestPayload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.DeleteBenficiary}`, payload)\n ;\n }\n\n\n getBillerBeneficiaries(): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BillerBeneficiaryList}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId })\n .toPromise();\n }\n\n\n getBillerMerchants(): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BillerMerchants}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId })\n .toPromise();\n }\n\n\n\n addBillerBeneficiary(payload: AddBillerBeneficiaryRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.AddBillerBeneficiary}`, payload)\n .toPromise();\n }\n\n initiateBillerBeneficiaryOperationRequest(payload: any): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.INITIATE_BILLER_OPERATION}`,\n payload).toPromise();\n }\n\n updateBillerBeneficiary(payload: EditBillerBeneficiaryRequestPayload): Promise {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.EditBillerBenficiary}`, payload)\n .toPromise();\n }\n\n removeBillerBeneficiary(payload: RemoveBeneficiaryRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.DeleteBillerBenficiary}`, payload)\n .toPromise();\n }\n\n getBillerProducts(payload: BillerProductsRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GetBillerBeneficiaryProduct}`,\n payload)\n .toPromise();\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport {environment} from '../../../../environments/environment';\n\n@Injectable()\nexport class BentoService {\n baseURL = environment.bentoBaseURL;\n constructor(\n private _httpClient: HttpClient\n ) {}\n\n addBentoRecord(data: any): Observable {\n const payload = {\n 'customerCIF': data.customerCIF,\n 'userId': data.userId,\n 'serializedUserData': data.serializedUserData\n };\n\n return this._httpClient.post(`${this.baseURL}AddBentoRecord`, payload);\n }\n\n authenticateBentoAPI(): Observable {\n return this._httpClient.get(`${this.baseURL}GetBentoAuthorization`);\n }\n\n // async authenticateBentoAPI() {\n // const headers = new Headers();\n // headers.append('provider_id', this.bentoCredentials.provider_id);\n // headers.append('provider_secret', this.bentoCredentials.provider_secret);\n //\n // // return this._httpClient.get(`https://devapi.bento.africa/provider/authoriztion/generate`, {headers});\n // let response;\n // await fetch('https://devapi.bento.africa/provider/authoriztion/generate', {headers: headers})\n // .then(r => {\n // console.log(r);\n // return r;\n // }).then(res => {\n // console.log(res);\n // response = res;\n // });\n // return response;\n // }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\nimport {\n GetCorporateBillerResponse,\n GetBillerFlowItemsResponse,\n GetNextBillerFlowItemsRequest,\n} from \"../models/payloads/corporate-billers\";\n\n@Injectable()\nexport class CorporateBillersService {\n private _apiBaseUrl: string;\n private _alternateApiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, _settings: AppConfigService) {\n this._apiBaseUrl = _settings.CorporateBillerAPIBaseUrl;\n }\n\n loadBillers(): Observable {\n return this._httpClient.get(\n `${this._apiBaseUrl}/biller-collection/billers/IB`\n );\n\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: [\n // {\n // Id: 21,\n // Name: \"Government\",\n // Description: \"Remita Payment\",\n // Image: \"Image\",\n // CollectionList: {\n // Collections: [\n // {\n // CollectionId: 1,\n // CollectionName: \"Road Worthiness\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // {\n // CollectionId: 2,\n // CollectionName: \"Vehicle License\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // {\n // CollectionId: 3,\n // CollectionName: \"Insurance\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // ],\n // },\n // },\n // {\n // Id: 22,\n // Name: \"DSTV\",\n // Description: \"DSTV Payment\",\n // Image: \"Image\",\n // CollectionList: {\n // Collections: [\n // {\n // CollectionId: 3,\n // CollectionName: \"Compact Bouquet\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // {\n // CollectionId: 4,\n // CollectionName: \"Premium Bouquet\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // {\n // CollectionId: 5,\n // CollectionName: \"Access Bouquet\",\n // CollectionDescription: \"\",\n // CollectionOwner: \"\",\n // CollectionFlow: [],\n // Image: \"\",\n // },\n // ],\n // },\n // },\n // ],\n // });\n }\n\n loadNextFlowItems(\n flowRequest: GetNextBillerFlowItemsRequest\n ): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/biller-collection/billers/flow`,\n flowRequest\n );\n\n return of({\n ResponseCode: \"00\",\n ResponseDescription: \"Request processed successfully.\",\n Data: {\n FlowId: 1,\n IsFlowIdDerived: true,\n Description: \"Enter payment details\",\n OTPReference: \"\",\n OTPNotificationAddress: \"\",\n CollectionInputSpecs: {\n CollectionInputSpec: [\n {\n Key: \"80\",\n LabelName: \"Which state were you born?\",\n InputType: \"list\",\n Required: true,\n Visible: true,\n Placeholder: \"Which state were you born?\",\n Value: \"\",\n IsPinItem: false,\n ListItems: {\n ListItem: [\n {\n Description: \"Lagos\",\n Code: \"1\",\n },\n {\n Description: \"Ibadan\",\n Code: \"2\",\n },\n {\n Description: \"Port harcourt\",\n Code: \"3\",\n },\n {\n Description: \"Oyo\",\n Code: \"4\",\n },\n ],\n },\n },\n {\n Key: \"70\",\n LabelName: \"Do you have a web GUID?\",\n InputType: \"list\",\n Required: true,\n Visible: true,\n Placeholder: \"Do you have a web GUID?\",\n Value: \"\",\n IsPinItem: false,\n ListItems: {\n ListItem: [\n {\n Description: \"Yes\",\n Code: \"1\",\n },\n {\n Description: \"No\",\n Code: \"2\",\n },\n ],\n },\n },\n {\n Key: \"71\",\n LabelName: \"Amount\",\n InputType: \"decimal\",\n Required: true,\n Visible: true,\n Placeholder: \"Enter Amount\",\n Value: \"\",\n IsPinItem: false,\n },\n {\n Key: \"75\",\n LabelName: \"Payment Code\",\n InputType: \"password\",\n Required: true,\n Visible: true,\n Placeholder: \"Enter Payment Code\",\n Value: \"\",\n IsPinItem: false,\n },\n {\n Key: \"76\",\n LabelName: \"Smart card number\",\n InputType: \"label\",\n Required: true,\n Visible: true,\n Placeholder: \"Enter Payment Code\",\n Value: \"10564738838\",\n IsPinItem: false,\n },\n {\n Key: \"77\",\n LabelName: \"Smart card phone no\",\n InputType: \"label\",\n Required: true,\n Visible: true,\n Placeholder: \"Enter Payment pho\",\n Value: \"08098465262\",\n IsPinItem: false,\n },\n {\n Key: \"78\",\n LabelName: \"Debit Account\",\n InputType: \"account\",\n Required: true,\n Visible: true,\n Placeholder: \"Select Debit account\",\n Value: \"\",\n IsPinItem: false,\n },\n ],\n },\n },\n });\n\n // switch (flowId) {\n // case 0:\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: {\n // FlowId: 1,\n // IsFlowIdDerived: true,\n // Description: \"Enter payment details\",\n // OTPReference: \"\",\n // OTPNotificationAddress: \"\",\n // CollectionInputSpecs: {\n // CollectionInputSpec: [\n // {\n // Key: \"70\",\n // LabelName: \"Branch ID\",\n // InputType: \"text\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter your branch Id\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"71\",\n // LabelName: \"Amount\",\n // InputType: \"decimal\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Amount\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"75\",\n // LabelName: \"Payment Code\",\n // InputType: \"password\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Payment Code\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"76\",\n // LabelName: \"Smart card number\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Payment Code\",\n // Value: \"10564738838\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"77\",\n // LabelName: \"Smart card phone no\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Payment pho\",\n // Value: \"08098465262\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"78\",\n // LabelName: \"Debit Account\",\n // InputType: \"account\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Select Debit account\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // ],\n // },\n // },\n // });\n // case 1:\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: {\n // FlowId: 2,\n // IsFlowIdDerived: true,\n // Description: \"Enter beneficiary details\",\n // OTPReference: \"\",\n // OTPNotificationAddress: \"\",\n // CollectionInputSpecs: {\n // CollectionInputSpec: [\n // {\n // Key: \"72\",\n // LabelName: \"Beneficiary Code\",\n // InputType: \"text\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Beneficiary\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"73\",\n // LabelName: \"Beneficiary Narration\",\n // InputType: \"text\",\n // Required: false,\n // Visible: true,\n // Placeholder: \"Beneficiary\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"80\",\n // LabelName: \"Beneficiary Address\",\n // InputType: \"text\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter beneficiary address\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // ],\n // },\n // },\n // });\n // case 2:\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: {\n // FlowId: 3,\n // IsFlowIdDerived: true,\n // Description: \"Confirm Details\",\n // OTPReference: \"2737373yw728==\",\n // OTPNotificationAddress: \"********1927\",\n // CollectionInputSpecs: {\n // CollectionInputSpec: [\n // {\n // Key: \"70\",\n // LabelName: \"Branch ID\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter your branch Id\",\n // Value: \"Marina Branch\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"71\",\n // LabelName: \"Amount\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Amount\",\n // Value: \"234500\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"72\",\n // LabelName: \"Beneficiary Code\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Beneficiary\",\n // Value: \"BN282829\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"73\",\n // LabelName: \"Beneficiary Narration\",\n // InputType: \"label\",\n // Required: false,\n // Visible: true,\n // Placeholder: \"Beneficiary\",\n // Value: \"Use this for lunch\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"74\",\n // LabelName: \"PIN\",\n // InputType: \"password\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"OTP\",\n // Value: \"\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"75\",\n // LabelName: \"Payment Code\",\n // InputType: \"label\",\n // Required: true,\n // Visible: false,\n // Placeholder: \"Enter Payment Code\",\n // Value: \"272727\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"76\",\n // LabelName: \"Smart card number\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Payment Code\",\n // Value: \"10564738838\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"77\",\n // LabelName: \"Smart card phone no\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter Payment pho\",\n // Value: \"08098465262\",\n // IsPinItem: false,\n // },\n // ,\n // {\n // Key: \"78\",\n // LabelName: \"Debit Account\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Select Debit account\",\n // Value: \"0021269876\",\n // IsPinItem: false,\n // },\n // {\n // Key: \"80\",\n // LabelName: \"Beneficiary Address\",\n // InputType: \"label\",\n // Required: true,\n // Visible: true,\n // Placeholder: \"Enter beneficiary address\",\n // Value: \"Ogudu lagos\",\n // IsPinItem: false,\n // },\n // ],\n // },\n // },\n // });\n\n // case 3:\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: {\n // FlowId: 4,\n // IsFlowIdDerived: true,\n // Description: \"Confirm Details\",\n // OTPReference: \"2737373yw728==\",\n // OTPNotificationAddress: \"********2727\",\n // CollectionInputSpecs: {\n // CollectionInputSpec: [],\n // },\n // },\n // });\n // }\n }\n\n // loadPolicyDetails(\n // request: GetCustodianPolicyDetailsRequest\n // ): Observable {\n // // return of({\n // // ResponseCode: \"00\",\n // // ResponseDescription: \"Request processed successfully.\",\n // // Data: {\n // // ExpiryDate: \"05-Mar-2019\",\n // // Email: \"ajadi@mediareachomd.com\",\n // // EngineCapacity: \"TBA\",\n // // PolicyNumber: \"YB/V/29/T0000024C\",\n // // InsuredName: \"Omolara Ogunyemi\",\n // // SubsidiaryType: \"General\",\n // // Make: \"Honda\",\n // // Premium: 3333333.0,\n // // ChasisNumber: \"1HGCP2F46BA003949\",\n // // BusinessUnit: \"PRIVATE CAR INSURANCE\",\n // // Value: 1000000.0,\n // // PhoneNumber: \"08902736542\",\n // // RegistrationNumber: \"LSR792BU\",\n // // },\n // // });\n // return this._httpClient.post(\n // `${this._apiBaseUrl}/custodian-manager/policy-details`,\n // request\n // );\n // }\n\n // renewPolicy(\n // request: RenewCustodianPolicyRequest\n // ): Observable {\n // // return of({\n // // ResponseCode: \"00\",\n // // ResponseDescription: \"Request processed successfully.\",\n // // });\n\n // return this._httpClient.post(\n // `${this._apiBaseUrl}/custodian-manager/renew-policy`,\n // request\n // );\n // }\n loadAlternateCorporateBillers(): Observable {\n return this._httpClient.get(\n `${this._alternateApiBaseUrl}`\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of,BehaviorSubject } from 'rxjs';\nimport { ActiveCreditCardResponse } from '../models/credit-cards';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport { CreditCardEligibilityResp } from '../models/credit-card-resp';\nimport { CreditCardRequest } from '../models/credtit-card-request';\nimport { CardLimitEligibility } from '../models/card-limit-increase-eligibility';\nimport { CardIncreaseEligibilityRequest } from '../models/card-increase-eligibility-request';\n\n@Injectable()\nexport class CreditCardRequestService {\n\n cardDetails = new BehaviorSubject({\n card: {}\n });\n\n private _apiBaseUrl: string;\n useMock: true;\n private _apiBaseUrl2: string;\n\n constructor(private _httpClient: HttpClient, private _settingsService: AppConfigService) {\n this._apiBaseUrl = this._settingsService.CreditCardBaseUrl;\n this._apiBaseUrl2 = this._settingsService.CreditCardRequestBaseUrl;\n\n }\n // getCreditCardEligibility(CifId: string): Observable {\n // console.log(this._apiBaseUrl, this._apiBaseUrl2)\n\n // return this._httpClient.post(`${this._apiBaseUrl}/credit-card-transactions/card-eligibility`,\n // { cif: CifId }\n // );\n // }\n\n requestId = new BehaviorSubject({\n id: \"\"\n });\n\n\n GetCardEligibilityByCif(CifId: string): Observable {\n // console.log(this._apiBaseUrl, this._apiBaseUrl2)\n return this._httpClient.post(`${this._apiBaseUrl}/credit-card-transactions/GetCardEligibilityByCif?cifId=${CifId}`,\n { cifId: CifId }\n );\n }\n\n // requestCreditCard(payload:CreditCardRequest): Observable {\n // return this._httpClient.post(`${this._apiBaseUrl}/credit-card-transactions/request-card`,\n // payload\n // );\n // }\n getActiveCreditCardDetails(CifId: string): Observable {\n if(this.useMock){\n\n return of({\n ResponseCode: '000',\n ResponseDescription: 'Success',\n Data:[\n {\n Amount:200.0,\n CardName:'Chukuwam Anthony',\n CifId:'10129203911',\n DebitAccount:'00229930011',\n ExpiryDate:'04/11',\n Foracid:'20393002833',\n OdvisAccount:'20393002833',\n PanMasked:'2039*********0833',\n currency:'NGN'\n }\n ]\n });\n }\n return this._httpClient.post(`${this._apiBaseUrl}/credit-card-transactions/GetCreditCardBalance`,\n { CIF: CifId }\n );\n }\n\n loadCreditCard(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LoadCreditCard}`,\n payload\n );\n }\n\n debitCreditCard(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.DebitCreditCard}`,\n payload\n );\n }\n logCardTransaction(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LogCardTransaction}`, payload);\n }\n logCreditCard(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LogCardTransaction}`,\n payload\n );\n }\n creditCardIncreaseEligibility(payload: CardIncreaseEligibilityRequest): Observable< CardLimitEligibility>{\n return this._httpClient.post(`${this._apiBaseUrl}/credit-card-transactions/limit-increase-eligibility`,\n payload\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\nimport {\n GetCustodianPolicyDetailsResponse,\n GetCustodianPolicyDetailsRequest,\n RenewCustodianPolicyRequest,\n} from \"../models/payloads/custodian\";\n\n@Injectable()\nexport class CustodianInsuranceService {\n private _apiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, _settings: AppConfigService) {\n this._apiBaseUrl = _settings.CustodianAPIBaseUrl;\n }\n\n loadSubsidiaries(): Observable {\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: [\"General\", \"Life\"],\n // });\n return this._httpClient.get(\n `${this._apiBaseUrl}/custodian-manager/subsidiaries`\n );\n }\n\n loadPolicyDetails(\n request: GetCustodianPolicyDetailsRequest\n ): Observable {\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // Data: {\n // ExpiryDate: \"05-Mar-2019\",\n // Email: \"ajadi@mediareachomd.com\",\n // EngineCapacity: \"TBA\",\n // PolicyNumber: \"YB/V/29/T0000024C\",\n // InsuredName: \"Omolara Ogunyemi\",\n // SubsidiaryType: \"General\",\n // Make: \"Honda\",\n // Premium: 3333333.0,\n // ChasisNumber: \"1HGCP2F46BA003949\",\n // BusinessUnit: \"PRIVATE CAR INSURANCE\",\n // Value: 1000000.0,\n // PhoneNumber: \"08902736542\",\n // RegistrationNumber: \"LSR792BU\",\n // },\n // });\n return this._httpClient.post(\n `${this._apiBaseUrl}/custodian-manager/policy-details`,\n request\n );\n }\n\n renewPolicy(\n request: RenewCustodianPolicyRequest\n ): Observable {\n // return of({\n // ResponseCode: \"00\",\n // ResponseDescription: \"Request processed successfully.\",\n // });\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/custodian-manager/renew-policy`,\n request\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { TransactionService } from './transaction.service';\nimport { AppConfigService } from './appconfig.service';\n\n\n@Injectable()\nexport class DashboardService {\n\n private _apiBaseUrl: string;\n constructor(private _accountService: AccountService, private _transactionService: TransactionService,\n private _settings: AppConfigService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n\n }\n\n\n\n\n\n\n}\n","import { Injectable } from '@angular/core';\nimport * as jsPdf from 'jspdf';\nimport { TransferHistory } from '../models/transactions/transaction';\nimport { StanbicImageConstants } from '../stanbic.base64Image.constants';\n\nimport 'jspdf-autotable';\nimport { PendingSingleTransferObject } from '../models/pending-request.models';\nimport { PensionGetRecordsResponse, PensionRecordInfo } from '../models/payloads/pensionremittance';\nimport { Booking } from '../models/payloads/wakanow';\nimport { DatePipe } from '@angular/common';\nimport { BookingHistory } from '../models/payloads/booking-history';\nimport { CurrencyPipe } from '@angular/common';\n// import { BookingHistory } from '../models/payloads/booking-history';\n\n\ninterface TransactionHistory{\n ReceiverAcctNum: string;\n ReceiverBank: string;\n TransactionId: string;\n FromAccount:string;\n ToWho:string;\n AmountSentFX: number;\n AmountSentNaira: number;\n Date: string;\n Status: string;\n ExchangeRate: number;\n AmountPaidFX:number;\n AmountPaidNaira:number;\n FXCurrencySent:string;\n FXCurrencyPaid:string;\n VAT:number;\n VATAmount: number;\n OverseasCharges: number;\n ReceiverName: string;\n ReceiverPhoneNumber: string;\n ReceiverEmail: string;\n ReceiverAddress: string;\n ReceiverCountry: string;\n Purpose: string;\n }\n\n\n\n@Injectable()\nexport class DocumentHelperService {\n\n constructor(\n private currencyPipe: CurrencyPipe\n ) {\n }\n\n\n\n GenerateTransferTransactionReceipt(transaction: TransferHistory|any, receiptType, recipientName, recipientBank,\n otherReceiptObjectValues: any, selfTransferDestinationAccountName = '', selfTransferDestinationAccountNo = ''): Promise {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n\n const isSuccessfulTransaction = transaction.transactionStatus.toLowerCase().includes('suc');\n const isPendingTranx = transaction.transactionStatus.toLowerCase().includes('pending');\n const isFailedTranx = transaction.transactionStatus.toLowerCase().includes('failed');\n const isUnknownTranx = transaction.transactionStatus.toLowerCase().includes('unknown');\n\n\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 40, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n\n\n const _transStatusLogo = isSuccessfulTransaction || isPendingTranx ? StanbicImageConstants.RECEIPT_SUCCESS_LOGO :\n isUnknownTranx ? StanbicImageConstants.RECEIPT_UNKNOWN_LOGO : StanbicImageConstants.RECEIPT_FAILURE_LOGO;\n\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = isSuccessfulTransaction ? 'Transaction successful' :\n isPendingTranx ? \"Pending Transaction\" : isFailedTranx ? 'Transaction failed' : \"Unknown Status\";\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n }\n\n // Draw amount and currency\n const x = transaction.currency + ' ' + transaction.amount;\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(x, 300, startY, 'center');\n\n startY = startY + 10;\n\n\n // Draw beneficiary/biller/remita name\n if (receiptType === 'beneficiary' || receiptType === 'biller' || receiptType === 'remita') {\n startY = startY + 20;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(recipientName, 300, startY, 'center');\n }\n\n // Print Beneficiary account no and bank\n if (receiptType === 'beneficiary') {\n startY = startY + 20;\n doc.text(recipientBank + ' - ' + transaction.destinationAccountNo, 300, startY, 'center');\n }\n\n\n\n // Print To account name and number if self transfer\n if (receiptType === 'self-transfer') {\n if (selfTransferDestinationAccountName) {\n startY = startY + 20;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(selfTransferDestinationAccountName, 300, startY, 'center');\n startY += 15;\n } else {\n startY += 20;\n }\n\n doc.text(selfTransferDestinationAccountNo, 300, startY, 'center');\n }\n\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n doc.rect(100, 20, 10, 10, 'F');\n }\n\n // Draw other key values e.g tran Id, my reference, their reference\n // startY = this.printObjectOnPdf(doc, this.getOtherReceiptDetails(transaction, recipientRef), startY);\n startY = this.printObjectOnPdf(doc, otherReceiptObjectValues, startY);\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n // doc.roundedRect(175, 180, 250, l, 3, 3, 'D');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n\n generateTransferTransactionReceipt(transaction: TransferHistory, receiptType, recipientName, recipientBank, recipientRef,\n selfTrnsDestName = '', selfTrnsAccNo = ''): Promise {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n\n const isSuccessfulTransaction = transaction.transactionStatus.toLowerCase().includes('suc');\n const isPendingTranx = transaction.transactionStatus.toLowerCase().includes('pending');\n const isFailedTranx = transaction.transactionStatus.toLowerCase().includes('failed');\n const isUnknownTranx = transaction.transactionStatus.toLowerCase().includes('unknown');\n\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 40, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n\n const _transStatusLogo = isSuccessfulTransaction || isPendingTranx ? StanbicImageConstants.RECEIPT_SUCCESS_LOGO :\n isUnknownTranx ? StanbicImageConstants.RECEIPT_UNKNOWN_LOGO : StanbicImageConstants.RECEIPT_FAILURE_LOGO;\n\n\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = isSuccessfulTransaction ? 'Transaction successful' :\n isPendingTranx ? \"Pending Transaction\" : isFailedTranx ? 'Transaction failed' : \"Unknown Status\";\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n }\n\n // Draw amount and currency\n const x = transaction.currency + ' ' + transaction.amount;\n startY = startY + 10;\n // doc.setFontSize(16);\n // doc.setTextColor(51, 51, 51);\n // doc.text(x, 300, startY, 'center');\n\n startY = startY + 10;\n\n\n // Draw beneficiary/biller/remita name\n if (receiptType === 'beneficiary' || receiptType === 'biller' || receiptType === 'remita') {\n startY = startY + 20;\n // doc.setFontSize(12);\n // doc.setTextColor(51, 51, 51);\n // doc.text(recipientName, 300, startY, 'center');\n }\n\n // Print Beneficiary account no and bank\n if (receiptType === 'beneficiary') {\n startY = startY + 20;\n doc.text(recipientBank + ' - ' + transaction.destinationAccountNo, 300, startY, 'center');\n }\n\n\n\n // Print To account name and number if self transfer\n if (receiptType === 'self-transfer') {\n if (selfTrnsDestName) {\n startY = startY + 20;\n // doc.setFontSize(12);\n // doc.setTextColor(51, 51, 51);\n // doc.text(selfTrnsDestName, 300, startY, 'center');\n startY += 15;\n } else {\n startY += 20;\n }\n\n doc.text(selfTrnsAccNo, 300, startY, 'center');\n }\n\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n // doc.rect(_d, startY, 2, 1, 'D');\n }\n\n // Draw other key values e.g tran Id, my reference, their reference\n startY = this.printObjectOnPdf(doc, this.getOtherReceiptDetails(transaction, recipientRef), startY);\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n // doc.roundedRect(175, 180, 250, l, 3, 3, 'D');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n\n\n generateSingleTransferTransactionReceipt(transaction: PendingSingleTransferObject | any, receiptType, recipientName, recipientBank,\n otherReceiptObjectValues: any, selfTransferDestinationAccountName = '', selfTransferDestinationAccountNo = ''): Promise {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n\n // const isSuccessfulTransaction = transaction['transactionStatus'] && transaction['transactionStatus'].toLowerCase().includes('suc');\n // const isPendingTranx = transaction['transactionStatus'] && transaction['transactionStatus'].toLowerCase().includes('pending');\n // const isFailedTranx = transaction['transactionStatus'] && transaction['transactionStatus'].toLowerCase().includes('failed');\n\n const isSuccessfulTransaction = transaction['TransferStatus'] && transaction['TransferStatus'].toLowerCase().includes('suc');\n const isPendingTranx = transaction['TransferStatus'] && transaction['TransferStatus'].toLowerCase().includes('pending');\n const isFailedTranx = transaction['TransferStatus'] && transaction['TransferStatus'].toLowerCase().includes('failed');\n const isUnknownTranx = transaction['TransferStatus'] && transaction['TransferStatus'].toLowerCase().includes('unknown');\n\n\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 40, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Receipt', 285, 150, 'center');\n\n\n \n\n // Draw success/failure icon\n const _transStatusLogo = isSuccessfulTransaction || isPendingTranx ? StanbicImageConstants.RECEIPT_SUCCESS_LOGO :\n isUnknownTranx ? StanbicImageConstants.RECEIPT_UNKNOWN_LOGO : StanbicImageConstants.RECEIPT_FAILURE_LOGO;\n doc.addImage(_transStatusLogo, 'PNG', 280, 200, 44, 44);\n \n\n // Draw transaction status message\n let _transStatusMsg = isSuccessfulTransaction ? 'Transaction successful' :\n isPendingTranx ? \"Pending Transaction\" : isFailedTranx ? 'Transaction failed' : \"Unknown Status\";\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n // doc.setFontSize(12);\n // doc.setTextColor(51, 51, 51);\n // doc.text(message, 300, _startY, 'center');\n }\n }\n\n // Draw amount and currency\n const x = (transaction['sourceCurrency'] || transaction['SourceAccountCurrency'] || '') + '' + transaction.amount; //source currency\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(x, 300, startY, 'center');\n\n\n startY = startY + 10;\n\n\n // Draw beneficiary/biller/remita name\n if (receiptType == 'single-transfer' || receiptType === 'beneficiary' || receiptType === 'biller' || receiptType === 'remita') {\n startY = startY + 20;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(recipientName, 300, startY, 'center');\n if (recipientName && recipientName.length > 0) {\n const recipientNameArray = this.breakdownRecipientMessage(recipientName);\n\n for (let cursor = 0; cursor < recipientNameArray.length; cursor++) {\n const message = recipientNameArray[cursor];\n // startY = startY + 15;\n // doc.setFontSize(12);\n // doc.setTextColor(51, 51, 51);\n // doc.text(message, 300, startY, 'center');\n }\n }\n }\n\n // Print Beneficiary account no and bank\n if (receiptType === 'beneficiary' || receiptType === 'single-transfer') {\n startY = startY + 20;\n doc.text(recipientBank + ' - ' + transaction.destinationAccountNo, 300, startY, 'center');\n }\n\n\n\n // Print To account name and number if self transfer\n if (receiptType === 'self-transfer') {\n selfTransferDestinationAccountName = recipientName;\n if (selfTransferDestinationAccountName) {\n startY = startY + 20;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(selfTransferDestinationAccountName, 300, startY, 'center');\n startY += 15;\n } else {\n startY += 20;\n }\n\n doc.text(selfTransferDestinationAccountNo, 300, startY, 'center');\n }\n\n // Draw Dotted Lines\n // doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n // doc.rect(_d, startY, 2, 1, 'D');\n }\n\n // Draw other key values e.g tran Id, my reference, their reference\n startY = this.printObjectOnPdf(doc, otherReceiptObjectValues, startY);\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n // doc.roundedRect(175, 180, 250, l, 3, 3, 'D');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n generatePensionRemittanceReceipt(transaction: PensionRecordInfo, receiptType, recipientName): Promise {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n\n // const isSuccessfulTransaction = transaction['RemittanceStatus'] && transaction['RemittanceStatus'].toLowerCase().includes('suc');\n // const isPendingTranx = transaction['RemittanceStatus'] && transaction['RemittanceStatus'].toLowerCase().includes('pending');\n // const isFailedTranx = transaction['RemittanceStatus'] && transaction['RemittanceStatus'].toLowerCase().includes('failed');\n\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 190, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Remittance Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n const _transStatusLogo = StanbicImageConstants.RECEIPT_SUCCESS_LOGO\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = 'Pension Remittance was successful';\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n\n }\n\n // Draw amount and currency\n const x = this.currencyPipe.transform(transaction.Amount, '₦') ;\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(x, 300, startY, 'center');\n\n startY = startY + 10;\n\n // Draw beneficiary/biller/remita name\n if (receiptType == 'single-transfer' || receiptType === 'beneficiary' || receiptType === 'biller' || receiptType === 'remita') {\n startY = startY + 20;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(transaction.CustomerName, 300, startY, 'center');\n }\n\n // Print Beneficiary account no and bank\n if (receiptType === 'beneficiary' || receiptType === 'single-transfer') {\n startY = startY + 20;\n doc.text(transaction.PFA + ' - ' + transaction.RSA, 300, startY, 'center');\n }\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n doc.rect(_d, startY, 2, 1, 'D');\n }\n\n // Draw other key values e.g tran Id, my reference, their reference\n //startY = this.printObjectOnPdf(doc, otherReceiptObjectValues, startY);\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n // doc.roundedRect(175, 180, 250, l, 3, 3, 'D');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n generateMastercardTransactionReceipt(transaction: TransactionHistory, receiptType, recipientName): Promise {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 190, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('International Payments Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n const _transStatusLogo = StanbicImageConstants.RECEIPT_SUCCESS_LOGO\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = 'Transfer was successful';\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n\n }\n\n // Draw amount and currency\n const x = transaction.AmountSentFX ;\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(transaction.FXCurrencySent+' '+Number(x).toLocaleString(), 300, startY, 'center');\n\n startY = startY + 10;\n\n // Draw beneficiary/biller/remita name\n if (receiptType == 'single-transfer' || receiptType === 'beneficiary' || receiptType === 'biller' || receiptType === 'remita') {\n //startY = startY + 20;\n //doc.setFontSize(12);\n //doc.setTextColor(51, 51, 51);\n // doc.text( \"Sent to: \"+transaction.ReceiverName, 300, startY, 'center');\n if (recipientName && recipientName.length > 0) {\n const recipientNameArray = this.breakdownRecipientMessage(recipientName);\n\n for (let cursor = 0; cursor < recipientNameArray.length; cursor++) {\n const message = recipientNameArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n }\n\n // Print Beneficiary account no and bank\n if (receiptType === 'beneficiary' || receiptType === 'single-transfer') {\n startY = startY + 20;\n\n doc.text(transaction.ReceiverBank + ' - ' + transaction.ReceiverAcctNum, 300, startY, 'center');\n }\n\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n doc.rect(_d, startY, 2, 1, 'D');\n }\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Transaction Type\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(\"International Payments\", 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Date\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(transaction.Date +\" | 15:32 WAT\", 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"From\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(\"Idris UgoChukwu\", 300, startY, 'center');\n\n\n\n\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n // doc.roundedRect(175, 180, 250, l, 3, 3, 'D');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n generateFlightReceipt(booking : BookingHistory, customerName, bookingDate, arrivalDate, departureDate, noOfPassengers): Promise\n {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 190, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Wakanow ' + booking.type+' Booking Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n const _transStatusLogo = StanbicImageConstants.RECEIPT_SUCCESS_LOGO\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = 'Booking was successful';\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n\n }\n\n // Draw amount and currency\n const x = this.currencyPipe.transform(booking.totalCost, `${booking.currency}`);\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(x, 300, startY, 'center');\n startY = startY + 10;\n\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n doc.rect(_d, startY, 2, 1, 'S');\n }\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Transaction Type\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(\"Wakanow Payment for \"+ booking.flightDetails[0].name, 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Payment Made By\", 300, startY, 'center');\n\n if (customerName && customerName.length > 0) {\n const customerNameArray = this.breakdownRecipientMessage(customerName);\n\n for (let cursor = 0; cursor < customerNameArray.length; cursor++) {\n const message = customerNameArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Booking Date\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(bookingDate , 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Booking Id\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(booking.id, 300, startY, 'center');\n\n\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Departure Details\", 300, startY, 'center');\n\n const departureDetails = booking.flightDetails[0].leavingFrom +' - '+\n booking.flightDetails[0].departingAirport+' - '+departureDate;\n if (departureDetails && departureDetails.length > 0) {\n const departureDetailsArray = this.breakdownRecipientMessage(departureDetails);\n\n for (let cursor = 0; cursor < departureDetailsArray.length; cursor++) {\n const message = departureDetailsArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Arrival Details\", 300, startY, 'center');\n\n const arrivalDetails = booking.flightDetails[0].destination +' - '+booking.flightDetails[0].arrivingAirport\n +' - '+arrivalDate;\n if (arrivalDetails && arrivalDetails.length > 0) {\n const arrivalDetailsArray = this.breakdownRecipientMessage(arrivalDetails);\n\n for (let cursor = 0; cursor < arrivalDetailsArray.length; cursor++) {\n const message = arrivalDetailsArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n if(booking.flightDetails[1]){\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Return Details\", 300, startY, 'center');\n\n // doc.text(\"Departure Details\", 300, startY, 'center');\n\n const departureDetails = booking.flightDetails[1].leavingFrom +' - '+\n booking.flightDetails[1].departingAirport+' - '+ booking.flightDetails[1].departureTime;\n if (departureDetails && departureDetails.length > 0) {\n const departureDetailsArray = this.breakdownRecipientMessage(departureDetails);\n\n for (let cursor = 0; cursor < departureDetailsArray.length; cursor++) {\n const message = departureDetailsArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n\n const arrivalDetails = booking.flightDetails[1].destination +' - '+booking.flightDetails[1].arrivingAirport\n +' - '+ booking.flightDetails[1].arrivalTime;\n if (arrivalDetails && arrivalDetails.length > 0) {\n const arrivalDetailsArray = this.breakdownRecipientMessage(arrivalDetails);\n\n for (let cursor = 0; cursor < arrivalDetailsArray.length; cursor++) {\n const message = arrivalDetailsArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n }\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Total Number of Passengers\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(noOfPassengers, 300, startY, 'center');\n\n\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n doc.roundedRect(175, 180, 250, l, 3, 3, 'S');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n generateHotelReceipt(booking : BookingHistory, customerName, bookingDate, arrivalDate, totalGuests): Promise\n {\n return new Promise((resolve, reject) => {\n const doc = new jsPdf('p', 'pt');\n // Add Stanbic Logo\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 120, 'F');\n doc.addImage(StanbicImageConstants.STANBIC_PDF_HEADER_LOGO, 'PNG', 190, 60, 183, 34);\n\n // Draw Receipt Header\n doc.setFontSize(18);\n doc.setTextColor(0, 0, 0);\n doc.text('Wakanow ' +booking.type+' Booking Receipt', 280, 150, 'center');\n\n // Draw success/failure icon\n const _transStatusLogo = StanbicImageConstants.RECEIPT_SUCCESS_LOGO\n doc.addImage(_transStatusLogo, 'PNG', 281, 200, 44, 44);\n\n // Draw transaction status message\n let _transStatusMsg = 'Booking was successful';\n let startY = 0;\n if (_transStatusMsg && _transStatusMsg.length > 0) {\n const headerMessageArray = this.breakdownReceiptHeaderMessage(_transStatusMsg);\n\n for (let cursor = 0; cursor < headerMessageArray.length; cursor++) {\n const message = headerMessageArray[cursor];\n const _startY = 270 + 15 * cursor;\n startY = _startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, _startY, 'center');\n }\n\n }\n\n // Draw amount and currency\n const x = this.currencyPipe.transform(booking.totalCost, `${booking.currency}`);\n startY = startY + 10;\n doc.setFontSize(16);\n doc.setTextColor(51, 51, 51);\n doc.text(x, 300, startY, 'center');\n\n startY = startY + 10;\n\n\n // Draw Dotted Lines\n doc.setDrawColor(142, 142, 142);\n let _d;\n startY += 15;\n // tslint:disable-next-line:no-var-keyword\n for (var e = 1; 50 > e; e++) {\n _d = 175 + 5 * e;\n doc.rect(_d, startY, 2, 1, 'S');\n }\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Transaction Type\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(\"Wakanow Payment for \"+ booking.name, 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Payment Made By\", 300, startY, 'center');\n\n if (customerName && customerName.length > 0) {\n const customerNameArray = this.breakdownRecipientMessage(customerName);\n\n for (let cursor = 0; cursor < customerNameArray.length; cursor++) {\n const message = customerNameArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Booking Date\", 300, startY, 'center');\n\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(bookingDate , 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Booking Id\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(booking.id, 300, startY, 'center');\n\n\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Hotel Details\", 300, startY, 'center');\n\n const hotelDetails = booking.name;\n if (hotelDetails && hotelDetails.length > 0) {\n const hotelDetailsArray = this.breakdownRecipientMessage(hotelDetails);\n\n for (let cursor = 0; cursor < hotelDetailsArray.length; cursor++) {\n const message = hotelDetailsArray[cursor];\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(message, 300, startY, 'center');\n }\n }\n\n\n\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Total Number of Guests\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(totalGuests, 300, startY, 'center');\n\n startY = startY + 20;\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(\"Check-In Date\", 300, startY, 'center');\n\n startY = startY + 15;\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(arrivalDate, 300, startY, 'center');\n\n\n // Wrap content with a round rectangle\n const r = doc.internal.pageSize.height;\n const E = r - 200;\n const l = startY - 160; // c + 40; // or c - 160\n\n doc.setDrawColor(142, 142, 142);\n doc.roundedRect(175, 180, 250, l, 3, 3, 'S');\n\n // Draw disclamer Image\n if (startY > E) {\n doc.addPage();\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 100, 493, 120);\n } else {\n doc.addImage(StanbicImageConstants.STANBIC_PDF_DISCLAIMER, 'PNG', 50, 655, 493, 120);\n }\n resolve(doc);\n });\n }\n\n generateStatement(accountNo: string, accountName: string, fromDate: string, toDate: string,\n openingBalance: string, closingBalance: string, statementCurrency: string,\n headerColumns: Array, rowValues: any): any {\n\n const headerLogo = StanbicImageConstants.STANBIC_PDF_HEADER_LOGO;\n const watermarkImage = StanbicImageConstants.STANBIC_PDF_WATERMARK;\n const disclaimerImage = StanbicImageConstants.STANBIC_PDF_DISCLAIMER;\n const generationDate = (new Date()).toLocaleDateString();\n\n const doc = new jsPdf('p', 'pt');\n doc.setFillColor(240, 243, 248);\n doc.rect(0, 0, 600, 210, 'F');\n // Set Provisional Statement and Account Number Header\n doc.setFontSize(12);\n doc.setTextColor(0, 0, 0);\n doc.setFontStyle('bold');\n\n doc.text('Statement', 40, 110);\n doc.text('Account Number: ' + accountNo, 555, 110, 'right');\n\n // Set details as at\n doc.setFontStyle('normal');\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text('Details as on: ', 40, 125);\n doc.setTextColor(51, 51, 51);\n // doc.text('2:46:46 PM, 20/03/2018', 102, 125);\n doc.text(generationDate, 102, 125);\n\n // Set account name\n doc.setFontSize(10);\n doc.setTextColor(51, 51, 51);\n doc.text(accountName, 555, 125, 'right');\n\n\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n\n // Set From Date Headers\n doc.text('From date', 40, 160);\n\n // Set To Date Headers\n doc.text('To date', 170, 160);\n\n // Set Opening Balance Headers\n\n doc.text('Opening balance', 415, 160, 'right');\n\n // Set Closing Balance Headers\n doc.text('Closing balance', 555, 160, 'right');\n\n\n\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.setFontStyle('bold');\n\n // Set From Date Value\n // doc.text(\"27/09/2017\", 40, 175);\n doc.text(fromDate, 40, 175);\n\n // Set To Date Value\n doc.text(toDate, 170, 175);\n\n // Set Opening Balance Value\n doc.text(statementCurrency.toUpperCase() + ' ' + closingBalance, 415, 175, 'right');\n\n\n\n // Set Closing Balance Value\n doc.text(statementCurrency.toUpperCase() + ' ' + openingBalance, 555, 175, 'right');\n\n // Generate Table\n doc.autoTable(headerColumns, rowValues, {\n startY: 210,\n styles: {\n fontSize: 8, lineHeight: 30, valign: 'middle', halign: 'left',\n overflow: 'linebreak', overflowColumns: true, columnWidth: 'wrap'\n // tableWidth: 'auto',\n // columnWidth: 'auto'\n },\n headerStyles: {\n fillColor: [34, 68, 132],\n fontStyle: 'bold',\n textColor: [255, 255, 255]\n },\n drawHeaderRow: function (row, data) {\n row.height = 35;\n row.width = 600;\n },\n drawRow: function (row, data) {\n // row.height = 30;\n // row.height = 'auto';\n row.width = 600;\n },\n margin: {\n right: 0,\n left: 0,\n top: 100,\n bottom: 40\n },\n columnStyles: {\n 0: { columnWidth: 50 },\n 1: { columnWidth: 50 },\n 2: { columnWidth: 75 },\n 3: { columnWidth: 300 },\n 4: { columnWidth: 50 },\n 5: { columnWidth: 75 }\n }\n });\n\n\n // ['S/N 50', 'Date 50', 'Amount75', 'Description 300', 'Type 50', 'Balance 75'],\n // 600\n\n\n // Place Disclaimer Image. Height of Disclaimer: 120\n const lastPageHeightLessFooter = doc.internal.pageSize.height - 30;\n\n // doc.autoTable.previous.finalY -- gives the y-coordinate of the bottom of the table on the current page.\n // Add 150 to the value to prevent disclaimer from falling on the footer\n if (doc.autoTable.previous.finalY + 150 < lastPageHeightLessFooter) {\n doc.addImage(disclaimerImage, 'PNG', 50, doc.autoTable.previous.finalY + 20, 493, 120);\n } else {\n doc.addPage();\n doc.addImage(disclaimerImage, 'PNG', 50, 100, 493, 120);\n }\n\n // Add footer, watermark, and stanbic logo to each page\n const numberOfPages = doc.internal.getNumberOfPages();\n\n doc.setFontStyle('normal');\n doc.setFontSize(13);\n doc.setTextColor(0, 0, 0);\n for (let O = 1; O <= numberOfPages; O++) {\n const P = 'Page ' + O + ' of ' + numberOfPages;\n const Q = doc.internal.pageSize.height - 50;\n doc.setPage(O);\n doc.addImage(watermarkImage, 'PNG', 220, 330, 160, 190);\n doc.addImage(headerLogo, 'PNG', 40, 40, 183, 34);\n doc.text(P, 50, Q);\n }\n\n\n return doc;\n }\n\n private breakdownReceiptHeaderMessage(headerMessage) {\n const b = []\n , c = [];\n if (headerMessage.length <= 40) {\n b.push(headerMessage);\n } else {\n // tslint:disable-next-line:no-var-keyword\n for (var d, e = headerMessage.split(' '), d = e[0], f = e.length, g = 0; f > g; g++) {\n c[0] = d,\n d = d + ' ' + e[g + 1],\n c[1] = d,\n // tslint:disable-next-line:no-unused-expression\n g !== e.length - 1 ? c[1].length > 40 && (b.push(c[0]),\n d = e[g + 1]) : g === e.length - 1 && b.push(c[0]);\n }\n }\n return b;\n\n }\n private breakdownRecipientMessage(recipientName) {\n const b = []\n , c = [];\n if (recipientName.length <= 30) {\n b.push(recipientName);\n } else {\n // tslint:disable-next-line:no-var-keyword\n for (var d, e = recipientName.split(' '), d = e[0], f = e.length, g = 0; f > g; g++) {\n c[0] = d,\n d = d + ' ' + e[g + 1],\n c[1] = d,\n // tslint:disable-next-line:no-unused-expression\n g !== e.length - 1 ? c[1].length > 40 && (b.push(c[0]),\n d = e[g + 1]) : g === e.length - 1 && b.push(c[0]);\n }\n }\n return b;\n\n }\n private printObjectOnPdf(doc, _object, startY) {\n const objectKeyArray = Object.keys(_object);\n for (let cursor = 0; cursor < objectKeyArray.length; cursor++) {\n const header = objectKeyArray[cursor];\n const value = _object[header];\n\n const headerY = 20 + startY;\n const valueY = headerY + 15;\n startY = valueY;\n\n doc.setFontSize(10);\n doc.setTextColor(102, 102, 102);\n doc.text(header, 300, headerY, 'center');\n doc.setFontSize(12);\n doc.setTextColor(51, 51, 51);\n doc.text(value, 300, valueY, 'center');\n }\n return startY;\n }\n\n private getOtherReceiptDetails(transactionObj: TransferHistory, theirReference) {\n return {\n 'Transaction type': transactionObj.transactionType,\n 'Reference ID': transactionObj.referenceId,\n 'Date': transactionObj.date,\n 'From': transactionObj['sourceAccountName'] ? transactionObj['sourceAccountName'].toUpperCase() : '',\n 'Their reference': theirReference ? theirReference.toUpperCase() : ''\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { AuthService } from \"./auth.service\";\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\nimport { WalletDetails, WalletDetailsResponse, WalletTransactionHistory, WalletTransactionHistoryRequest } from \"../models/WalletDetails\";\nimport { DebitEnairaWallet } from \"../models/debitWallet\";\nimport { FundWallet } from \"../models/fund-wallet\";\n\n@Injectable()\nexport class EnairaService {\n private _apiBaseUrl: string;\n walletDetails: BehaviorSubject = new BehaviorSubject(null);\n data = this.walletDetails.asObservable();\n\n constructor(\n private _httpClient: HttpClient,\n _settings: AppConfigService,\n private _authService: AuthService\n ) {\n this._apiBaseUrl = _settings.ENairaAPIBaseUrl;\n }\n \n updatedDataSelection(data: WalletDetailsResponse){\n this.walletDetails.next(data);\n }\n fetchWalletDetails(payload:WalletDetails): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/fetchWalletDetails`,\n payload,\n );\n }\n\n fetchWalletHistory(payload: WalletTransactionHistoryRequest): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/walletHistory`,payload)\n }\n\n fundEnairaWallet(payload:FundWallet): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/fundWallet `,\n payload,\n );\n }\n\n debitEnairaWallet(payload:DebitEnairaWallet): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/debitWallet`,\n payload,\n );\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport * as XLSX from 'xlsx';\n\n@Injectable()\nexport class FileHelperService {\n\n constructor(private _httpClient: HttpClient) { }\n downloadFileAsBlob(url = '../../assets/', fileName = 'Bulk_Upload_Template.csv'): Promise {\n // const headers = { responseType: 'blob'};\n const filePath = `${url}/${fileName}`;\n console.log(`FilePath -> ${filePath}`);\n return this._httpClient.get(filePath, { responseType: 'blob' })\n .toPromise();\n }\n\n parseExcelBlobFileAsArray(blob: Blob, includeAllsheets: boolean = false): Promise>> {\n return new Promise>>((resolve, reject) => {\n const fileReader: FileReader = new FileReader();\n fileReader.onload = (e) => {\n const array = new Uint8Array(fileReader.result as ArrayBuffer);\n const wb: XLSX.WorkBook = XLSX.read(array, { type: 'array' });\n if (!includeAllsheets) {\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n resolve(XLSX.utils.sheet_to_json(ws, { header: 1 }));\n } else {\n const worksheetNames = wb.SheetNames;\n const data: any[][] = [];\n for (let i = 0; i < worksheetNames.length; i++) {\n const workSheetData: XLSX.WorkSheet = wb.Sheets[worksheetNames[i]];\n data.push(XLSX.utils.sheet_to_json(workSheetData, { header: 1 }));\n }\n resolve(data);\n }\n };\n fileReader.readAsArrayBuffer(blob);\n });\n }\n}\n","// import { Injectable } from \"@angular/core\";\n// import { HttpClient, HttpHeaders } from \"@angular/common/http\";\n// import { AppConfigService } from \"./appconfig.service\";\n// import { AuthService } from \"./auth.service\";\n// import { Observable } from \"rxjs\";\n\n// @Injectable()\n// export class FXPaymentService {\n// private _apiBaseUrl: string;\n\n// constructor(\n// private _httpClient: HttpClient,\n// _settings: AppConfigService,\n// private _authService: AuthService\n// ) {\n// this._apiBaseUrl = _settings.FxPaymentApiBaseUrl;\n// }\n// getFxBalance(bvn: string): Observable {\n// const headers = new HttpHeaders()\n// .set(\"content-type\", \"application/json\")\n// .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n// return this._httpClient.post(\n// `${this._apiBaseUrl}/GetFxBalances`,\n// { Bvn: bvn },\n// { headers: headers }\n// );\n// }\n\n// getFxBranches(): Observable {\n// const headers = new HttpHeaders()\n// .set(\"content-type\", \"application/json\")\n// .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n// return this._httpClient.post(\n// `${this._apiBaseUrl}/GetFxBranches `,\n// {},\n// { headers: headers }\n// );\n// }\n// getFxTypes(): Observable {\n// const headers = new HttpHeaders()\n// .set(\"content-type\", \"application/json\")\n// .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n// return this._httpClient.post(\n// `${this._apiBaseUrl}/GetFxTypes `,\n// {},\n// { headers: headers }\n// );\n// }\n// getPurchaseType(): Observable {\n// const headers = new HttpHeaders()\n// .set(\"content-type\", \"application/json\")\n// .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n// return this._httpClient.post(\n// `${this._apiBaseUrl}/GetPurchaseTypes `,\n// {},\n// { headers: headers }\n// );\n// }\n// SubmitFxRequest(payload): Observable {\n// const headers = new HttpHeaders()\n// .set(\"content-type\", \"application/json\")\n// .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n// return this._httpClient.post(\n// `${this._apiBaseUrl}/SubmitRequest `,\n// payload,\n// { headers: headers }\n// );\n// }\n// }\n\n\n\nimport { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { AuthService } from \"./auth.service\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class FXPaymentService {\n private _apiBaseUrl: string;\n\n constructor(\n private _httpClient: HttpClient,\n _settings: AppConfigService,\n private _authService: AuthService\n ) {\n this._apiBaseUrl = _settings.FxPaymentApiBaseUrl;\n }\n getFxBalance(bvn: string): Observable {\n const headers = new HttpHeaders()\n .set(\"content-type\", \"application/json\")\n .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n return this._httpClient.post(\n `${this._apiBaseUrl}/GetFxBalances`,\n { Bvn: bvn },\n { headers: headers }\n );\n }\n\n getFxBranches(): Observable {\n const headers = new HttpHeaders()\n .set(\"content-type\", \"application/json\")\n .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n return this._httpClient.post(\n `${this._apiBaseUrl}/GetFxBranches `,\n {},\n { headers: headers }\n );\n }\n getFxTypes(): Observable {\n const headers = new HttpHeaders()\n .set(\"content-type\", \"application/json\")\n .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n return this._httpClient.post(\n `${this._apiBaseUrl}/GetFxTypes `,\n {},\n { headers: headers }\n );\n }\n getPurchaseType(): Observable {\n const headers = new HttpHeaders()\n .set(\"content-type\", \"application/json\")\n .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n return this._httpClient.post(\n `${this._apiBaseUrl}/GetPurchaseTypes `,\n {},\n { headers: headers }\n );\n }\n SubmitFxRequest(payload): Observable {\n const headers = new HttpHeaders()\n .set(\"content-type\", \"application/json\")\n .set(\"Q-wxTYDV-vxq\", \"hhdkiuvxxqeTRfHyGVccDDALoieuhsWQArtdlirXX\");\n return this._httpClient.post(\n `${this._apiBaseUrl}/SubmitRequest `,\n payload,\n { headers: headers }\n );\n }\n}\n","\n\n\nimport { TemplateRef } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material';\n\nimport { Injectable } from '@angular/core';\n\ndeclare var $: any;\ndeclare var moment: any;\nfunction _window(): any {\n return window;\n}\n\ninterface IBrowserSpec {\n name: string, version: string\n}\n\n@Injectable()\nexport class UtilService {\n\n static currentModalRef: Array> = [];\n static clone(srcObj: any) {\n return (Object as any).assign({}, srcObj);\n }\n\n static get Moment() {\n return moment;\n }\n\n static copy(srcObj: any, destObj: any) {\n return (Object as any).assign(destObj, srcObj);\n }\n\n static trim(txt: string) {\n\n txt = (txt as string).toString();\n\n if (String.prototype.trim) {\n return txt.trim();\n }\n else {\n return txt.replace(/^\\s+|\\s+$/g, '');\n }\n }\n\n static convertToDate(date: string) {\n var parts = date.split('/');\n return new Date(parseInt(parts[2]), parseInt(parts[1]) - 1, parseInt(parts[0])); // months start from 0;\n }\n\n static StringIsNullOrEmpty(text: string): boolean {\n\n if (!text) {\n return true;\n }\n\n text = text.toString();\n\n if (text == null || text.toLowerCase() == 'null') {\n\n return true;\n }\n\n\n if (UtilService.trim(text).length < 1) {\n return true;\n }\n\n return false;\n }\n\n static SaveTokenApiCallStatus() {\n var tokenApiHasBeenCalledBefore = localStorage.getItem(\"tokenApiHasBeenCalled\")\n if(tokenApiHasBeenCalledBefore != null || tokenApiHasBeenCalledBefore != undefined)\n {\n return tokenApiHasBeenCalledBefore.toLowerCase() == \"true\" ? true:false;\n }\n // var status = tokenStatus == true ? \"true\":\"false\"\n // localStorage.setItem(\"tokenApiHasBeenCalled\", status)\n // return tokenStatus;\n return false;\n }\n\n static ObjectKeysLength(obj: any) {\n\n if (!Object.keys) {\n\n // Object.keys = function (obj) {\n (Object as any).keys = function (obj) {\n var keys = [], k;\n\n for (k in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, k)) {\n keys.push(k);\n }\n }\n return keys.length;\n };\n }\n else {\n return Object.keys(obj).length\n }\n }\n\n static StringContainsDigit(value: string) {\n if (value) {\n return /\\d/.test(value);\n }\n\n return false;\n }\n\n\n\n static getSanitizedAmount(amountEntered: string) {\n let validAmountXter = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.'];\n\n if (!amountEntered) {\n return amountEntered;\n }\n\n\n let amountArray = amountEntered.toString().split('');\n let finalAmount = '';\n\n for (let cursor = 0; cursor < amountArray.length; cursor++) {\n if (validAmountXter.indexOf(amountArray[cursor]) != -1) {\n\n if (finalAmount.indexOf('.') != -1) {\n let finalAmountArray = finalAmount.split('.');\n if (finalAmountArray.length == 2 && finalAmountArray[1].length < 2) {\n finalAmount += amountArray[cursor];\n }\n else if (finalAmountArray.length == 1) {\n finalAmount += amountArray[cursor];\n }\n }\n else {\n finalAmount += amountArray[cursor];\n }\n }\n }\n\n return finalAmount;\n }\n\n\n static StringContainsUpperCaseCharacters(value: string) {\n\n if (value) {\n return value.toLowerCase() != value;\n }\n\n return false;\n }\n\n static StringContainsLowerCaseCharacters(value: string) {\n if (value) {\n return value.toUpperCase() != value;\n }\n\n return false;\n }\n\n static getBrowserObj(): IBrowserSpec {\n\n let userAgent = (_window().navigator.userAgent as string);\n let tempArray;\n let M = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n\n if (/trident/i.test(M[1])) {\n tempArray = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\n\n if (tempArray != null) {\n return { name: 'IE', version: (tempArray[1] || '') };\n }\n }\n\n if (M[1] === 'Chrome') {\n tempArray = userAgent.match(/\\b(OPR|Edge)\\/(\\d+)/);\n\n if (tempArray != null) {\n return { name: tempArray[1].replace('OPR', 'Opera'), version: tempArray[2] };\n }\n }\n\n M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?'];\n\n if ((tempArray = userAgent.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tempArray[1]);\n return { name: M[0], version: M[1] };\n\n\n\n // {name: \"MSIE\", version: \"8\"}\n // {name: \"Chrome\", version: \"39\"}\n // {name: \"Firefox\", version: \"36\"}\n // {name: \"Opera\", version: \"26\"}\n // {name: \"Edge\", version: \"14\"}\n // {name: \"Safari\", version: \"9\"}\n }\n\n static generateSessionId() {\n var text = \"\";\n var possible = \"abcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (var i = 0; i < 7; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n\n return text;\n }\n\n\n static getScreenType() {\n\n let screenWidth = _window().innerWidth;\n\n if (screenWidth > 1024) {\n return 'large';\n }\n else if (screenWidth >= 640 && screenWidth <= 1024) {\n return 'medium';\n }\n else if (screenWidth < 640) {\n return 'small';\n }\n }\n\n\n\n static getScreenTypeForDashboard() {\n\n let screenWidth = _window().innerWidth;\n\n if (screenWidth > 1024) {\n return 'large';\n }\n else if (screenWidth >= 640 && screenWidth <= 1023) {\n return 'medium';\n }\n else if (screenWidth < 640) {\n return 'small';\n }\n }\n\n\n static isNotBigScreen() {\n\n let screenWidth = _window().innerWidth;\n\n return screenWidth < 1024;\n }\n\n\n\n static htmlDecode(value: string) {\n if (!UtilService.StringIsNullOrEmpty(value)) {\n var e = document.createElement('div');\n e.innerHTML = value;\n return e.childNodes.length === 0 ? \"\" : e.childNodes[0].nodeValue;\n }\n return value;\n }\n\n\n //INTELLIX CODE\n static onPageLoadCallback(pageName: string = '', useOther = true): void {\n\n if (typeof _window().htmlElement != \"function\") {\n _window().htmlElement = function (param) { };\n }\n\n if (useOther == true) {\n _window().htmlElement('other');\n }\n else {\n _window().htmlElement(pageName);\n }\n\n\n // if (useOther == true) {\n // if (typeof _window().htmlElement != undefined) {\n // // _window().htmlElement('other');\n // }\n\n // }\n // else {\n // if (typeof _window().htmlElement != undefined) {\n // // _window().htmlElement(pageName);\n // }\n\n // }\n }\n\n static onLoginPageCallback(): void {\n if (_window().omy) {\n delete _window().omy;\n }\n }\n\n\n\n static onSuccessfullyLoginCallback(authUserId: string): void {\n let _authUserId = authUserId;\n _window().omy = function () {\n var result = {\n \"u\": { \"p\": [_authUserId] }\n }\n\n return result;\n }\n }\n\n // END INTELLIX CODE\n\n\n static get Window() {\n return _window();\n }\n\n\n static get JQuery() {\n return $;\n }\n\n static removeSpecialXtersFromString(value: string) {\n let validXterArray = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',\n 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' '];\n\n\n if (UtilService.StringIsNullOrEmpty(value)) {\n return value;\n }\n\n let valueArray = value.split('');\n let finalValue = '';\n\n for (let cursor = 0; cursor < valueArray.length; cursor++) {\n if (validXterArray.indexOf(valueArray[cursor].toLowerCase()) != -1) {\n finalValue += valueArray[cursor];\n }\n }\n\n return finalValue;\n }\n\n\n static toTitleCase(value: string) {\n if (!UtilService.StringIsNullOrEmpty(value)) {\n return value.replace(\n /\\w\\S*/g,\n function (txt) {\n return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n }\n );\n }\n\n return value;\n }\n\n static showExceptionDialog(modalDialogRef: MatDialogRef, modalTemplate: TemplateRef, _dialog: MatDialog): MatDialogRef {\n\n modalDialogRef = _dialog.open(modalTemplate, {\n height: '100%',\n width: '100%',\n hasBackdrop: true,\n disableClose: true,\n closeOnNavigation: true\n });\n\n let _loadingModalInterval = setInterval(function () {\n if ($('div.cdk-overlay-pane').length > 0) {\n $('div.cdk-overlay-pane').css('max-width', '100vw');\n _window().clearInterval(_loadingModalInterval);\n }\n }, 50);\n\n\n if (!this.currentModalRef) {\n this.currentModalRef = new Array>();\n }\n\n this.currentModalRef.push(modalDialogRef);\n\n\n return modalDialogRef;\n }\n\n\n\n static GetUniqueArray(array: Array) {\n var arr = [];\n for (var i = 0; i < array.length; i++) {\n if (arr.indexOf(array[i]) == -1) {\n arr.push(array[i]);\n }\n }\n\n return arr;\n }\n\n\n\n // static getScreenType() {\n\n // let screenWidth = _window().innerWidth;\n\n // if (screenWidth > 1024) {\n // return 'large';\n // }\n // else if (screenWidth >= 640 && screenWidth <= 1024) {\n // return 'medium';\n // }\n // else if (screenWidth < 640) {\n // return 'small';\n // }\n // }\n\n\n static showBasicModal(modalDialogRef: MatDialogRef, modalTemplate: TemplateRef, dialog: MatDialog, usePercentageWidth: boolean = false, percentageWidth = 100): MatDialogRef {\n\n try {\n if (usePercentageWidth != true) {\n modalDialogRef = dialog.open(modalTemplate,\n {\n hasBackdrop: true,\n disableClose: true,\n closeOnNavigation: true,\n panelClass: ['custom-add-confirmationModal']\n });\n }\n else {\n modalDialogRef = dialog.open(modalTemplate,\n {\n width: `${percentageWidth}%`,\n hasBackdrop: true,\n disableClose: true,\n closeOnNavigation: true,\n panelClass: ['custom-add-confirmationModal']\n });\n }\n\n\n if (!this.currentModalRef) {\n this.currentModalRef = new Array>();\n }\n\n this.currentModalRef.push(modalDialogRef);\n\n return modalDialogRef;\n }\n catch (ex) {\n console.log(ex);\n }\n\n }\n\n\n\n static NubanValidator(accountNumber: string, registeredBanks: any): any[] {\n\n\n if (!registeredBanks || (registeredBanks && registeredBanks.length < 1)) {\n return [];\n }\n\n let banks: any[] = [];\n\n try {\n for (let b of registeredBanks) {\n let accountNumberArray: string[] = (b.code + '' + accountNumber).split('');\n let summation = (\n ((+accountNumberArray[0]) * 3) +\n ((+accountNumberArray[1]) * 7) +\n ((+accountNumberArray[2]) * 3) +\n ((+accountNumberArray[3]) * 3) +\n ((+accountNumberArray[4]) * 7) +\n ((+accountNumberArray[5]) * 3) +\n ((+accountNumberArray[6]) * 3) +\n ((+accountNumberArray[7]) * 7) +\n ((+accountNumberArray[8]) * 3) +\n ((+accountNumberArray[9]) * 3) +\n ((+accountNumberArray[10]) * 7) +\n ((+accountNumberArray[11]) * 3)\n )\n let checkSum = (10 - (summation % 10)) % 10;\n if (checkSum === (+accountNumberArray[12])) {\n banks.push(b);\n }\n }\n } catch (error) {\n\n }\n\n return banks;\n }\n\n\n static formatDateAsFriendlyShortString(date: Date): string {\n const month = date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;\n return `${date.getDate()}/${month}/${date.getFullYear()}`;\n }\n\n static formatNumStringAsCurrency(numbString, currency?: string) {\n if (currency) {\n return numbString.toLocaleString('en-US', { style: 'currency', currency: currency });\n }\n return numbString.toLocaleString();\n }\n static formatDateAsSystemShortString(date: Date): string {\n const month = date.getMonth() < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;\n return `${date.getFullYear()}-${month}-${date.getDate() > 9 ? date.getDate() : '0' + date.getDate()}`;\n }\n\n\n static DifferenceInWeeks(startDate: Date, endDate: Date, addRemnantDaysAsAWeek: boolean = false): number {\n\n let timeDifference = (startDate.getTime() - endDate.getTime()) / 1000;\n\n let weekDifference = timeDifference / (60 * 60 * 24 * 7);\n weekDifference = Math.abs(Math.round(weekDifference))\n\n if (addRemnantDaysAsAWeek == true) {\n let daysDifference = timeDifference / (60 * 60 * 24);\n daysDifference = Math.abs(Math.ceil(daysDifference));\n\n if (daysDifference > (weekDifference * 7)) {\n weekDifference += 1;\n }\n }\n\n return weekDifference;\n }\n\n\n\n static JSONToCSVConvertor(JSONData, ShowLabel, fileName) {\n var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;\n var CSV = '';\n if (ShowLabel) {\n var row = \"\";\n for (var index in arrData[0]) {\n row += index + ',';\n }\n row = row.slice(0, -1);\n CSV += row + '\\r\\n';\n }\n for (var i = 0; i < arrData.length; i++) {\n var row = \"\";\n\n for (var index in arrData[i]) {\n var arrValue = arrData[i][index];\n row += arrValue + ',';\n }\n\n CSV += row + '\\r\\n';\n }\n if (CSV == '') {\n console.error(\"Invalid data\");\n return;\n }\n\n if (this.msieversion()) {\n var IEwindow = _window().open();\n IEwindow.document.write('sep=,\\r\\n' + CSV);\n IEwindow.document.close();\n IEwindow.document.execCommand('SaveAs', true, fileName + \".csv\");\n IEwindow.close();\n } else {\n let uri = 'data:application/csv;charset=utf-8,' + _window().escape(CSV);\n let link = _window().document.createElement(\"a\");\n link.href = uri;\n link.style = \"visibility:hidden\";\n link.download = fileName + \".csv\";\n _window().document.body.appendChild(link);\n link.click();\n _window().document.body.removeChild(link);\n }\n }\n\n\n\n static msieversion() {\n var ua = _window().navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie != -1 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) // If Internet Explorer, return version number \n {\n return true;\n } else { // If another browser, \n return false;\n }\n //return false; \n }\n\n\n static validatePasswordContent(password: string): boolean {\n\n if (UtilService.StringIsNullOrEmpty(password)) {\n return false;\n }\n\n // let possible = \"abcdefghijklmnopqrstuvwxyz0123456789#^@.:*<>(:)?|&~$%\\\\\";\n let possible = \"abcdefghijklmnopqrstuvwxyz0123456789#^@.*<>(:)?|&\";\n\n\n password = password.toLowerCase();\n\n for (let _char of password.trim()) {\n // console.log(_char);\n if (possible.indexOf(_char) == -1) {\n // console.log(\"Return false on: \" + _char);\n return false;\n }\n }\n\n return true;\n }\n\n}","\n\n\n\nimport { Injectable } from '@angular/core';\nimport {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpResponse,\n HttpErrorResponse,\n} from '@angular/common/http';\n\nimport { Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { Constants } from '../helpers/appConstants';\nimport { RouterConstants } from '../helpers/routerConstants';\nimport { AuthService } from './auth.service';\nimport { StorageService } from './storage.service';\n\n\n@Injectable()\nexport class AllResponseInterceptor implements HttpInterceptor {\n constructor(private router: Router, private storageService: StorageService, private authService: AuthService) { }\n\n intercept(incomingRequest: HttpRequest, nextInterceptor: HttpHandler): Observable> {\n return nextInterceptor.handle(incomingRequest).\n pipe(\n tap((event: HttpEvent) => {\n if (event instanceof HttpResponse) {\n if (event.body && event.body.Token) {\n if (AuthService.useLoginTokenForSessionTokenOnNextAPICall) {\n this.storageService.saveRaw(Constants.StorageLoginTokenKey, event.body.Token);\n }\n else {\n this.storageService.saveRaw(Constants.StorageTokenKey, event.body.Token);\n this._UpdateToken(event.body);\n\n }\n }\n }\n return event;\n },\n\n (err: any) => {\n if (err instanceof HttpErrorResponse && err.status == Constants.UnauthorizedStatusCode) {\n this.authService.logout();\n this.router.navigate([RouterConstants.LoginURL]);\n }\n }\n )\n );\n }\n\n private _UpdateToken(responseData) {\n let userAuthData: any = sessionStorage.getItem(Constants.Auth_Data);\n userAuthData = userAuthData ? JSON.parse(userAuthData) : userAuthData;\n if (responseData && responseData['Token'] && userAuthData) {\n userAuthData['Token'] = responseData['Token'];\n sessionStorage.setItem(Constants.Auth_Data, JSON.stringify(userAuthData));\n }\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\nimport { UtilService } from './helpers.service';\n\n@Injectable()\nexport class HttpRequestInterceptor implements HttpInterceptor {\n constructor(private authService: AuthService) { }\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n\n\n if (AuthService.useOnlyContentTypeHeader) {\n\n const changedReq = req.clone({\n headers: req.headers\n .set('Content-Type', 'application/json')\n });\n return next.handle(changedReq);\n }\n\n const changedReq = req.clone({\n headers: req.headers\n .set('Content-Type', 'application/json')\n .set('BankChannel', 'INTERNET_BANKING')\n .set('X-STC-AGENT-CACHE', AuthService.FullyAuthenticatedUser ? AuthService.FullyAuthenticatedUser.UserId : AuthService.UnauthenticatedUserId || \"\")\n .set('X-RTC-AGENT-CACHE', AuthService.FullyAuthenticatedUser ? AuthService.FirstValidateOTPToken : \"\")\n .set('X-TTC-AGENT-CACHE', AuthService.ValidateUserSession ? \"100\" : \"200\")\n .set('X-STM1UC-AGENT-REDUX', AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.YPSFlixDescription ?\n AuthService.FullyAuthenticatedUser.YPSFlixDescription :\n AuthService.PartiallyAuthenticatedUser && AuthService.PartiallyAuthenticatedUser.YPSFlixDescription ?\n AuthService.PartiallyAuthenticatedUser.YPSFlixDescription : '')\n .set('Authorization', this.getAuthToken() || '')\n });\n return next.handle(changedReq);\n }\n\n getAuthToken(): string {\n\n let bearerToken = this.authService.GetAccessToken();\n\n if (AuthService.useLoginTokenForSessionTokenOnNextAPICall) {\n bearerToken = this.authService.GetLoginToken();\n }\n\n if (!UtilService.StringIsNullOrEmpty(bearerToken)) {\n return `Bearer ${bearerToken}`;\n }\n return null;\n }\n\n\n\n getLoginToken(): string {\n\n let bearerToken = this.authService.GetAccessToken();\n if (!UtilService.StringIsNullOrEmpty(bearerToken)) {\n return `Bearer ${bearerToken}`;\n }\n return 'Bearer';\n }\n\n\n // getLoggedInUser() {\n\n // const loggedInUser = this.authService.getLoggedInUser();\n\n // return !loggedInUser ? localStorage.getItem('tempUserId') : loggedInUser.UserId;\n // }\n}\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { CreateThresholdStatus, IntellinxCustomerStatus, QuestionsCustomerStatus, ThresholdStatus } from \"../models/customer-status\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { CreateSecret } from '../models/create-secret'\nimport { DeleteSecret } from \"../models/delete-secret\";\n@Injectable()\nexport class IntellinxService {\n\n private _apiBaseUrl: string;\n private _thresholdBaseUrl: string;\n constructor(private _settings: AppConfigService, private http: HttpClient) {\n this._apiBaseUrl = _settings.IntellinxAPIBaseUrl;\n this._thresholdBaseUrl = _settings.IntellinxAPIThresholdUrl;\n }\n\n getQuestions(channel: string): Observable {\n return this.http.get(`${this._apiBaseUrl}/secretword/questions?channel=${channel}`)\n }\n\n getCustomerStatus(customerId: string, channel: string): Observable {\n return this.http.get(`${this._apiBaseUrl}/secretword/${customerId}/status?channel=${channel}`)\n }\n\n resetCustomerStatus(customerId: string, channel: string, secret) {\n return this.http.put(`${this._apiBaseUrl}/secretword/${customerId}/reset?Secret=${secret}&Channel=${channel}`,{})\n }\n\n deleteSecretWord(payload: DeleteSecret) {\n return this.http.request('delete', `${this._apiBaseUrl}/secretword/${payload.customerId}?channel=${payload.channel}`)\n }\n\n createSecretWord(payload: CreateSecret) {\n return this.http.post(`${this._apiBaseUrl}/secretword`, payload)\n }\n\n chooseIndemnity(customerId: string, channel: string) {\n return this.http.post(`${this._apiBaseUrl}/secretword/${customerId}/indemnity?channel=${channel}`, {});\n }\n\n getIndemnityStatus(customerId: string, channel: string) {\n return this.http.get(`${this._apiBaseUrl}/secretword/${customerId}/indemnity/status?channel=${channel}`)\n }\n\n validateSecretAnswer(customerId: string,tranId:string, channel: string, secret: string) {\n return this.http.post(`${this._apiBaseUrl}/secretword/${customerId}/validate?SessionId=${tranId}&Secret=${secret}&Channel=${channel}&CustomerId=${customerId}`, null)\n }\n\n getThreshold(channel: string, customerId:string): Observable {\n return this.http.get(`${this._thresholdBaseUrl}/${customerId}?channel=${channel}`)\n }\n\n createThreshold(customerId: string, payload:CreateThresholdStatus) {\n return this.http.post(`${this._thresholdBaseUrl}/${customerId}`,payload)\n }\n\n modifyThreshold(customerId: string, payload:CreateThresholdStatus) {\n return this.http.patch(`${this._thresholdBaseUrl}/${customerId}`,payload)\n }\n\n notifyIntellinx(payload:CreateThresholdStatus) {\n return this.http.post(`${this._apiBaseUrl}/notification/payment`, payload)\n }\n\n lockoutAccount(userId: string, channel:string) {\n return this.http.post(`${this._apiBaseUrl}/secretword/${userId}/lockout?channel=${channel}`, null)\n }\n}\n","import { GetAuthorizedBvn } from './../models/getAuthorizedBvn';\n\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { Country } from '../models/country';\nimport { countryList } from '../models/_countryLists';\nimport { StorageService } from './storage.service';\nimport { Constants } from '../helpers/appConstants';\nimport {\n TransferChannelOrderResponsePayload, TransactionChargesResponsePayload,\n TransferLimitResponsePayload,\n GetStatementCountryResponse,\n GetStatementCountryDestinationResponse,\n GenerateStatementRequest,\n GenerateStatementResponse,\n GenerateStatementRequestResponse,\n DownloadStatementResponse\n} from '../models/payloads/misc';\nimport { NameEnquiryRequestPayload, NameEnquiryRequestResponse, BasePagedRequestResponse, CardExpiryConsent, CardExpiryNotificationDialogData } from '../models/misc-requests-model';\nimport { PasswordChangeOtpRequestPayload, AppUser } from '../models/auth';\nimport { Bank, OtpRequestResponse } from '../models/service-request/misc-models';\nimport { RemitaPaymentDetailsRequestResponse } from '../models/transfer';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AuthService } from './auth.service';\nimport { NameEnquiryBatchRequestPayload, NameEnquiryBatchRequestResponse } from '../models/payloads/transactions';\nimport { Observable, of } from 'rxjs';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport { PensionRemittanceUploadRequestPayload, PensionRemittanceUploadResponse } from '../models/payloads/pensionremittance';\n\n@Injectable()\nexport class MiscService {\n\n private _apiBaseUrl: string;\n private _apiBaseUrl2: string;\n private _loggedInUser: AppUser;\n\n\n constructor(private _settings: AppConfigService, private _httpClient: HttpClient, private _storageService: StorageService,\n private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._apiBaseUrl2 = _settings.APIBaseUrl2;\n this._loggedInUser = _authService.getLoggedInUser();\n }\n\n\n getStatementCountries(): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.StatementCountryURL}`,\n {});\n // return this._httpClient.get(`${ApiURLConstants.StatementCountryURL}`);\n }\n\n getStatementCountryDestinations(countryCode, destinationTypeId): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.StatementCountryDestinationURL}`,\n {\n CountryCode: countryCode,\n DestinationTypeId: destinationTypeId\n });\n\n // // return of({\n // // GetDestinationsResult: \"[{\\\"Name\\\":\\\"Sterling Bank\\\",\\\"destinationID\\\":\\\"1\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Polaris Bank Limited\\\",\\\"destinationID\\\":\\\"2\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Key Stone Bank\\\",\\\"destinationID\\\":\\\"4\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"FCM Bank\\\",\\\"destinationID\\\":\\\"5\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Access Bank\\\",\\\"destinationID\\\":\\\"6\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Heritage Bank\\\",\\\"destinationID\\\":\\\"7\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Access(Diamond) Bank\\\",\\\"destinationID\\\":\\\"8\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Union Bank\\\",\\\"destinationID\\\":\\\"11\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Wema Bank\\\",\\\"destinationID\\\":\\\"12\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"GT Bank\\\",\\\"destinationID\\\":\\\"13\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"UBA \\\",\\\"destinationID\\\":\\\"14\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Fidelity Bank\\\",\\\"destinationID\\\":\\\"15\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"Eco Bank\\\",\\\"destinationID\\\":\\\"32\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"},{\\\"Name\\\":\\\"First Bank\\\",\\\"destinationID\\\":\\\"3\\\",\\\"categoryID\\\":\\\"1\\\",\\\"Category\\\":\\\"Commercial Bank\\\"}]\",\n // // });\n\n // AuthService.useOnlyContentTypeHeader = true;\n // return this._httpClient.get\n // (`${ApiURLConstants.StatementCountryDestinationURL}/${countryCode}/${destinationId}`);\n }\n\n\n generateStatementRequest(payload: GenerateStatementRequest): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GenerateStatementRequestURL}`,\n {\n AccountNo: payload.accountNo,\n StartDate: payload.startDate,\n EndDate: payload.endDate,\n DestinationId: payload.destinationId,\n CountryCode: payload.countryCode\n });\n\n // return of({\n // RequestStatementResult: \"{\\\"status\\\":\\\"00\\\",\\\"Msg\\\":\\\"Successful\\\",\\\"noOfPages\\\":\\\"6\\\",\\\"Amount\\\":\\\"240.00\\\",\\\"AdditionalFee\\\":\\\"1000.0000\\\",\\\"Vat\\\":\\\"62\\\",\\\"Total\\\":\\\"1302.0000\\\"}\"\n // });\n // AuthService.useOnlyContentTypeHeader = true;\n\n // return this._httpClient.get\n // (`${ApiURLConstants.GenerateStatementRequestURL}/${payload.accountNo}/${payload.startDate}/${payload.endDate}/${payload.destinationId}/${payload.countryCode}`);\n\n }\n\n\n\n forwardStatement(payload: GenerateStatementRequest): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.ForwardStatementURL}`,\n {\n AccountNo: payload.accountNo,\n StartDate: payload.startDate,\n EndDate: payload.endDate,\n DestinationId: payload.destinationId,\n CountryCode: payload.countryCode,\n Applicants: payload.applicants,\n ApplicantRole: payload.role,\n DebitAccountNo: payload.debitAccountNo\n });\n\n // return of({\n // GenerateStatementResult: \"{\\\"Status\\\":\\\"00\\\",\\\"Msg\\\":\\\"Successful\\\",\\\"Ticke t\\\":null,\\\"NoOfPages\\\":\\\"5\\\",\\\"TicketNo\\\":\\\"1043889-14\\\",\\\"Password\\\":\\\"4042\\\"}\"\n // });\n\n // AuthService.useOnlyContentTypeHeader = true;\n\n // return this._httpClient.get\n // (`${ApiURLConstants.ForwardStatementURL}/${payload.accountNo}/${payload.startDate}/${payload.endDate}/${payload.role}/${payload.destinationId}/${payload.applicants}/IB/${payload.countryCode}`);\n\n }\n\n\n generateStatementRequestTicket(ticketRequestNo: string): Observable {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.DownloadStatementTicketURL}`,\n {\n TicketNo: ticketRequestNo\n });\n\n // return of({\n // GenerateStatementResult: \"{\\\"Status\\\":\\\"00\\\",\\\"Msg\\\":\\\"Successful\\\",\\\"Ticke t\\\":null,\\\"NoOfPages\\\":\\\"5\\\",\\\"TicketNo\\\":\\\"1043889-14\\\",\\\"Password\\\":\\\"4042\\\"}\"\n // });\n // AuthService.useOnlyContentTypeHeader = true;\n // return this._httpClient.get\n // (`${ApiURLConstants.DownloadStatementTicketURL}/${ticketRequestNo}`);\n }\n\n\n\n\n getTransferChannelOrder(): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.TransferChannelOrderSettings}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId });\n }\n\n getTransferCharges(): Observable {\n // return of({\n // Charges:[{\n // StartAmount: 20,\n // EndAmount: 10,\n // Charges: 2\n // }],\n // ResponseCode:'00',\n // ResponseFriendlyMessage:'success'\n // })\n // uncomment this\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.TransferChargesSettings}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId })\n ;\n }\n\n getDailyTransferLimit(): Observable {\n if (this._settings.UseMockData) {\n return of({\n ResponseCode: '00',\n ResponseDescription: 'String',\n LimitDataRecords: null\n })\n }\n //uncomment\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.DailyTransferLimit}`,\n {\n 'SessionId': 'sample string 1',\n 'AccountNumber': AuthService.FullyAuthenticatedUser.UserId,\n 'StartDate': '2018-07-15T12:47:30.4494839+01:00',\n 'EndDate': '2018-07-15T12:47:30.4494839+01:00',\n 'TransactionCount': 5,\n 'TransactionOwner': 6,\n 'UserId': AuthService.FullyAuthenticatedUser.UserId,\n 'transactionType': 'AHP'\n });\n\n }\n\n\n getBanks(): Observable {\n // return of({\n // ResponseCode:'00',\n // Banks:[\n // {\n // name: 'Stanbic',\n // code: '002'\n // },\n // {\n // name: 'Zenith',\n // code: '002'\n // },\n // {\n // name: 'UBA',\n // code: '002'\n // }\n // ]\n // });\n\n //uncomment\n if (this._settings.UseMockData) {\n\n const _banks = {\n ResponseCode: '00',\n Banks: [{\n name: 'Stanbic',\n code: '20'\n }, {\n name: 'Zenith',\n code: '10'\n }, {\n name: 'Standard Chartered',\n code: '1'\n }]\n }\n return of(\n _banks\n )\n }\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BankList}`,\n { UserId: AuthService.FullyAuthenticatedUser ? AuthService.FullyAuthenticatedUser.UserId : '' })\n ;\n }\n\n\n getCountryCodes(): Promise {\n return new Promise((resolve, reject) => {\n const _cList = countryList.sort((a, b) => a.countryName.localeCompare(b.countryName));\n resolve(_cList);\n });\n }\n\n\n\n doNameEnquiry(payload: NameEnquiryRequestPayload): Promise {\n payload.UserId = !this._loggedInUser ? '' : this._loggedInUser.UserId;\n payload.transferMedium = payload.destinationBankCode === '221' ? 0 : 1;\n return this._httpClient.post(`${this._apiBaseUrl}/TransactionManagement/DoNameEnquiry`, payload)\n .toPromise();\n\n }\n\n initiateNonEncryptOtpRequest(reasonCode, reasonDescription: string = ''): Promise {\n const payload = this.buildOtpRequestPayload(reasonCode, reasonDescription);\n return this._httpClient.post(`${this._apiBaseUrl}/UserProfileManagement/InitiateOTPRequest`, payload)\n .toPromise();\n }\n\n initiateOtpRequest(reasonCode, reasonDescription: string = ''): Promise {\n const payload = this.buildOtpRequestPayload(reasonCode, reasonDescription);\n return this._httpClient.post(`${this._apiBaseUrl}/UserProfileManagement/InitiateOTPRequest`, payload)\n .toPromise();\n }\n\n getAuthorizedNIN(payload: any): Promise {\n return;\n }\n\n getAuthorizedBVN(payload:GetAuthorizedBvn): Promise {\n const url = `${this._apiBaseUrl}/UserProfileManagement/GetAuthorizedBVN?userId=${payload.userId}&otp=${payload.otp}&otpReference=${encodeURIComponent(payload.otpReference)}&sessionId=${payload.sessionId}&cif=${AuthService.FullyAuthenticatedUser.CifId}`\n\n return this._httpClient.get(url).toPromise();\n }\n\n fetchRemitaPaymentDetails(rrrNumber: string): Promise {\n const requestPayload = this.buildRemitaDetailsFetchRequestPayload(rrrNumber);\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/DoNameEnquiry`, requestPayload)\n .toPromise();\n }\n\n initiateBulkBulkNameEnquiry(payload: NameEnquiryBatchRequestPayload): Promise {\n // const requestPayload = this.updateBulkNameEnquiryRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/InitiateBulkTransfer `, payload)\n .toPromise();\n }\n\n\n getPendingRequest(payload: any): Promise {\n if (!payload['RecordType']) {\n payload['RecordType'] = 'PENDING';\n }\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_REQUEST}`, payload).toPromise();\n }\n\n private buildOtpRequestPayload(reasonCode, reasonDescription): PasswordChangeOtpRequestPayload {\n const loggedInUser = this._authService.getLoggedInUser();\n const payload = {\n UserId: loggedInUser && loggedInUser['UserId'] ? loggedInUser.UserId : '',\n ReasonCode: reasonCode,\n CifId: loggedInUser && loggedInUser['CifId'] ? loggedInUser.CifId : ''\n };\n if (reasonDescription && reasonCode === '20') {\n payload['ReasonDescription'] = reasonDescription;\n payload['reasonDescription'] = reasonDescription;\n }\n return payload;\n }\n\n getPhoneNumberFor3SBanking(): Observable {\n const loggedInUser = this._authService.getLoggedInUser();\n const payload = { UserId: loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '' };\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SSS_BANKING_PHONENUMBER}`, payload);\n }\n\n getCardExpiryNotifications(userCif: string): Observable {\n const loggedInUser = this._authService.getLoggedInUser();\n userCif = userCif ? userCif : loggedInUser ? loggedInUser.CifId : '';\n const payload = { UserId: loggedInUser ? loggedInUser.UserId : '', CifId: userCif };\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.CARD_EXPIRY_NOTIFICATIONS}`, payload);\n }\n\n consentToCardExpiryAutoRenewal(accountNumber: string, consent: string): Observable {\n const loggedInUser = this._authService.getLoggedInUser();\n const payload = {\n UserId: loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '',\n AccountNo: accountNumber,\n Consent: consent\n };\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.CARD_EXPIRY_NOTIFICATIONS_CONSENT}`, payload);\n }\n\n private buildRemitaDetailsFetchRequestPayload(rrrNumber) {\n return {\n UserId: this._loggedInUser && this._loggedInUser['UserId'] ? this._loggedInUser.UserId : '',\n destinationAccountNo: rrrNumber,\n transferMedium: '1',\n destinationBankCode: 'REMITA',\n sourceAccountNo: this._loggedInUser && this._loggedInUser['UserId'] ? this._loggedInUser.UserId : ''\n };\n }\n\n private updateBulkNameEnquiryRequestPayload(payload: NameEnquiryBatchRequestPayload): NameEnquiryBatchRequestPayload {\n payload.userId = !this._loggedInUser ? '' : this._loggedInUser.UserId;\n return payload;\n }\n}\n\n\n","import { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { TransactionService } from './transaction.service';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { Observable } from 'rxjs';\n// import data from '../../../assets'\n@Injectable({\n providedIn: 'root'\n})\nexport class MockService {\n\n constructor(private _accountService: AccountService, private _transactionService: TransactionService,\n private _httpClient: HttpClient,private _settings: AppConfigService) {\n\n\n }\n\n loadTransactionsForAccount( ): Observable {\n return this._httpClient.get('../../assets/json/data.json' );\n }\n\n loadPensionRemittanceBatchInfo( ): Observable {\n return this._httpClient.get('../../assets/json/batchData.json' );\n }\n getBulkPensionPayments( ): Observable {\n return this._httpClient.get('../../../assets/bulk-pension-mock.json' );\n }\n getTransactionHistory():Observable{\n return this._httpClient.get('../../../assets/json/tranHistory.json');\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { PendingNameEnquiryBatchResponse, BatchTransactionsResponse, PendingNameEnquiryBatchInfoResponse } from '../models/payloads/transactions';\nimport { AuthService } from './auth.service';\nimport { Observable } from 'rxjs';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\n\n@Injectable()\nexport class NameEnquiryService {\n\n\n private _apiBaseUrl: string;\n\n constructor(_settings: AppConfigService, private _httpClient: HttpClient, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n getPendingNameEnquiryBatches(payload: any): Promise {\n const requestPayload = this.updatePendingNameEnquiryRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/GetTransferBatches `, requestPayload)\n .toPromise();\n }\n\n getBatchNameEnquiryTransactions(payload: any): Promise {\n const requestPayload = this.updatePendingNameEnquiryRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/GetBatchTransaction `, requestPayload)\n .toPromise();\n }\n\n getPendingNameEnquiryBatchInfo(batchId: any): Promise {\n const requestPayload = this.updatePendingNameEnquiryRequestPayload({});\n requestPayload['BatchId'] = batchId;\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/GetBatchDetails `, requestPayload)\n .toPromise();\n }\n\n getPendingNameBatchStatus(batchId: any): Promise {\n const requestPayload = this.updatePendingNameEnquiryRequestPayload({});\n requestPayload['BatchId'] = batchId;\n return this._httpClient.post(\n `${this._apiBaseUrl}/TransactionManagement/GetBatchStatus `, requestPayload)\n .toPromise();\n }\n\n\n deleteBatch(batchIds: Array): Observable {\n const loggedInUser = this._authService.getLoggedInUser();\n const payload = {batchIds: batchIds, UserId: loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : ''};\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.REMOVE_TRANSACTIONS_BATCH}`, payload);\n }\n private updatePendingNameEnquiryRequestPayload(payload) {\n payload['UserId'] = this._authService.getLoggedInUser().UserId;\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CardFundingRequestResponse } from '../models/card.models';\nimport { HttpClient } from '@angular/common/http';\nimport { AuthService } from './auth.service';\nimport { AppConfigService } from './appconfig.service';\nimport { Observable } from 'rxjs';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { PensionFileRequestResponse, PensionFileRecordsRequestResponse, StagedPendingPensionPaymentResponse } from '../models/pension-remittance';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PensionService {\n\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _authService: AuthService, private _settings: AppConfigService) {\n this._apiBaseUrl = _settings.pensionAPIBaseUrl;\n }\n\n getPensionFiles(pageSize: number, lastRecordIdFetched: number): Observable {\n const requestPayload = this.updateRequestPayload({ PageSize: pageSize, LastRecordIdFetched: lastRecordIdFetched });\n console.log(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GetPensionFileInfo}`, requestPayload);\n }\n private updateRequestPayload(payload, hasUserIdProperty = false) {\n const loggedInUser = this._authService.getLoggedInUser();\n if (hasUserIdProperty) {\n payload['UserId'] = loggedInUser && loggedInUser.UserId.trim() ? loggedInUser.UserId.trim() : '';\n return payload;\n }\n payload['InitiatorUserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n getPensionRecords(payload): Observable {\n // const requestPayload = this.updateRequestPayload({ PageSize: pageSize, LastRecordIdFetched: lastRecordIdFetched, fileId: fileId }, true);\n // console.log(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GetPensionRecords}`, payload);\n }\n stageBulkPensionRequest(requestPayload): Observable {\n const newRequestPayload = this.updateRequestPayload(requestPayload, true);\n console.log(newRequestPayload);\n // return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.StagePensionFile}`, newRequestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.StagePensionFile}`, newRequestPayload);\n\n }\n getStagedPaymentTransactions(pageSize: number, lastRecordIdFetched: number): Observable {\n const loggedInUser = this._authService.getLoggedInUser();\n\n const requestPayload = this.updateRequestPayload({pageSize: pageSize, LastRecordIdFetched: lastRecordIdFetched }, true);\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GetPendingItemsForApprovals}`, requestPayload);\n\n }\n approvePendingPaymentRequest(payload){\n const requestPayload = this.updateRequestPayload(payload,true)\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.ApprovePensionFile}`, requestPayload);\n\n }\n\n getApprovedPensionFiles(pageSize: number, lastRecordIdFetched: number): Observable {\n const requestPayload = this.updateRequestPayload({ PageSize: pageSize, LastRecordIdFetched: lastRecordIdFetched });\n console.log(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GetApprovedPensionFiles}`, requestPayload);\n }\n\n rejectPendingPaymentRequest(payload): Observable {\n const requestPayload = this.updateRequestPayload(payload,true);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.RejectPensionFile}`, requestPayload);\n\n }\n StagePensionFileFromConflict(payload): Observable{\n const requestPayload = this.updateRequestPayload(payload,true);\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.StagePensionFileFromConflict}`, requestPayload);\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AuthService } from './auth.service';\nimport { CardFundingRequest, CardFundingRequestResponse } from '../models/card.models';\nimport { AppConfigService } from './appconfig.service';\n\n@Injectable()\nexport class CardService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _authService: AuthService, private _settings: AppConfigService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n getPrepaidCardDetails(customerId: string, cardType: string): Observable {\n const requestPayload = this.updateRequestPayload({customerId: customerId, cardType: cardType});\n console.log(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GET_PREPAID_CARD_DETAILS}`, requestPayload);\n }\n\n fundPrepaidCard(paylod: CardFundingRequest): Observable {\n paylod = this.updateCardFundingRequestPayload(paylod);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.FUND_PREPAID_CARD}`, paylod);\n }\n\n\n\n private updateRequestPayload(payload) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['userId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n\n private updateCardFundingRequestPayload(payload: CardFundingRequest) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['userId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n payload.sessionId = loggedInUser['SessionId'] ? loggedInUser['SessionId'] : ' ';\n payload.cif = loggedInUser['CifId'] ? loggedInUser['CifId'] : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StorageService } from './storage.service';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport {\n TransferHistoryRequestPayload, TransferHistoryRequestResponse,\n TransferTransactionDetailRequestResponse, SchedulePaymentRequestPayload, SchedulePaymentResponse,\n StopSchedulePaymentRequestPayload\n} from '../models/transactions/transaction';\nimport { Constants } from '../helpers/appConstants';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AuthService } from './auth.service';\nimport { AppUser } from '../models/auth';\nimport { UtilService } from './helpers.service';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\n\n@Injectable()\nexport class ReceiptService {\n\n private _apiBaseUrl: string;\n private _transactionsAPIBase: string;\n private _receiptsUrl: string;\n private _loggedInUser: AppUser;\n constructor(private _storageService: StorageService, _settings: AppConfigService, private _httpClient: HttpClient,\n private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._transactionsAPIBase = `${this._apiBaseUrl}/TransactionManagement`;\n this._receiptsUrl = `${this._transactionsAPIBase}/GetTransferHistoryForReceipt`;\n this._loggedInUser = _authService.getLoggedInUser();\n }\n\n\n getTransactionsHistoryForReceipts(payload: TransferHistoryRequestPayload): Promise {\n\n\n // const requestPayload = this.buildTransactionsReceiptPayload(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.TRANSFER_HISTORY_RECEIPT}`, payload).toPromise();\n }\n\n getTransactionDetails(trnsRefId, paymentRefId, transactionType): Promise {\n const requestPayload = this.buildTransactionDetailRequestPayload(trnsRefId, paymentRefId, transactionType);\n return this._httpClient.post\n (`${this._transactionsAPIBase}/GetTransactionDetailsForReceipt`, requestPayload).toPromise();\n }\n\n\n getScheduledPayments(payload: SchedulePaymentRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SCHEDULED_PAYMENTS}`, payload).toPromise();\n }\n\n\n\n\n stopScheduledPayment(payload: StopSchedulePaymentRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.STOP_SCHEDULE_TRANSACTION}`, payload).toPromise();\n }\n\n\n private buildTransactionsReceiptPayload(payload: TransferHistoryRequestPayload): any {\n\n\n return {\n EndDate: payload.EndDate,\n SessionId: UtilService.generateSessionId(),\n StartDate: payload.StartDate,\n UserId: this._loggedInUser && this._loggedInUser['UserId'] ? this._loggedInUser.UserId : '',\n transactionType: payload.transactionType\n };\n }\n\n private buildTransactionDetailRequestPayload(trnsRefId, paymentRefId, transactionType) {\n return {\n UserId: this._loggedInUser && this._loggedInUser['UserId'] ? this._loggedInUser.UserId : '',\n transactionType: transactionType,\n RequestId: trnsRefId,\n TransactionId: paymentRefId\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { StagedTransfer } from '../models/transfer';\nimport { _mocktransferData, _mockPaymentApprovalHistory } from '../models/mocks/_transfers.mock';\nimport { FileUploadApprovalRequest } from '../models/approval-requests';\nimport { _mockFileUploadsData } from '../models/mocks/_fileuploads.mock';\nimport { BeneficiaryMgtApprovalRequest } from '../models/beneficiary';\nimport { _mockBeneficiaryData } from '../models/mocks/_beneficiaries.mock';\nimport { BillerMgtApprovalRequest } from '../models/biller';\nimport { _mockBillersManagementData } from '../models/mocks/_billers.mock';\nimport { PaymentApprovalDetail, Approval, RequestApprovalHistoryResponse } from '../models/approvals/payment.approval';\n\n@Injectable()\nexport class StagedRequestService {\n\n _requestStagingAPIBase: string;\n constructor(private _settings: AppConfigService, private _httpClient: HttpClient) {\n this._requestStagingAPIBase = _settings.APIBaseUrl;\n }\n\n getStagedPaymentRequest(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.getMockPaymentRequests());\n }, 500);\n });\n }\n\n getStagedBeneficiaryApprovalsRequests(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.getMockBeneficiaryApprovalRequests());\n }, 500);\n });\n }\n\n getStagedBillerApprovalsRequests(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.getMockBillerApprovalRequests());\n }, 500);\n });\n }\n\n getStagedBillerPaymentRequest(): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve([]);\n }, 500);\n });\n }\n\n getStagedServiceRequests(): Promise {\n return new Promise((resolve, reject) => {\n\n });\n }\n\n makePaymentApprovalRequest(payload: StagedTransfer): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(payload);\n }, 500);\n });\n }\n\n makePaymentApprovalRecallRequest(payload: StagedTransfer): Promise {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve({});\n }, 500);\n });\n }\n\n getStagedPaymentRequestDetail(referenceId: string, request: StagedTransfer = {} as StagedTransfer): Promise {\n return new Promise((resolve, reject) => {\n resolve({\n referenceId: request.referenceId,\n transactionType: request.transactionType,\n transactionCurrency: 'NGN',\n transactionDate: request.transactionDate,\n transactionStatus: request.status,\n receipientReference: 'Sbassey consult',\n sourceAccount: 'Account Name',\n frequencyType: request.frequency,\n network: 'Within-Bank',\n beneficiaryType: 'Oneoff-ThirdParty',\n beneficiaryDescription: 'N/A',\n amount: request.totalAmount.toString(),\n senderReference: 'My_Ref',\n nextAuthorizer: 'NextApproverId',\n markedForStop: false\n });\n });\n }\n\n private getMockPaymentRequests(): Array {\n return _mocktransferData['oneoff'] as Array;\n }\n private getMockFileUploadRequests(): Array {\n return _mockFileUploadsData as Array;\n }\n\n private getMockBeneficiaryApprovalRequests(): Array {\n return _mockBeneficiaryData as Array;\n }\n private getMockBillerApprovalRequests(): Array {\n return _mockBillersManagementData as Array;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { BranchListResponse } from '../../models/service-request/branch';\nimport { ChequeBookRequestresponse, ServiceRequestPayload } from '../../models/service-request/chequebook';\nimport { RequestResponse } from '../../models/account';\nimport { AuthService } from '../auth.service';\nimport { AppUser } from '../../models/auth';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { Observable } from '../../../../../node_modules/rxjs';\nimport {environment} from '../../../../environments/environment';\n\n@Injectable()\nexport class RequestService {\n\n environment = environment.deleteBeneficiaryBaseURL;\n private _apiBaseUrl: string;\n private _loggedInUser: AppUser;\n constructor(private _httpClient: HttpClient, private _authService: AuthService, settings: AppConfigService) {\n this._apiBaseUrl = settings.APIBaseUrl;\n this._loggedInUser = _authService.getLoggedInUser();\n }\n\n loadBranchList(): Promise {\n const loggedUser = this._authService.getLoggedInUser();\n return this._httpClient\n .post(\n `${this._apiBaseUrl}/AccountManagement/GetBranchList`,\n { UserId: loggedUser ? loggedUser.UserId : \"\" }\n )\n .toPromise();\n }\n\n\n\n logRetailServiceRequest(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LOG_SERVICE_REQUEST}`,\n payload);\n }\n\n getActiveCards(accountNumber: any): Observable {\n const payload = {\n 'AccountNumber': accountNumber\n };\n return this._httpClient.post(`${this.environment}/AccountManagement/GetActiveCards`, payload);\n }\n\n\n // logRetailServiceRequest(payload, requestType: string): Observable {\n // const requestPayload = this.buildServiceRequestPayload(requestType, payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LOG_SERVICE_REQUEST}`,\n // requestPayload);\n // }\n\n // sendChequeBookRequest(payload): Promise {\n // const requestPayload = this.buildServiceRequestPayload('REQUEST_CHEQUE_BOOK', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.LOG_SERVICE_REQUEST}`,\n // requestPayload)\n // .toPromise();\n // }\n\n // sendStopChequeRequest(payload: any): Promise {\n // const requestPayload = this.buildServiceRequestPayload('STOP_CHEQUE', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/InitiateServiceRequest`,\n // requestPayload).toPromise();\n // }\n\n // sendComplaintRequest(payload): Promise {\n // const requestPayload = this.buildServiceRequestPayload('CUSTOMER_COMPLAINT', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/InitiateServiceRequest`, requestPayload)\n // .toPromise();\n // }\n\n // sendAccountFreezeRequest(payload): Promise {\n // const requestPayload = this.buildServiceRequestPayload('FREEZE_ACCOUNT', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/InitiateServiceRequest`, requestPayload)\n // .toPromise();\n // }\n\n // sendNewCardRequest(payload): Promise {\n // const requestPayload = this.buildServiceRequestPayload('REQUEST_CARD', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/InitiateServiceRequest`, requestPayload)\n // .toPromise();\n // }\n\n // sendChangeAccountNameRequest(payload): Promise {\n // const requestPayload = this.buildServiceRequestPayload('MODIFY_ACCOUNT', payload);\n // return this._httpClient.post(`${this._apiBaseUrl}/AccountManagement/InitiateServiceRequest`, requestPayload)\n // .toPromise();\n // }\n\n private buildServiceRequestPayload(serviceName, payload): ServiceRequestPayload {\n return {\n RequestType: serviceName,\n UserId: this._loggedInUser && this._loggedInUser.UserId ? this._loggedInUser.UserId : '',\n SessionId: this._loggedInUser && this._loggedInUser.SessionId ? this._loggedInUser.SessionId : '',\n RequestPayLoad: JSON.stringify(payload)\n };\n }\n}\n","import { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigService } from './appconfig.service';\nimport { UnscheduledRepaymentGetBalance } from '../models/unschedulepayment/uscheduledRepaymentgetBalance';\nimport { GetOutStandingTenure } from '../models/unschedulepayment/unscheduledGetOuStandingTenure';\nimport { MakeUscheduledRepaymentRequest } from '../models/unschedulepayment/makeUnscheduleRepaymentRequest';\nimport { UnscheduleRepaymentResponse } from '../models/unschedulepayment/makeUscheduledRepaymentResponse';\nimport { InitiateOtpResponseUnscheduledRepayment } from '../models/unschedulepayment/InitiateOtpResponseUnscheduledRepayment';\nimport { InitiateOtpRequestUnscheduledRepayment } from '../models/unschedulepayment/InitiateOtpRequestUnscheduledRepayment';\nimport { ShippingBillers, ShippingBillersData } from '../models/shipping-billers';\n\n@Injectable()\nexport class ShippingPaymentService {\n\n private _apiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, private _settingsService: AppConfigService) {\n this._apiBaseUrl = this._settingsService.ShippingBillersBaseUrl;\n //this._apiBaseUrl = 'https://mobile.stanbicibtc.com/BillPayments/api/MB/GetAlternateCorporateBillers'\n }\n getShippingBillers(): Observable{\n //z return this._httpClient.get(`${this._apiBaseUrl}`);\n return this._httpClient.get(`${this._apiBaseUrl}`);\n }\n\n}\n\n\n\n","import { Injectable, NgZone } from '@angular/core';\nimport * as signalR from \"@aspnet/signalr\";\nimport { AuthService } from './auth.service';\nimport { AppConfigService } from './appconfig.service';\n\n@Injectable()\nexport class SignalRService {\n\n public hubConnection: signalR.HubConnection;\n\n public startConnection = () => {\n this.hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(AppConfigService.SignalRURL)\n .configureLogging(signalR.LogLevel.Debug)\n .build();\n\n this.hubConnection.start()\n .then(() => {\n console.log(\"Connection established\");\n AuthService.signalRConnectionOpened = true;\n })\n .catch(err => console.log(\"Error while starting connection: \" + err));\n }\n\n public stopConnection = (): Promise => {\n\n return this.hubConnection.stop()\n .then(() => {\n console.log(\"Connection destroyed\");\n AuthService.signalRConnectionOpened = false;\n return Promise.resolve(\"\");\n })\n .catch(err => {\n console.log(\"Error destroying connection: \" + err);\n AuthService.signalRConnectionOpened = false;\n return Promise.reject(err);\n });\n }\n\n public AddSessionOnConnectionMadeListener = (userId: string) => {\n let self = this;\n this.hubConnection.on(\"AddSessionOnConnectionMade\", () => {\n self.hubConnection.invoke(\"LoginAndTerminateOtherUserSessions\", userId)\n .catch(err => console.log(\"Error while calling LoginAndTerminateOtherUserSessions on the server on reconnection: \" + err));\n });\n }\n\n public AllUserSessionsTerminatedExceptSelfListener = () => {\n let self = this;\n this.hubConnection.on(\"AllUserSessionsTerminatedExceptSelf\", (message) => {\n console.log(message);\n });\n }\n\n public LogoutSessionMethodListener = () => {\n let self = this;\n // this.hubConnection.on(\"LogoutSession\", () => {\n // console.log(\"logout user session via eventhandler.\");\n // EventHandlerService.emitSignalRSeesionLogoutEvent();\n\n // self.stopConnection()\n // .then(() => {\n // // self.router.navigate([RouterConstants.LoginURL]);\n // // self.ngZone.run(() => self.router.navigate([RouterConstants.LoginURL]));\n // })\n // .catch(err => {\n // console.log(\"Error stopping Connection on logout call from server: \" + err);\n // });\n // });\n }\n\n public ReAddSessionConnectionIdListener = (userId: string) => {\n let self = this;\n this.hubConnection.on(\"ReAddSessionConnectionId\", () => {\n self.hubConnection.invoke(\"ReAddSessionConnection\", userId)\n .catch(err => console.log(\"Error while calling ReAddSessionConnection on the server: \" + err));\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SssBankingTagRequestPayload } from '../models/sss-banking.model';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { AuthService } from './auth.service';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport { BeneficiaryListRequestResponse } from '../models/payloads/beneficiaries';\n\n@Injectable()\nexport class SssBankingTagService {\n\n private _apiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n saveTag(payload: SssBankingTagRequestPayload):Observable {\n const requestPayload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.MANAGE_SSS_BANKING_COMMAND}`, requestPayload);\n }\n\n doEnquiry(tagName: string, phoneNumber: string): Observable {\n let requestPayload = {phoneNumber: phoneNumber, nickName: tagName};\n requestPayload = this.updateRequestPayload(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SSS_BANKING_NAME_ENQUIRY}`, requestPayload);\n }\n\n manageSSSBankingCommand(payload): Observable {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.MANAGE_SSS_BANKING_COMMAND}`, payload);\n }\n\n getSSSBankingTags(phoneNumber: string, transactionType: string): Observable {\n const payload = this.updateRequestPayload({phoneNumber: phoneNumber, transactionType: transactionType});\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.GET_SSS_BANKING_COMMANDS}`, payload);\n }\n\n private updateRequestPayload(payload: any) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['cifId'] = loggedInUser && loggedInUser.CifId ? loggedInUser.CifId : '';\n payload['userId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { BeneficiaryWorkflowSelectionRequestPayload } from '../../models/payloads/beneficiaries';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { StagedBeneficiaryRequestReponse } from '../../models/beneficiary';\nimport { Role } from '../../models/user/AppUser';\n\n@Injectable()\nexport class BeneficiaryStagingService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n setBeneficiaryCreateApproval(payload: BeneficiaryWorkflowSelectionRequestPayload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.SET_BENEFICIARY_CREATE_APPROVAL_WORKFLOW}`, payload)\n .toPromise();\n }\n\n getStagedBeneficiaryRequests(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_STAGED_BENEFICIARY_REQUEST}`, payload).toPromise();\n }\n getStagedBeneficiaryUpdateRequests(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_STAGED_BENEFICIARY_UPDATE_REQUEST}`, payload).toPromise();\n }\n setBeneficiaryMgtOperationApprovalWorkflow(payload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.SET_BENEFICIARY_UPDATE_APPROVAL_WORKFLOW}`, payload).toPromise();\n }\n\n private updateApprovalWorkflowRequestPayload(payload: any): any {\n payload.UserId = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return payload;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { BillerOperationWorkflowSelectionPayload } from '../../models/payloads/beneficiaries';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { AuthService } from '../auth.service';\nimport { StagedBillerOperationRequestReponse } from '../../models/beneficiary';\nimport { Role } from '../../models/user/AppUser';\n\n@Injectable()\nexport class BillerStagingService {\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n setBillerOperationApprovalWorkflow(payload: BillerOperationWorkflowSelectionPayload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.SET_BILLER_OPERATION_APPROVAL_WORKFLOW}`, payload)\n .toPromise();\n }\n\n getStagedBillerOperationRequests(payload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n const loggedInUser = this._authService.getLoggedInUser();\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.GET_STAGED_BILLER_OPERATIONS_REQUEST}`, payload\n ).toPromise();\n }\n private updateApprovalWorkflowRequestPayload(payload: any): any {\n payload.UserId = AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { AuthService } from '../auth.service';\nimport {\n SMETransferResponsePayload, WorkflowSelectionRequestPayload,\n BillPaymentRequestPayload, StagedBillPaymentRequestResponse\n} from '../../models/payloads/transactions';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { Role } from '../../models/Enumerations';\n\n@Injectable()\nexport class PaymentStagingService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n initiateBillPayment(payload: BillPaymentRequestPayload): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INITIATE_BILLPAYMENT}`, payload)\n .toPromise();\n }\n\n setBillPaymentRequestApprovalWorkflow(payload: WorkflowSelectionRequestPayload): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n if (this._settings.UseMockData) {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve({\n ResponseCode: '00',\n ResponseDescription: 'success',\n ResponseFriendlyMessage: 'selected workflow has been successfully saved. Approval request sent'\n });\n }, 1000);\n });\n }\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SET_BILLPAYMENT_APPROVAL_WORKFLOW}`,\n payload).toPromise();\n }\n\n getStagedBillPaymentsRequest(payload): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n const loggedInUser = this._authService.getLoggedInUser();\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_BILLPAYMENT_APPROVAL_REQUESTS}`, payload)\n .toPromise();\n }\n\n private updateRequestPayloadWithUserId(payload: any): any {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { AppUser } from '../../models/auth';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { SMETransferResponsePayload } from '../../models/payloads/transactions';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { StagedServiceRequestResponse } from '../../models/service-request/misc-models';\nimport { Role } from '../../models/Enumerations';\n\n@Injectable()\nexport class RequestStagingService {\n\n private _apiBaseUrl: string;\n private _loggedInUser: AppUser;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._loggedInUser = this._authService.getLoggedInUser();\n }\n\n stageServiceRequest(payload): Promise {\n payload = this.uploadRequestPayloadWithUserId(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.STAGE_SERVICE_REQUEST}`, payload)\n .toPromise();\n }\n setServiceRequestApprovalWorkflow(payload): Promise {\n payload = this.uploadRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.SET_SERVICE_REQUEST_APPROVAL_WORKFLOW}`, payload)\n .toPromise();\n }\n\n getStagedServiceRequestApprovalRequest(payload): Promise {\n const _loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = _loggedInUser && _loggedInUser.UserId ? this._loggedInUser.UserId : '';\n if (_loggedInUser && _loggedInUser.Role && _loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.GET_STAGED_SERVICEREQUEST_APPROVAL_REQUEST}`, payload)\n .toPromise();\n }\n\n private uploadRequestPayloadWithUserId(payload) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser ? loggedInUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { BulkTransferStagingRequestPayload } from '../../models/transfer';\nimport { AuthService } from '../auth.service';\nimport {\n SMETransferResponsePayload, WorkflowSelectionRequestPayload,\n StagedBulkPaymentBatchResponse,\n BatchTransactionsResponse,\n SinglePaymentWorkflowSelectionRequestPayload,\n StagedPaymentRequestResponse,\n StagedInternationalPaymentRequestResponse,\n StagedWesternUnionRedemptionRequestResponse\n} from '../../models/payloads/transactions';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { Role } from '../../models/Enumerations';\n\n@Injectable()\nexport class TransferStagingService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n stageBulkTransferRequest(payload: BulkTransferStagingRequestPayload): Promise {\n payload = this.updateBulkTransferStagingPayload(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.STAGE_BATCH_TRANSFER}`,\n payload).toPromise();\n }\n\n setBulkTransferApprovalWorkflow(payload: WorkflowSelectionRequestPayload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n if (this._settings.UseMockData) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve({\n ResponseCode: '00',\n ResponseDescription: 'success',\n ResponseFriendlyMessage: 'selected workflow has been successfully saved. Approval request sent'\n });\n }, 1000);\n });\n }\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SET_BATCH_TRANSFER_APPROVAL_WORKFLOW}`,\n payload).toPromise();\n }\n\n setSingleTransferApprovalWorkflow(payload: SinglePaymentWorkflowSelectionRequestPayload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n if (this._settings.UseMockData) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve({\n ResponseCode: '00',\n ResponseDescription: 'success',\n ResponseFriendlyMessage: 'selected workflow has been successfully saved. Approval request sent'\n });\n }, 1000);\n });\n }\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.SET_SINGLE_TRANSFER_APPROVAL_WORKFLOW}`,\n payload).toPromise();\n }\n setWesternUnionRedemptionApprovalWorkflow(payload: SinglePaymentWorkflowSelectionRequestPayload): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n if (this._settings.UseMockData) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve({\n ResponseCode: '00',\n ResponseDescription: 'success',\n ResponseFriendlyMessage: 'selected workflow has been successfully saved. Approval request sent'\n });\n }, 1000);\n });\n }\n return this._httpClient.post(`\n ${this._apiBaseUrl}/${ApiURLConstants.SET_WESTERN_UNION_REDEMPTION_APPROVAL_WORKFLOW}`, payload).toPromise();\n }\n setInternationalTransferApprovalWorkflow(payload: any): Promise {\n payload = this.updateApprovalWorkflowRequestPayload(payload);\n if (this._settings.UseMockData) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve({\n ResponseCode: '00',\n ResponseDescription: 'success',\n ResponseFriendlyMessage: 'selected workflow has been successfully saved. Approval request sent'\n });\n }, 1000);\n });\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.SET_INTERNATIONAL_TRANSFER_APPROVAL_WORKFLOW}`, payload)\n .toPromise();\n }\n\n setMultipleTransferApprovalWorkflow(payload: any): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.SET_MULTIPLE_BENEFICIARY_TRANSFER_APPROVAL_WORKFLOW}`, payload)\n .toPromise();\n }\n\n getStagedBulkPayments(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser ? loggedInUser.UserId : '';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_BULK_APPROVAL_REQUEST}`, payload).toPromise();\n }\n getStagedBulkPaymentTransactions(payload: any): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.GET_BATCH_TRANSACTIONS}`, payload)\n .toPromise();\n }\n\n getStagedPaymentRequest(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser ? loggedInUser.UserId : '';\n payload['OperationType'] = 'SELF_TRANSFER';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_SINGLE_APPROVAL_REQUEST}`, payload).toPromise();\n }\n\n getStagedInternationalPaymentRequest(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser ? loggedInUser.UserId : '';\n payload['OperationType'] = 'INTERNATIONAL_TRANSFER';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_INTERNATIONAL_PAYMENT_APPROVAL_REQUEST}`, payload).toPromise();\n }\n\n getPendingWesternUnionRedemptionRequest(payload): Promise {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser ? loggedInUser.UserId : '';\n if (loggedInUser && loggedInUser.Role && loggedInUser.Role.roles.includes(Role.Initiator)) {\n payload['ForInitiator'] = true;\n }\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.GET_PENDING_WESTERN_UNION_REDEMPTION_REQUESTS}`, payload).toPromise();\n }\n private updateBulkTransferStagingPayload(payload: BulkTransferStagingRequestPayload): BulkTransferStagingRequestPayload {\n payload.userId = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return payload;\n }\n\n private updateApprovalWorkflowRequestPayload(payload: any): any {\n payload.UserId = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class StorageService {\n\n constructor() {}\n\n add(obj: T, storeKey: string): boolean {\n const existingOject = localStorage.getItem(storeKey);\n if (!existingOject) {\n const store = Array();\n const x = store.push(obj);\n localStorage.setItem(storeKey, JSON.stringify(store));\n return x > 0;\n }\n const existingObjArray = JSON.parse(existingOject) as T[];\n const lengthBeforeAdd = existingObjArray.length;\n existingObjArray.push(obj);\n localStorage.setItem(storeKey, JSON.stringify(existingObjArray));\n return existingObjArray.length > lengthBeforeAdd;\n }\n\n getAll(key: string): T[] {\n try {\n const tStore = localStorage.getItem(key);\n if (!tStore) {\n return [];\n }\n const ts = JSON.parse(tStore) as T[];\n return ts;\n } catch (error) {\n console.log(`Error occured retriving store with key ${key} -> `, error);\n throw error;\n }\n }\n\n updateItem(storeKey: string, entityKey: any, keyVal: any, updatedT: T): boolean {\n\n const tStore = this.getAll(storeKey);\n if (!tStore || tStore.length < 1) {\n return false;\n }\n const tTobeUpdatedPos = tStore.findIndex(t => t[entityKey] === keyVal);\n if (tTobeUpdatedPos === -1) {\n return false;\n }\n tStore[tTobeUpdatedPos] = updatedT;\n localStorage.setItem(storeKey, JSON.stringify(tStore));\n return true;\n }\n\n removeItem(storeKey: string, keyProp: string, value: any): boolean {\n const ts = this.getAll(storeKey);\n const indexOfT = ts.findIndex(t => t[keyProp] === value);\n if (indexOfT === -1) {\n console.log(`Remove Item from store ${storeKey} -: could not find any record with ${keyProp} ${value} on store ${storeKey}`);\n return false;\n }\n ts.splice(indexOfT, 1);\n localStorage.removeItem(storeKey);\n localStorage.setItem(storeKey, JSON.stringify(ts));\n return true;\n }\n\n save(key: string , obj: any): boolean {\n if (localStorage.getItem(key)) {\n localStorage.removeItem(key);\n }\n localStorage.setItem(key, JSON.stringify(obj));\n return localStorage.getItem(key) ? true : false;\n }\n\n saveRaw(key: string , nonObjData: string): boolean {\n if (localStorage.getItem(key)) {\n localStorage.removeItem(key);\n }\n localStorage.setItem(key, nonObjData);\n return localStorage.getItem(key) ? true : false;\n }\n\n find(key): any {\n return localStorage.getItem(key);\n }\n\n delete(key): boolean {\n localStorage.removeItem(key);\n return localStorage.getItem(key) ? false : true;\n }\n\n clearStore(storeKey: string) {\n const store = localStorage.getItem(storeKey);\n if (!store) {\n return true;\n }\n localStorage.removeItem(storeKey);\n return localStorage.getItem(storeKey) ? false : true;\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { StorageService } from \"./storage.service\";\nimport { Constants } from \"../helpers/appConstants\";\nimport { ApiURLConstants } from \"../helpers/apiURLConstants\";\n\nimport {\n TransactionListRequestPayload,\n TransactionListRequestResponse,\n TransactionDetailsRequestResponse,\n CorporateTransactionRequest,\n} from \"../models/payloads/transactions\";\n\nimport { TransactionModel } from \"../models/transactions/transaction\";\n\nimport { AppConfigService } from \"./appconfig.service\";\nimport { Observable, of } from \"../../../../node_modules/rxjs\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\nimport {\n LoanLimitRequestResponse,\n LoanLimitCheckRequest,\n} from \"../models/loan.request.model\";\nimport { BranchListResponse } from \"../models/service-request/branch\";\n\n@Injectable()\nexport class TransactionService {\n private _apiBaseUrl: string;\n private _transactionsAPIBaseUrl: string;\n _apiBaseUrl2: string;\n _transactionsAPIBaseUrl2: string;\n\n constructor(\n private _settings: AppConfigService,\n private _httpClient: HttpClient,\n private _storageService: StorageService\n ) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._apiBaseUrl2 = _settings.APIBaseUrl2;\n this._transactionsAPIBaseUrl = `${this._apiBaseUrl}/TransactionManagement`;\n this._transactionsAPIBaseUrl2 = `${this._apiBaseUrl2}/TransactionManagement`;\n }\n\n loadTransactionsForAccount(\n payload: TransactionListRequestPayload\n ): Observable {\n const requestPayload = this.buildTransactionsFetchPayload(payload.AccountNumber, payload.TransactionCount);\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.CustomerAccountTransactionsByCount}`,\n payload\n );\n // return of({\n // ResponseFriendlyMessage: 'sucess',\n // ResponseDescription: 'success',\n // ResponseCode: '00',\n // Transactions: [],\n // TransferHistoryLists:[]\n // })\n }\n\n loadAccountTransactionsByDate(\n payload: TransactionListRequestPayload\n ): Observable {\n // const requestPayload = this.buildTransactionsSearchPayload(accountNumber, startDate, endDate);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.CustomerAccountTransactionsByDate}`,\n payload\n );\n }\n\n loadCorporateTransactions(\n payload: CorporateTransactionRequest\n ): Observable {\n // const requestPayload = this.buildTransactionsSearchPayload(accountNumber, startDate, endDate);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.CorporateStaement}`,\n payload\n );\n }\n\n requestCorporateTransaction(\n payload: CorporateTransactionRequest\n ): Observable {\n // const requestPayload = this.buildTransactionsSearchPayload(accountNumber, startDate, endDate);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.RequestCorporateStaement}`,\n payload\n );\n }\n\n loadSalaryAdvanceLimit(\n payload: LoanLimitCheckRequest\n ): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_CASH_ADVANCE_LIMIT}`,\n payload\n );\n }\n\n loadUplLoanLimit(\n payload: LoanLimitCheckRequest\n ): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_UPL_LOAN_LIMIT}`,\n payload\n );\n }\n\n saveTransaction(transaction: TransactionModel): Promise {\n return new Promise((resolve, reject) => {\n const result = this._storageService.add(\n transaction,\n Constants.Store_trans\n );\n if (result) {\n resolve(result);\n } else {\n reject(\"failed to save transaction\");\n }\n });\n }\n\n getTransactions(): Promise {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(\n this._storageService.getAll(Constants.Store_trans)\n );\n }, 500);\n });\n }\n\n removeTransaction(transactionId: string): Promise {\n return new Promise((resolve) => {\n resolve(\n this._storageService.removeItem(\n Constants.Store_trans,\n \"transactionId\",\n transactionId\n )\n );\n });\n }\n\n private buildTransactionsFetchPayload(\n accountNumber: string,\n transactionCount\n ) {\n const userId = !this._storageService.find(Constants.User_Id)\n ? \"\"\n : this._storageService.find(Constants.User_Id);\n return {\n AccountNumber: accountNumber,\n TransactionCount: transactionCount,\n TransactionOwner: 0,\n UserId: userId,\n };\n }\n\n private buildTransactionsSearchPayload(accountNumber, startDate, endDate) {\n let userAuthData = this._storageService.find(Constants.Auth_Data);\n userAuthData = userAuthData ? JSON.parse(userAuthData) : userAuthData;\n const userId = !this._storageService.find(Constants.User_Id)\n ? \"\"\n : this._storageService.find(Constants.User_Id);\n return {\n AccountNumber: accountNumber,\n EndDate: endDate,\n StartDate: startDate,\n SessionId:\n userAuthData && userAuthData[\"SessionId\"]\n ? userAuthData[\"SessionId\"]\n : \"\",\n UserId: userId,\n };\n }\n\n loadBranchList(userId: string): Observable {\n // return of({\n // ResponseCode: '00',\n // ResponseDescription: 'Success',\n // ResponseFriendlyMessage: 'Successful response',\n // solIds: [{\n // branchState: 'string',\n // branchRegion: 'string',\n // branchId: 'string',\n // branchName: 'string'\n // }]\n // });\n return this._httpClient.post(\n `${this._apiBaseUrl}/AccountManagement/GetBranchList`,\n // https://devtest.stanbicibtc.com:7443/internet-banking/api/AccountManagement/GetBranchList\n { UserId: userId }\n );\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { StorageService } from './storage.service';\nimport {\n OneOffPaymentTransferRequestPayload, OneOffPaymentTransferRequestResponse, RemitaPaymentDetails, RRRLookupResponse\n} from '../models/transfer';\n\nimport {\n InternationalTransferRequestPayload, SMETransferResponsePayload, ServiceOperatorResponse,\n ServiceProviderProductResponse, AirtimeTopupRequestPayload, CurrencyConversionRequestPayload, CurrencyConversionResponse\n} from '../models/payloads/transactions';\n\n\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\nimport { AuthService } from './auth.service';\n\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport {\n TransferRequestPayload, TransferResponsePayload, NameEnquiryRequestPayload,\n InitiateEbillsRequestPayload, NameEnquiryRequestResponse, BillPaymentRequestPayload, WesternUnionRedemptionRequestPayload\n} from '../models/payloads/transactions';\n\nimport {\n BeneficiaryTransferRequestPayload, BeneficiaryTransferResponse,\n SMEBeneficiaryTranferResponse\n} from 'src/app/core/models/payloads/beneficiaries';\nimport { _workflowRules } from '../models/mocks/_workflow.mock';\nimport { Observable, of, ObservableInput } from '../../../../node_modules/rxjs';\nimport {environment} from '../../../environments/environment';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class TransferService {\n\n private airtimeBaseURL = environment.airtimeBaseURL;\n private _apiBaseUrl: string;\n private _apiBaseUrl2: string;\n private _transactionsAPIBase: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _storageService: StorageService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._apiBaseUrl2 = _settings.APIBaseUrl2;\n this._transactionsAPIBase = `${this._apiBaseUrl}/`;\n }\n\n\n\n checkIfTransferIsAllowedInTiming(): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.CHECK_CROSS_CURRENCY_TRANSFER_TIMING}`,\n { UserId: AuthService.FullyAuthenticatedUser.UserId },\n ).toPromise();\n }\n\n\n\n doTransfer(payload: TransferRequestPayload): Promise {\n https://mobile.stanbicibtc.com/api/TransactionManagement/Transfer\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.TRANSFER}`, payload\n ).toPromise();\n\n // return this._httpClient.post(`https://mobile.stanbicibtc.com/api/TransactionManagement/Transfer`, payload\n // ).toPromise();\n }\n\n doIntellinxTransfer(payload: TransferRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.ValidateIntellinxTransfer}`, payload\n ).toPromise();\n }\n\n doWesternUnionRedemption(payload: WesternUnionRedemptionRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.WESTERN_UNION_REDEMPTION}`, payload\n ).toPromise();\n }\n\n\n doAirtimeTopup(payload: any): Promise {\n return this._httpClient.post(`${this.airtimeBaseURL}Aggregator/GiveValue`, payload\n ).toPromise();\n }\n\n\n\n\n initiateTransfer(payload: TransferRequestPayload): Promise {\n if (this._settings.UseMockData) {\n return new Promise((r) => {\n r({\n amount: 0,\n transactionId: 'HDFYFGFUYF',\n ResponseCode: '70',\n ResponseFriendlyMessage: '',\n BatchId: '1',\n SelectionType: 'RULE',\n Rules: _workflowRules,\n ResponseDescription: ''\n\n });\n });\n }\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.INITIATE_SINGLE_TRANSFER}`, payload\n ).toPromise();\n }\n\n initiateInternationalTransfer(payload: InternationalTransferRequestPayload): Promise {\n if (this._settings.UseMockData) {\n return new Promise((r) => {\n r({\n amount: 0,\n transactionId: 'HDFYFGFUYF',\n ResponseCode: '70',\n ResponseFriendlyMessage: '',\n ResponseDescription: '',\n BatchId: '1',\n SelectionType: 'RULE',\n Rules: _workflowRules\n }\n );\n });\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INITIATE_INTERNATIONAL_TRANSFER}`, payload\n ).toPromise();\n }\n\n initiateWesternUnionRedemption(payload: WesternUnionRedemptionRequestPayload): Promise {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INITIATE_WESTERN_UNION_REDEMPTION}`, payload).toPromise();\n }\n\n FetchCurrencyConversionRate(payload: CurrencyConversionRequestPayload): Observable {\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.RateConversion}`, payload\n );\n }\n\n\n\n doNameEnquiry(payload: NameEnquiryRequestPayload): Observable {\n\n\n\n if (this._settings.UseMockData) {\n\n return of({\n NotificationAddress: null,\n NotificationType: null,\n QuestionDetailList: null,\n Reference: null,\n ResponseCode: \"00\",\n ResponseDescription: \"Request processed successfully\",\n ResponseFriendlyMessage: \"Request processed successfully\",\n SessionId: null,\n Token: \"IWB+ipyKXg/QZO+cRHmytF6lTDuAq6fSFgS8Nva9fXdoJdisVtE8s0mfyYu25A55ZKXpG6uNRFEpkLZ4+yfwHh920WeJlJX3lGELWfNsfnqBDenYFe+BL/hDWX+Rp4Ys\",\n destinationAccountName: \"OLADELE OLUWASEUN POPOOLA\",\n transactionId: null\n })\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.NameEnquiry}`, payload\n );\n }\n\n\n\n doVBNameEnquiry(payload: NameEnquiryRequestPayload): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.VBNameEnquiry}`, payload\n );\n }\n\n //DoVBNameEnquiry\n\n doRemitaNameEnquiry(payload: NameEnquiryRequestPayload, mockRRRDetails: boolean = true): Promise {\n\n\n if (this._settings.UseMockData || mockRRRDetails) {\n return new Promise((resolve) => {\n resolve({\n destinationAccountName: `$123##456##789##101##121##${payload.destinationAccountNo}`,\n ResponseCode: '00',\n ResponseDescription: 'GFSFSESCS109',\n ResponseFriendlyMessage: 'sucess. One time passcode sent to ********40',\n Reference: '000000000',\n NotificationType: 'SMS',\n NotificationAddress: '********40',\n transactionId: '108745766',\n QuestionDetailList: null\n });\n });\n }\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.NameEnquiry}`, payload\n ).toPromise();\n }\n\n doRemitaLookup(userId: string, rrr: string): Observable {\n\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.RemitaLookup}`, { UserId: userId, RRR: rrr }\n );\n }\n\n\n\n\n\n\n\n makeInternationalTransfer(payload: InternationalTransferRequestPayload): Promise {\n\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.INTERNATIONAL_TRANSFER}`,\n payload).toPromise();\n }\n\n\n makeMultipleBeneficiaryTransfer(payload: BeneficiaryTransferRequestPayload): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.MULTIPLE_BENEFICIARY_TRANSFER}`, payload);\n }\n\n initiateMultipleBeneficiaryTransfer(payload: BeneficiaryTransferRequestPayload): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INITIATE_MULTIPLE_BENEFICIARY_TRANSFER}`, payload);\n }\n\n doBillPayment(payload: BillPaymentRequestPayload): Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BILLPAYMENT}`, payload\n ).toPromise();\n }\n\n getBillCharges(): Observable {\n // Assuming you have the required body for the post request\n const body = {\n // Add properties required for the request body\n };\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.BILLCHARGES}`, body)\n .pipe(\n catchError(error => {\n // Handle errors here if necessary\n console.error('Error fetching bill charges:', error);\n throw error; // Rethrow the error to propagate it downstream\n })\n );\n }\n\n initiateEbillsPayment(payload: InitiateEbillsRequestPayload): Promise {\n\n // return this._httpClient.post(`${AppConfigService.EbillsApiURL}/${ApiURLConstants.INITIATE_EBILLS_PAYMENT}`, payload\n // ).toPromise();\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.INITIATE_EBILLS_PAYMENT}`, payload\n ).toPromise();\n }\n\n\n\n makeOneOffTransfer(payload: OneOffPaymentTransferRequestPayload): Promise {\n const requestPayload = this.buildOneOffTransferPayload(payload);\n return this._httpClient.post(`${this._transactionsAPIBase}/Transfer`, requestPayload\n ).toPromise();\n }\n\n private buildOneOffTransferPayload(payload: OneOffPaymentTransferRequestPayload): OneOffPaymentTransferRequestPayload {\n const userAuthData = AuthService.FullyAuthenticatedUser;\n payload.sessionId = userAuthData && userAuthData['SessionId'] ? userAuthData['SessionId'] : '';\n payload.userId = userAuthData && userAuthData.UserId ? userAuthData.UserId : '';\n return payload;\n }\n\n\n\n\n\n\n\n\n getServiceOperators(): Promise {\n return new Promise((resolve) => {\n resolve({\n ResponseCode: '00',\n Operators: [\n {\n operatorId: '_9MOBILE',\n operatorName: \"9mobile Recharge (E-Top Up)\"\n },\n {\n operatorId: 'AIRTEL',\n operatorName: \"Airtel Mobile Top-up (Prepaid)\"\n },\n\n {\n operatorId: 'GLO',\n operatorName: \"Glo QuickCharge (Top-up)\"\n },\n\n {\n operatorId: 'MTN',\n operatorName: \"MTN Direct Top-up (Prepaid)\"\n }\n ]\n });\n });\n }\n\n getServiceOperatorsProducts(): Promise {\n return new Promise((resolve) => {\n resolve({\n ResponseCode: '00',\n Products: [\n {\n operatorId: 'MTN',\n productId: 1,\n productCode: \"51617\",\n productName: \"MTN VTU 50\",\n isAmountFixed: 'Y',\n amount: 50\n },\n {\n operatorId: 'MTN',\n productId: 2,\n productCode: \"51617\",\n productName: \"MTN VTU 100\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 100\n },\n {\n operatorId: 'MTN',\n productId: 3,\n productCode: \"51617\",\n productName: \"MTN VTU 200\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 200\n },\n {\n operatorId: 'MTN',\n productId: 4,\n productCode: \"51617\",\n productName: \"MTN VTU 400\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 400\n },\n {\n operatorId: 'MTN',\n productId: 5,\n productCode: \"51617\",\n productName: \"MTN VTU 750\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 750\n },\n\n {\n operatorId: 'MTN',\n productId: 6,\n productCode: \"51617\",\n productName: \"MTN VTU 1500\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 1500\n },\n\n {\n operatorId: 'MTN',\n productId: 7,\n productCode: \"51617\",\n productName: \"MTN VTU 3000\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 3000\n },\n\n {\n operatorId: 'AIRTEL',\n productId: 1,\n productCode: \"51617\",\n productName: \"Airtel MTU 50\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 50\n },\n\n {\n operatorId: 'AIRTEL',\n productId: 2,\n productCode: \"51617\",\n productName: \"Airtel MTU 100\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 100\n },\n\n {\n operatorId: 'AIRTEL',\n productId: 3,\n productCode: \"51617\",\n productName: \"Airtel MTU 200\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 200\n },\n\n {\n operatorId: 'AIRTEL',\n productId: 4,\n productCode: \"51617\",\n productName: \"Airtel MTU 500\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 500\n },\n\n {\n operatorId: 'AIRTEL',\n productId: 5,\n productCode: \"51617\",\n productName: \"Airtel MTU 1000\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 1000\n },\n\n {\n operatorId: '_9MOBILE',\n productId: 1,\n productCode: \"51617\",\n productName: \"9mobile 50\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 50\n },\n\n {\n operatorId: '_9MOBILE',\n productId: 2,\n productCode: \"51617\",\n productName: \"9mobile 100\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 100\n },\n {\n operatorId: '_9MOBILE',\n productId: 3,\n productCode: \"51617\",\n productName: \"9mobile 200\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 200\n },\n\n {\n operatorId: '_9MOBILE',\n productId: 4,\n productCode: \"51617\",\n productName: \"9mobile 500\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 500\n },\n\n {\n operatorId: '_9MOBILE',\n productId: 5,\n productCode: \"51617\",\n productName: \"9mobile 1000\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 1000\n },\n\n {\n operatorId: '_GLO',\n productId: 1,\n productCode: \"51617\",\n productName: \"GLO 100\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 100\n },\n {\n operatorId: '_GLO',\n productId: 2,\n productCode: \"51617\",\n productName: \"GLO 150\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 150\n },\n {\n operatorId: '_GLO',\n productId: 3,\n productCode: \"51617\",\n productName: \"GLO 200\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 200\n },\n {\n operatorId: '_GLO',\n productId: 4,\n productCode: \"51617\",\n productName: \"GLO 400\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 400\n },\n {\n operatorId: '_GLO',\n productId: 5,\n productCode: \"51617\",\n productName: \"GLO 750\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 750\n },\n {\n operatorId: '_GLO',\n productId: 6,\n productCode: \"51617\",\n productName: \"GLO 1500\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 1500\n },\n {\n operatorId: '_GLO',\n productId: 7,\n productCode: \"51617\",\n productName: \"GLO 3000\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'Y',\n amount: 3000\n },\n\n {\n operatorId: 0,\n productId: 100,\n productCode: \"51617\",\n productName: \"Specify amount\",\n paymentCurrency: \"NGN\",\n isAmountFixed: 'N',\n amount: 0\n }\n ]\n });\n });\n }\n\n\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from './appconfig.service';\nimport { StorageService } from './storage.service';\nimport { TransferRequestPayload, TransferResponsePayload } from '../models/payloads/transactions';\nimport { OneOffPaymentTransferRequestPayload } from '../models/transfer';\nimport { AuthService } from './auth.service';\nimport { ApiURLConstants } from '../helpers/apiURLConstants';\n\n@Injectable()\nexport class WalletTransferService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService, private _storageService: StorageService,\n private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n doTransfer(payload: OneOffPaymentTransferRequestPayload): Promise {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.WALLET_TRANSFER}`, payload\n ).toPromise();\n }\n\n private updateRequestPayload(payload: OneOffPaymentTransferRequestPayload): OneOffPaymentTransferRequestPayload {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['sessionId'] = loggedInUser && loggedInUser['SessionId'] ? loggedInUser['SessionId'] : '';\n payload['userId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n\n}\n","import { Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AppConfigService } from '../appconfig.service';\nimport { UnscheduledRepaymentGetBalance } from '../../models/unschedulepayment/uscheduledRepaymentgetBalance';\nimport { InitiateOtpRequestUnscheduledRepayment } from '../../models/unschedulepayment/InitiateOtpRequestUnscheduledRepayment';\nimport { InitiateOtpResponseUnscheduledRepayment } from '../../models/unschedulepayment/InitiateOtpResponseUnscheduledRepayment';\nimport { GetOutStandingTenure } from '../../models/unschedulepayment/unscheduledGetOuStandingTenure';\nimport { MakeUscheduledRepaymentRequest } from '../../models/unschedulepayment/makeUnscheduleRepaymentRequest';\nimport { UnscheduleRepaymentResponse } from '../../models/unschedulepayment/makeUscheduledRepaymentResponse';\n// import { UnscheduledRepaymentGetBalance } from '../../models/unschedulepayment/uscheduledRepaymentgetBalance';\n// import { GetOutStandingTenure } from '../../models/unschedulepayment/unscheduledGetOuStandingTenure';\n// import { MakeUscheduledRepaymentRequest } from '../../models/unschedulepayment/makeUnscheduleRepaymentRequest';\n// import { UnscheduleRepaymentResponse } from '../../models/unschedulepayment/makeUscheduledRepaymentResponse';\n// import { InitiateOtpResponseUnscheduledRepayment } from '../../models/unschedulepayment/InitiateOtpResponseUnscheduledRepayment';\n// import { InitiateOtpRequestUnscheduledRepayment } from '../../models/unschedulepayment/InitiateOtpRequestUnscheduledRepayment';\n\n@Injectable()\nexport class UnscheduledRepaymentServiceService {\n\n private _apiBaseUrl: string;\n\n constructor(private _httpClient: HttpClient, private _settingsService: AppConfigService) {\n this._apiBaseUrl = this._settingsService.UnscheduledRepaymentBaseUrl;\n }\n // /api/unscheduled-payment/get-balance\n getUscheduledPaymentGetBalance(bvn: string): Observable{\n return this._httpClient.get(`${this._apiBaseUrl}/unscheduled-payment/get-balance?bvn=${bvn}`);\n }\n\n initiateOtpRequest(payload: InitiateOtpRequestUnscheduledRepayment): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/unscheduled-payment/send-otp`, payload);\n}\n\n // /api/unscheduled-payment/get-outstanding-tenure\n getUscheduledPaymentGetOutstandingTenure(bvn: string): Observable{\n return this._httpClient.get(`${this._apiBaseUrl}/unscheduled-payment/get-outstanding-tenure?bvn=${bvn}`);\n }\n\n // /api/unscheduled-payment/make-unscheduled-payment\n makeUnscheduledPayment(payload: MakeUscheduledRepaymentRequest): Observable{\n return this._httpClient.post(`${this._apiBaseUrl}/unscheduled-payment/make-unscheduled-payment`,\n payload);\n }\n\n\n}\n\n\n\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UtilityService {\n\n constructor() { }\n\n formatDateAsFriendlyShortString(date: Date): string {\n const month = date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;\n return `${date.getDate()}/${month}/${date.getFullYear()}`;\n }\n\n formatNumStringAsCurrency(numbString, currency?: string) {\n if (currency) {\n return numbString.toLocaleString('en-US', { style: 'currency', currency: currency });\n }\n return numbString.toLocaleString();\n }\n formatDateAsSystemShortString(date: Date): string {\n const month = date.getMonth() < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;\n return `${date.getFullYear()}-${month}-${date.getDate() > 9 ? date.getDate() : '0' + date.getDate()}`;\n }\n\n\n\n // private formatAsDateString(date: Date): string {\n // const month = date.getMonth() < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;\n // return `${date.getFullYear()}-${month}-${date.getDate()}`;\n // }\n}\n","import { Injectable } from \"@angular/core\";\nimport {\n CustomerAccount,\n RetailUserEzCashLimitDetails,\n} from \"../models/account\";\nimport { TransactionCharges } from \"../models/transactions/transaction\";\nimport {\n Bank,\n DailyTransferLimits,\n} from \"src/app/core/models/service-request/misc-models\";\nimport {\n Beneficiary,\n BillerBeneficiary,\n Biller,\n BillerCategory,\n BillerProduct,\n} from \"src/app/core/models/beneficiary\";\nimport { SecurityQuestion } from \"src/app/core/models/auth\";\nimport { CorporateUserLimit } from \"../models/transfer\";\nimport { StatementCountry } from \"../models/country\";\nimport { SurveyQuestion } from \"../models/payloads/survey\";\nimport { ShippingBillers } from \"../models/shipping-billers\";\nimport { WalletDetailsResponse } from \"../models/WalletDetails\";\nimport { CustomerTokenChannels } from '../models/CustomerTokenChannels';\nimport { CreditCardRecords } from '../models/credit-cards';\nimport { CreditCardEligibilityData, CardLimitEligibilityData } from \"../models/credit-card-resp\";\nimport { FlightCombination, FlightSearchResponse } from '../models/flight-search';\nimport { HotelSearchResponse, HotelList } from '../models/hotel-search';\nimport { SearchFlight } from '../models/payloads/search-flights';\nimport { SearchHotels } from '../models/payloads/search-hotels';\n\n@Injectable()\nexport class VariablesService {\n constructor() { }\n public static CreditCardRecords: Array;\n public static SelectedCreditCard: CustomerAccount;\n public static CustomerAccounts: Array;\n public static DefaultAccount: string;\n public static DebitCardRecords: any;\n public static SelectedDebitCard: any;\n public static STANBIC_CONTACT_EMAIL: string;\n public static TransferChannelOrder: Array;\n public static TransferCharges: Array;\n public static Banks: Array;\n public static DailyTransferLimit: Array;\n public static ReloadTransferLimit: boolean;\n public static UserAccountBeneficiaries: Array;\n public static BeneficiariesToBePaid: Array;\n public static BillerBeneficiaryToBePaid: BillerBeneficiary;\n public static UserAccountBillerBeneficiaries: Array;\n public static BillerMerchants: Array;\n public static BillerMerchantCategories: Array;\n public static BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT: boolean;\n public static SECURITY_QUESTIONS: Array;\n public static SecurityQuestionCreationRequestAuthor: number = 0;\n public static UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration: boolean;\n public static LoginPasswordChangedSuccessfully: boolean;\n public static SessionTimedOut: boolean;\n public static SessionInvalid: boolean;\n public static StatementAccountNumber: string;\n public static CustomerBVN: string;\n public static CustomerTokenChannels: CustomerTokenChannels;\n public static tokenApiHasBeenCalled: boolean=false;\n public static tokenApiCurrentCif: string = ''\n\n static RetailEzCashLimitDetails: RetailUserEzCashLimitDetails;\n\n static SMEUserLimit: CorporateUserLimit;\n\n public static SessionTimedOutSub: any;\n public static SessionTimeoutInterval: any;\n public static SessionTimeoutEventId: any;\n public static PendingNameEnquiryBatchPollingInterval: any;\n public static StatementCountries: Array;\n public static SecretQuestions: Array;\n public static CustomerSecretStatus: boolean;\n public static SurveyQuestions: Array;\n public static ThreesBankingStatus: boolean;\n public static SelectedShippingPaymentBiller: ShippingBillers;\n public static EnairaWalletDetails: WalletDetailsResponse;\n\n public static CustomerHWTEnabled: boolean;\n public static CustomerTokenCollectionBranch:string;\n public static CreditCardEligibityData:CreditCardEligibilityData;\n public static CreditLimitIncreaseData:CardLimitEligibilityData;\n // public static FxTypes: any[];\n // public static FxBranches: any[];\n // public static FxTranTypes: any[];\n public static FlightSearchResponse: Array;\n public static SearchWakanowFlightPayload: SearchFlight;\n public static SelectedFlightDetail:any;\n public static ChooseFlightDetail:any;\n public static ChooseHotelDetail:any;\n\n public static SearchWakanowHotelPayload:SearchHotels;\n public static HotelSearchResponse:HotelSearchResponse;\n public static SelectedHotelDetail: any;\n}\n\n@Injectable({ providedIn: \"root\" })\nexport class VariableSingletonService {\n private _instance: VariableSingletonService;\n\n constructor() {\n //this._instance = this._instance != null ? this._instance : new VariableSingletonService();\n }\n\n private _FxType: any[];\n\n set FxType(data: any[]) {\n this._FxType = data\n }\n get FxType() {\n return this._FxType\n }\n\n private _fxBranch: any[];\n set FxBranch(data: any[]) {\n this._fxBranch = data;\n }\n\n private _tokenApiCurrentCif: string;\n\n get tokenApiCurrentCif() {\n return this._tokenApiCurrentCif;\n }\n\n set tokenApiCurrentCif(value) {\n this._tokenApiCurrentCif = value;\n }\n\n get FxBranch() {\n return this._fxBranch\n }\n private _FxTranType: any[];\n set FxTranType(data: any[]) {\n this._FxTranType = data\n }\n\n get FxTranType() {\n return this._FxTranType\n }\n\n public getInstance(): VariableSingletonService {\n return new VariableSingletonService();\n }\n\n private _customerAccounts: Array = [];\n set CustomerAccounts(accounts: Array) {\n this._customerAccounts = accounts;\n }\n\n\n get CustomerAccounts(): Array {\n return this._customerAccounts;\n }\n\n private secretQuestions: Array = [];\n set SecretQuestions(questions: Array) {\n this.secretQuestions = questions;\n }\n get SecretQuestions(): Array {\n return this.secretQuestions;\n }\n private status: boolean;\n set CustomerSecretStatus(status:boolean) {\n this.status = status;\n }\n get CustomerSecretStatus(): boolean {\n return this.status;\n }\n private _defaultAccount: string;\n set DefaultAccount(account: string) {\n this._defaultAccount = account;\n }\n get DefaultAccount(): string {\n return this._defaultAccount;\n }\n\n private _stanbicContactEmail: string;\n set StanbicContactEmail(stanbicEmail: string) {\n this._stanbicContactEmail = stanbicEmail;\n }\n get StanbicContactEmail(): string {\n return this._stanbicContactEmail;\n }\n\n private _transferChannelOrder: Array = [];\n set TransferChannelOrder(transferOrder: Array) {\n this._transferChannelOrder = transferOrder;\n }\n get TransferChannelOrder(): Array {\n return this._transferChannelOrder;\n }\n\n private _transferCharges: Array = [];\n set TransferCharges(transferCharges: Array) {\n this._transferCharges = transferCharges;\n }\n get TransferCharges(): Array {\n return this._transferCharges;\n }\n\n private _banks: Array = [];\n set Banks(transferCharges: Array) {\n this._banks = transferCharges;\n }\n get Banks(): Array {\n return this._banks;\n }\n\n private _dailyTransferLimit: Array = [];\n set DailyTransferLimit(transferCharges: Array) {\n this._dailyTransferLimit = transferCharges;\n }\n get DailyTransferLimit(): Array {\n return this._dailyTransferLimit;\n }\n\n private _reloadTransferLimit: boolean;\n set ReloadTransferLimit(reloadTransferLimit: boolean) {\n this._reloadTransferLimit = reloadTransferLimit;\n }\n get ReloadTransferLimit(): boolean {\n return this._reloadTransferLimit;\n }\n\n private _billerBeneficiaryToBePaid: BillerBeneficiary;\n set BillerBeneficiaryToBePaid(billerbeneficiarytobepaid: BillerBeneficiary) {\n this._billerBeneficiaryToBePaid = billerbeneficiarytobepaid;\n }\n get BillerBeneficiaryToBePaid(): BillerBeneficiary {\n return this._billerBeneficiaryToBePaid;\n }\n\n private _userAccountBeneficiaries: Array = [];\n set UserAccountBeneficiaries(userAccountBeneficiaries: Array) {\n this._userAccountBeneficiaries = userAccountBeneficiaries;\n }\n get UserAccountBeneficiaries(): Array {\n return this._userAccountBeneficiaries;\n }\n\n private _beneficiariesToBePaid: Array = [];\n set BeneficiariesToBePaid(beneficiariesToBePaid: Array) {\n this._beneficiariesToBePaid = beneficiariesToBePaid;\n }\n get BeneficiariesToBePaid(): Array {\n return this._beneficiariesToBePaid;\n }\n\n private _userAccountBillerBeneficiaries: Array = [];\n set UserAccountBillerBeneficiaries(\n userAccountBillerBeneficiaries: Array\n ) {\n this._userAccountBillerBeneficiaries = userAccountBillerBeneficiaries;\n }\n get UserAccountBillerBeneficiaries(): Array {\n return this._userAccountBillerBeneficiaries;\n }\n\n private _billerMerchants: Array = [];\n set BillerMerchants(billerMerchants: Array) {\n this._billerMerchants = billerMerchants;\n }\n get BillerMerchants(): Array {\n return this._billerMerchants;\n }\n\n private _billerMerchantCategories: Array = [];\n set BillerMerchantCategories(\n billerMerchantCategories: Array\n ) {\n this._billerMerchantCategories = billerMerchantCategories;\n }\n get BillerMerchantCategories(): Array {\n return this._billerMerchantCategories;\n }\n\n private _SECURITY_QUESTIONS: Array = [];\n set SECURITY_QUESTIONS(SECURITY_QUESTIONS: Array) {\n this._SECURITY_QUESTIONS = SECURITY_QUESTIONS;\n }\n get SECURITY_QUESTIONS(): Array {\n return this._SECURITY_QUESTIONS;\n }\n\n private _statementCountries: Array = [];\n set StatementCountries(statementCountries: Array) {\n this._statementCountries = statementCountries;\n }\n get StatementCountries(): Array {\n return this._statementCountries;\n }\n\n private _BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT: boolean;\n set BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT(\n BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT: boolean\n ) {\n this._BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT = BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT;\n }\n get BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT(): boolean {\n return this._BENEFICIARY_ADDED_FROM_ONE_OFF_PAYMENT;\n }\n\n private _securityQuestionCreationRequestAuthor: number = 0;\n set SecurityQuestionCreationRequestAuthor(\n securityQuestionCreationRequestAuthor: number\n ) {\n this._securityQuestionCreationRequestAuthor = securityQuestionCreationRequestAuthor;\n }\n get SecurityQuestionCreationRequestAuthor(): number {\n return this._securityQuestionCreationRequestAuthor;\n }\n\n private _useValidateOTPPageForRIBFirstTimeLoginAfterRegistration: boolean;\n set UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration(\n useValidateOTPPageForRIBFirstTimeLoginAfterRegistration: boolean\n ) {\n this._useValidateOTPPageForRIBFirstTimeLoginAfterRegistration = useValidateOTPPageForRIBFirstTimeLoginAfterRegistration;\n }\n get UseValidateOTPPageForRIBFirstTimeLoginAfterRegistration(): boolean {\n return this._useValidateOTPPageForRIBFirstTimeLoginAfterRegistration;\n }\n\n private _loginPasswordChangedSuccessfully: boolean;\n set LoginPasswordChangedSuccessfully(\n loginPasswordChangedSuccessfully: boolean\n ) {\n this._loginPasswordChangedSuccessfully = loginPasswordChangedSuccessfully;\n }\n get LoginPasswordChangedSuccessfully(): boolean {\n return this._loginPasswordChangedSuccessfully;\n }\n\n private _sessionTimedOut: boolean;\n set SessionTimedOut(sessionTimedOut: boolean) {\n this._sessionTimedOut = sessionTimedOut;\n }\n get SessionTimedOut(): boolean {\n return this._sessionTimedOut;\n }\n\n private _statementAccountNumber: string;\n set StatementAccountNumber(statementAccountNumber: string) {\n this._statementAccountNumber = statementAccountNumber;\n }\n get StatementAccountNumber(): string {\n return this._statementAccountNumber;\n }\n\n private _customerBVN: string;\n set CustomerBVN(customerBVN: string) {\n this._customerBVN = customerBVN;\n }\n get CustomerBVN(): string {\n return this._customerBVN;\n }\n\n private _tokenApiHasBeenCalled: boolean;\n get tokenApiHasBeenCalled() {\n return this._tokenApiHasBeenCalled;\n }\n\n set tokenApiHasBeenCalled(value) {\n this._tokenApiHasBeenCalled = value;\n }\n\n private _retailEzCashLimitDetails: RetailUserEzCashLimitDetails;\n set RetailEzCashLimitDetails(\n retailEzCashLimitDetails: RetailUserEzCashLimitDetails\n ) {\n this._retailEzCashLimitDetails = retailEzCashLimitDetails;\n }\n get RetailEzCashLimitDetails(): RetailUserEzCashLimitDetails {\n return this._retailEzCashLimitDetails;\n }\n\n private _SMEUserLimit: CorporateUserLimit;\n set SMEUserLimit(SMEUserLimit: CorporateUserLimit) {\n this._SMEUserLimit = SMEUserLimit;\n }\n get SMEUserLimit(): CorporateUserLimit {\n return this._SMEUserLimit;\n }\n\n private _sessionTimedOutSub: any;\n set SessionTimedOutSub(sessionTimedOutSub: any) {\n this._sessionTimedOutSub = sessionTimedOutSub;\n }\n get SessionTimedOutSub(): any {\n return this._sessionTimedOutSub;\n }\n\n private _sessionTimeoutInterval: any;\n set SessionTimeoutInterval(sessionTimeoutInterval: any) {\n this._sessionTimeoutInterval = sessionTimeoutInterval;\n }\n get SessionTimeoutInterval(): any {\n return this._sessionTimeoutInterval;\n }\n\n private _sessionTimeoutEventId: any;\n set SessionTimeoutEventId(sessionTimeoutEventId: any) {\n this._sessionTimeoutEventId = sessionTimeoutEventId;\n }\n get SessionTimeoutEventId(): any {\n return this._sessionTimeoutEventId;\n }\n\n private _pendingNameEnquiryBatchPollingInterval: any;\n set PendingNameEnquiryBatchPollingInterval(\n pendingNameEnquiryBatchPollingInterval: any\n ) {\n this._pendingNameEnquiryBatchPollingInterval = pendingNameEnquiryBatchPollingInterval;\n }\n get PendingNameEnquiryBatchPollingInterval(): any {\n return this._pendingNameEnquiryBatchPollingInterval;\n }\n\n private _threesBankingStatus: boolean;\n set ThreesBankingStatus(threesBankingStatus: boolean) {\n this._threesBankingStatus = threesBankingStatus;\n }\n get ThreesBankingStatus(): boolean {\n return this._threesBankingStatus;\n }\n private _creditCardRecords: Array = [];\n set CreditCards(creditCardRecords: Array) {\n this._creditCardRecords = creditCardRecords;\n }\n get CreditCards(): Array {\n return this._creditCardRecords;\n }\n\n private _creditCardRecord: CustomerAccount;\n set SelectedCreditCard(creditCardRecord: CustomerAccount) {\n this._creditCardRecord = creditCardRecord;\n }\n get SelectedCreditCard(): CustomerAccount {\n return this._creditCardRecord;\n }\n private _creditCardEligibityData: CreditCardEligibilityData;\n set CreditCardEligibilityData(_creditCardEligibityData: CreditCardEligibilityData) {\n this._creditCardEligibityData = _creditCardEligibityData;\n }\n get CreditCardEligibilityData(): CreditCardEligibilityData {\n return this._creditCardEligibityData;\n }\n\n private _creditLimitIncreaseData: CardLimitEligibilityData;\n set CreditLimitIncreaseData(_creditLimitIncreaseData: CardLimitEligibilityData) {\n this._creditLimitIncreaseData = _creditLimitIncreaseData;\n }\n get CreditLimitIncreaseData(): CardLimitEligibilityData {\n return this._creditLimitIncreaseData;\n }\n private _selectedBiller: ShippingBillers ;\n set SelectedShippingPaymentBiller(biller: ShippingBillers) {\n this._selectedBiller = biller;\n }\n get SelectedShippingPaymentBiller(): ShippingBillers{\n return this._selectedBiller;\n }\n\n private enairaWalletDetails: WalletDetailsResponse;\n set EnairaWalletDetails(biller: WalletDetailsResponse) {\n this.enairaWalletDetails = biller;\n }\n get EnairaWalletDetails(): WalletDetailsResponse{\n return this.enairaWalletDetails;\n }\n\n private _customerHWTEnabled: boolean;\n set CustomerHWTEnabled(customerHWTEnabled: boolean) {\n this._customerHWTEnabled = customerHWTEnabled;\n }\n get CustomerHWTEnabled(): boolean {\n return this._customerHWTEnabled;\n }\n\n private tokenChannels: CustomerTokenChannels;\n set CustomerTokenChannels(channels: CustomerTokenChannels) {\n this.tokenChannels = channels;\n }\n get CustomerTokenChannels(): CustomerTokenChannels {\n return this.tokenChannels;\n }\n\n private customerCollectionBranch : string;\n set CustomerTokenCollectionBranch(branch:string){\n this.customerCollectionBranch = branch;\n }\n get CustomerTokenCollectionBranch(): string{\n return this.customerCollectionBranch;\n }\n private _flightSearchResp: Array;\n set FlightSearchResponse(flightSearchResp: Array) {\n this._flightSearchResp = flightSearchResp;\n }\n get FlightSearchResponse(): Array {\n return this._flightSearchResp;\n }\n\n private _searchFlightPayload: SearchFlight;\n set SearchWakanowFlightPayload(searchFlightPayload: SearchFlight) {\n this._searchFlightPayload = searchFlightPayload;\n }\n get SearchWakanowFlightPayload(): SearchFlight {\n return this._searchFlightPayload;\n }\n\n private _selectedFlightDetail: FlightSearchResponse;\n set SelectedFlightDetail(selectedFlightDetail: FlightSearchResponse) {\n this._selectedFlightDetail = selectedFlightDetail;\n }\n get SelectedFlightDetail(): FlightSearchResponse {\n return this._selectedFlightDetail;\n }\n private _detail: any;\n set ChooseFlightDetail(selectedFlightDetail: any) {\n this._detail = selectedFlightDetail;\n }\n get ChooseFlightDetail(): any {\n return this._detail;\n }\n private _hotelDetail: any;\n set ChooseHotelDetail(selectedHotelDetail: any) {\n this._hotelDetail = selectedHotelDetail;\n }\n get ChooseHotelDetail(): any {\n return this._hotelDetail;\n }\n private _selectedHotelDetail: HotelList;\n set SelectedHotelDetail(selectedHotelDetail: HotelList) {\n this._selectedHotelDetail = selectedHotelDetail;\n }\n get SelectedHotelDetail(): HotelList {\n return this._selectedHotelDetail;\n }\n\n private _hotelSearchResponse: HotelSearchResponse;\n set HotelSearchResponse(hotelSearchResp: HotelSearchResponse) {\n this._hotelSearchResponse = hotelSearchResp;\n }\n get HotelSearchResponse(): HotelSearchResponse {\n return this._hotelSearchResponse;\n }\n\n private _selectedWakanowHotel: SearchHotels;\n set SearchWakanowHotelPayload(selectedHotelDetail: SearchHotels) {\n this._selectedWakanowHotel = selectedHotelDetail;\n }\n get SearchWakanowHotelPayload(): SearchHotels {\n return this._selectedWakanowHotel;\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { AccountService } from './account.service';\nimport { TransactionService } from './transaction.service';\nimport { AppConfigService } from './appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { CardLimitEligibility, CreditCardEligibilityResp } from '../models/credit-card-resp';\nimport { CreditCardRequest } from '../models/credtit-card-request';\nimport { GenericApiResponse } from '../models/payloads/generic-response';\nimport { CreditCardIncreaseRequest } from '../models/credit-card-increase-request';\nimport { CardIncreaseEligibilityRequest } from '../models/card-increase-eligibility-request';\nimport { ResponseCodes } from '../models/Enumerations';\nimport { LEAVE_SELECTOR } from '@angular/animations/browser/src/util';\n@Injectable()\nexport class VirtualCardService {\n\n cardDetails = new BehaviorSubject({\n card: {}\n });\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settingsService: AppConfigService) {\n this._apiBaseUrl = this._settingsService.VirtaulCardBaseUrl;\n\n }\n\n\n fetchCardByCif(CifId: string): Observable {\n const _url = `${this._apiBaseUrl}/virtualcard/fetchCardByCif?CIFID=${CifId}`;\n return this._httpClient.post(`${_url}`,\n { cif: CifId }\n );\n }\n\n fetchCards(payload: any): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/virtualcard/fetchCards`,\n payload\n );\n }\n\n accountBalanceCheck(payload): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/customer-account/account-balance`,\n payload\n );\n }\n\n cardtypeCheckCheck(payload): Observable {\n console.log(' checkin current acct',payload)\n return this._httpClient.post(`${this._apiBaseUrl}/DebitCard/CardType`,\n payload\n );\n }\n\n\n requestVirtualCard(payload: any): Observable {\n console.log(this._apiBaseUrl, 'api url');\n console.log(payload, 'payload');\n return this._httpClient.post(`${this._apiBaseUrl}/virtualcard/create`,\n payload\n );\n }\n changePin(payload: any): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/virtualcard/ChangePin`,\n payload\n );\n }\n\n sendOpt(customerId: string): Observable {\n const _url = `${this._apiBaseUrl}/virtualcard/send-otp?customerId=${customerId}`;\n return this._httpClient.post(`${_url}`,\n { customerId: customerId }\n );\n }\n\n validateOpt(payload: any): Observable {\n const _url = `${this._apiBaseUrl}/virtualcard/validate-otp`;\n return this._httpClient.post(`${_url}`,\n payload\n );\n }\n\n hotlistCard(payload: any, type: string): Observable {\n return this._httpClient.post(`${this._apiBaseUrl}/virtualcard/blockCard?type=${type}`,\n payload\n );\n\n }\n\n\n\n\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { BookHotelsComponent } from \"src/app/pages/wakanow-integration/book-hotels/book-hotels.component\";\nimport { ChooseFlightResp } from \"../models/choose-flight-resp\";\nimport { ChooseHotelResp } from \"../models/choose-hotel-resp\";\nimport { HotelListResp } from \"../models/hotel-list-resp\";\nimport { FlightListResp } from \"../models/flight-list-resp\";\nimport { FlightSearchResponse } from \"../models/flight-search\";\nimport { HotelSearchResponse } from \"../models/hotel-search\";\nimport { BookFlights } from \"../models/payloads/book-flights\";\nimport { BookHotels } from \"../models/payloads/book-hotel\";\nimport { ChooseFlightPayload } from \"../models/payloads/choose-flight\";\nimport { ChooseHotelPayload } from \"../models/payloads/choose-hotel\";\nimport { GenericApiResponse } from \"../models/payloads/generic-response\";\nimport { SearchFlight } from \"../models/payloads/search-flights\";\nimport { SearchHotels } from \"../models/payloads/search-hotels\";\nimport { WakanowMakePaymentPayload } from \"../models/payloads/wakanow-payment-payload\";\nimport { AppConfigService } from \"./appconfig.service\";\nimport { BookingHistoryRequest, BookingHistoryResponse } from \"../models/payloads/booking-history\";\nimport { LocationSearchResponse } from \"../models/location_search_resp\";\n\n@Injectable()\nexport class WakanowIntegrationService {\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, private _settings: AppConfigService) {\n this._apiBaseUrl = _settings.WakanowBaseUrl;\n }\n searchFlights(payload: SearchFlight):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/SearchFlight`,\n payload,\n ).toPromise();\n }\n searchHotels(payload: SearchHotels):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/SearchHotel`,\n payload,\n ).toPromise();\n }\n bookFlights(payload):any {\n console.log(\"test\")\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/bookflight/makeflightbooking`,\n payload,\n ).toPromise();\n }\n bookHotels(payload):any {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/bookhotel/makehotelbooking`,\n payload,\n ).toPromise();\n }\n\n getAllBookings(payload: BookingHistoryRequest) {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/Bookings/getAll`,\n payload,\n ).toPromise();\n }\n chooseFlights(payload: ChooseFlightPayload):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/chooseflight`,\n payload,\n ).toPromise();\n }\n chooseHotels(payload: ChooseHotelPayload):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/ChooseHotel/choosehotel`,\n payload,\n ).toPromise();\n }\n\n makePayment(payload):Promise {\n //ask victor to give me endpoints that match the rest\n return this._httpClient.post(`${this._apiBaseUrl}/Payment/makepayment/flight`,\n payload,\n ).toPromise();\n }\n makePaymentHotel(payload):Promise {\n //ask victor to give me endpoints that match the rest\n return this._httpClient.post(`${this._apiBaseUrl}/Payment/makepayment/hotel`,\n payload,\n ).toPromise();\n }\n getAirportList(payload):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/GetAirportList`,\n payload,\n ).toPromise();\n }\n getHotelList(payload):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/GetHotelList`,\n payload,\n ).toPromise();\n }z\n getLocations(payload):Promise {\n return this._httpClient.post(`${this._apiBaseUrl}/Wakanow/GetLocationList`,\n payload,\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { RequestApprovalHistoryResponse } from '../../models/approvals/payment.approval';\n\n@Injectable()\nexport class ApprovalHistoryFactory {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n getApprovalHistory(operationName: string, requestPayload: any): Promise {\n const requestUrl = this.getApprovalHistoryEndpoint(operationName);\n requestPayload = this.updateRequestPayloadWithUserId(requestPayload);\n return this._httpClient.post(`${this._apiBaseUrl}/${requestUrl}`, requestPayload)\n .toPromise();\n }\n\n rejectApprovalRequest(payload: any): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(`${this._apiBaseUrl}/${ApiURLConstants.REJECT_APPROVAL_REQUEST}`, payload)\n .toPromise();\n }\n\n private getApprovalHistoryEndpoint(operationName: string): string {\n switch (operationName) {\n case 'biller-payments':\n return `${ApiURLConstants.GET_BILLER_PAYMENT_REQUEST_APPROVAL_HISTORY}`;\n case 'biller-management':\n return `${ApiURLConstants.GET_BILLER_OPERATION_REQUEST_APPROVAL_HISTORY}`;\n case 'beneficiary-management-add':\n return `${ApiURLConstants.GET_BENEFICIARY_ADD_APPROVAL_HISTORY}`;\n case 'beneficiary-management-update':\n return `${ApiURLConstants.GET_BENEFICIARY_UPDATE_APPROVAL_HISTORY}`;\n case 'service-request':\n return `${ApiURLConstants.GET_SERVICEREQUEST_APPROVAL_HISTORY}`;\n case 'western-union':\n return `${ApiURLConstants.GET_WESTERN_UNION_REDEMPTION_APPROVAL_HISTORY}`;\n case 'single-transfer':\n return `${ApiURLConstants.GET_SINGLE_TRANSFER_APPROVAL_HISTORY}`;\n case 'bulk-transfer':\n return `${ApiURLConstants.GET_BULK_TRANSFER_APPROVAL_HISTORY}`;\n case 'international-transfer':\n return `${ApiURLConstants.GET_INTL_TRANSFER_APPROVAL_HISTORY}`;\n default: return '';\n }\n }\n\n private updateRequestPayloadWithUserId(payload) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { StagedBeneficiaryRequestApprovalPayload } from '../../models/beneficiary';\nimport { StagedRequestApprovalResponse } from '../../models/misc-requests-model';\n\n@Injectable()\nexport class BeneficiaryApprovalService {\n\n private _apiBaseUrl: string;\n private _transactionsAPIBase: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._transactionsAPIBase = `${this._apiBaseUrl}/TransactionManagement`;\n }\n\n approvePendingBeneficiaryAddRequest(payload: StagedBeneficiaryRequestApprovalPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BENEFICIARY_ADD_REQUEST}`, payload)\n .toPromise();\n }\n\n\n approvePendingBeneficiaryUpdateRequest(payload: StagedBeneficiaryRequestApprovalPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BENEFICIARY_UPDATE_REQUEST}`, payload)\n .toPromise();\n }\n\n\n approvePendingBeneficiaryAddRequestWithSelectedStage(payload: StagedBeneficiaryRequestApprovalPayload):\n Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BENEFICIARY_ADD_REQUEST_WITH_NEXTSTAGE_SELECTION}`, payload)\n .toPromise();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { StagedBeneficiaryRequestApprovalPayload } from '../../models/beneficiary';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { StagedRequestApprovalResponse } from '../../models/misc-requests-model';\n\n@Injectable()\nexport class BillerApprovalService {\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n approvePendingBillerOperationRequest(payload: StagedBeneficiaryRequestApprovalPayload): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BILLER_OPERATION_REQUEST}`, payload)\n .toPromise();\n }\n\n approvePendingBillerOperationRequestWithSelectedStage(payload: StagedBeneficiaryRequestApprovalPayload):\n Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BILLER_OPERATION_REQUEST_WITH_STAGE_SELECTION}`, payload)\n .toPromise();\n }\n\n private updateRequestPayloadWithUserId(payload: any): any {\n payload.UserId = AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport { BulkPaymentBatchApprovalResponse } from '../../models/approvals/file-upload.approval';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\nimport { GenericApprovalPayload } from '../../models/payloads/transactions';\n\n@Injectable()\nexport class PaymentApprovalService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n approvePendingBillPaymentRequest(payload: GenericApprovalPayload): Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BILLPAYMENT}`, payload).toPromise();\n }\n\n approvePendingBillPaymentRequestWithSelectedStage(payload: any):\n Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BILLPAYMENT_WITH_NEXTSTAGE_SELECTION}`, payload)\n .toPromise();\n }\n\n private updateRequestPayloadWithUserId(payload: any): any {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['userId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { AuthService } from '../auth.service';\nimport { StagedRequestApprovalResponse } from '../../models/misc-requests-model';\nimport { StagedBeneficiaryRequestApprovalPayload } from '../../models/beneficiary'; \n\n@Injectable()\nexport class ServiceRequestOperationApprovalService {\n\n private _apiBaseUrl: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n approvePendingServiceOperationRequest(payload: StagedBeneficiaryRequestApprovalPayload):\n Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_SERVICEREQUEST_OPERATION_REQUEST}`, payload)\n .toPromise();\n }\n\n approvePendingServiceOperationRequestWithSelectedStage(payload: StagedBeneficiaryRequestApprovalPayload):\n Promise {\n payload = this.updateRequestPayloadWithUserId(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_SERVICEREQUEST_OPERATION_REQUEST_WITH_STAGE_SELECTION}`, payload)\n .toPromise();\n }\n\n private updateRequestPayloadWithUserId(payload: any): any {\n const loggedInUser = this._authService.getLoggedInUser();\n payload['UserId'] = loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : '';\n return payload;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { AppConfigService } from '../appconfig.service';\nimport { AuthService } from '../auth.service';\nimport {\n BulkPaymentBatchApprovalRequestPayload, BulkPaymentBatchApprovalResponse,\n SinglePaymentApprovalRequestPayload\n} from '../../models/approvals/file-upload.approval';\nimport { ApiURLConstants } from '../../helpers/apiURLConstants';\nimport { GenericApprovalPayload } from '../../models/payloads/transactions';\nimport { GenericApiResponse } from '../../models/payloads/generic-response';\n\n@Injectable()\nexport class TransferApprovalService {\n\n private _apiBaseUrl: string;\n private _transactionsAPIBase: string;\n constructor(private _httpClient: HttpClient, _settings: AppConfigService, private _authService: AuthService) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this._transactionsAPIBase = `${this._apiBaseUrl}/TransactionManagement`;\n }\n\n approvePendingBulkPaymentBatch(payload: BulkPaymentBatchApprovalRequestPayload): Promise { \n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_BULK_REQUEST}`, payload).toPromise();\n }\n\n approvePendingBulkPaymentBatchWithSelectedStage(payload: BulkPaymentBatchApprovalRequestPayload):\n Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post(`${this._transactionsAPIBase}/ApproveAndMoveToNextStage`, payload)\n .toPromise();\n }\n\n approvePendingPaymentRequest(payload: SinglePaymentApprovalRequestPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_SINGLE_PAYMENT_REQUEST}`, payload).toPromise();\n }\n\n approvePendingPaymentRequestWithSelectedStage(payload: SinglePaymentApprovalRequestPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_SINGLE_PAYMENT_REQUEST_WITH_NEXTSTAGE_SELECTION}`, payload).toPromise();\n }\n\n approvePendingInternationalPaymentRequest(payload: SinglePaymentApprovalRequestPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_INTERNATIONAL_PAYMENT_REQUEST}`, payload).toPromise();\n }\n\n approvePendingInternationalPaymentRequestWithSelectedStage(payload: SinglePaymentApprovalRequestPayload):\n Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_INTNL_PAYMENT_REQUEST_WITH_NEXTSTAGE_SELECTION}`, payload).toPromise();\n }\n\n approveWesterUnionRedemptionRequest(payload: GenericApprovalPayload): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_WESTERN_UNION_REDEMPTION_REQUEST}`, payload).toPromise();\n }\n\n approveWesterUnionRedemptionRequestWithNextStageSelection(payload: any): Promise {\n payload['UserId'] = this._authService.getLoggedInUser() ? this._authService.getLoggedInUser().UserId : '';\n return this._httpClient.post\n (`${this._apiBaseUrl}/${ApiURLConstants.APPROVE_PENDING_WESTERN_UNION_REDEMPTION_REQUEST_WITH_NEXTSTAGE_SELECTION}`,\n payload).toPromise();\n }\n\n}\n","export class StanbicImageConstants {\n // tslint:disable-next-line:max-line-length\n static STANBIC_PDF_WATERMARK =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkoAAAK8CAYAAAAQ6JCdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTIwMzY2QUIwMjI5MTFFNUJCRTdGRkU1Qjg0N0M0NjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTIwMzY2QUMwMjI5MTFFNUJCRTdGRkU1Qjg0N0M0NjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5MjAzNjZBOTAyMjkxMUU1QkJFN0ZGRTVCODQ3QzQ2NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MjAzNjZBQTAyMjkxMUU1QkJFN0ZGRTVCODQ3QzQ2NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqoxOBcAAD6rSURBVHja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\";\n\n // tslint:disable-next-line:max-line-length\n static STANBIC_PDF_HEADER_LOGO =\n \"data:image/png;base64,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W4+4FY1TGF6gULxvlbPVVjze78TjfTgHHUA91O1Zt1J+e8UNsmFjsifxdizcsmXLZP3G2uubjeYzVD4S22Ak+21lHZDrwjCtrmIz69Bo3TuxM20+u1123LZL9tt9srzkwKly7IunyUlHz5TXv2IzecurN5czXreFnHXyXDn71C3lnNfPN3b2KVvJmYu2ktNeM08WHT9Xjjt8M3nxgbNk712nyzbzJsu0KR2Vj2DaYiatQ6N1G255iORlcZEEWlmH5pZv5Pr12QOlQemr8TTezHIQ1gvUHfp68Hs1+eChZBH1Mj6x4NnFGfhxcItN5prfuVBpnVPxgyt2Qt0a2KeWI7jMppRxiAp0Jyb84Z1V/K9lRRkteENLX3ufI3BuwtcZ65tQ8sMXcF6a5YeVFEVRhstK2An4fuKb3xRFGWHw2VqB4BUwPpyhKBQvvstGFUVR5EnYafiuaPam+aiDZeO99T/YlKIoiqKMLPie4e+kN8Pycr+X5/OXdi9cPM8mh4+54VmOIgVMRqHflApS+JusmuA5hCs1QbVmIakVmxjBnT//qD0P4RIki8YHMucJ21MRjRsxt/MybiwqHKf4m4bt2DEJNtla1LM441GjcJz12U9UNM75NeP5MV28Mu+Y18o8l6Wvt0fuuOOOht7GV61aabZBlujCah+xfZu8ZDusG5etxpyncT5MQE/jgwNI0tN4b0UwXi5uNIJxCseN9a+XMgXh3st472op96wyoRgROYXj69DGCsYpHC/1rpUHH3xYrr2JD/+F6exol5WrlktPRDTeaC5D5SMx/63220q7cHmjNi4SIG280VyHdnysujoLMqm7TSZPajfW3dUm7e32M5bUJ7PThktul9IItF6e3C5tHdJodR0aM/R+m1mHYnFQeiuexptdRtZrtm6cunYcXD2N5wScZPHcSL2MTyw+gB8F40U881uYigaHx3aww2x0RPhPFyrjj2z+MFU2NeppXFEsa2HnZPnmopLIWbDki1tKltgdNpJvwVEURckSfGXriTiX0O8kRdmE4DNGUeCxsNy+XVEZUc7rXrh4qosrijJx4XnYa/AdQac3WefnLlQURVGUEQffhXSMkydt0NawX+OcvssmhweFUcSr42BtRQTGI6oVflujINqnbUhcWBErR41E4yHq7y1RuNzXF3Z03teXcU/jbe34A2undVijh/B2FFaM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\";\n\n // tslint:disable-next-line:max-line-length\n static STANBIC_PDF_DISCLAIMER =\n \"data:image/png;base64,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\";\n\n // tslint:disable-next-line:max-line-length\n static RECEIPT_FAILURE_LOGO =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAYAAACqj0o2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkEwRjQwNzMwNUY4MTFFNUFEMjRDMUU3RDM3REIzODciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkEwRjQwNzQwNUY4MTFFNUFEMjRDMUU3RDM3REIzODciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGQTBGNDA3MTA1RjgxMUU1QUQyNEMxRTdEMzdEQjM4NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGQTBGNDA3MjA1RjgxMUU1QUQyNEMxRTdEMzdEQjM4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhUufJAAAAllSURBVHja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\";\n\n // tslint:disable-next-line:max-line-length\n static RECEIPT_SUCCESS_LOGO =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIMAAACCCAYAAABlwXvDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTIwMzY2QTcwMjI5MTFFNUJCRTdGRkU1Qjg0N0M0NjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTIwMzY2QTgwMjI5MTFFNUJCRTdGRkU1Qjg0N0M0NjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMzA1OTY5NjAyMjcxMUU1QkJFN0ZGRTVCODQ3QzQ2NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5MjAzNjZBNjAyMjkxMUU1QkJFN0ZGRTVCODQ3QzQ2NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsJF3L0AAA4tSURBVHja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\";\n\n static RECEIPT_PENDING_LOGO =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAACCCAYAAACKAxD9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYYAAB2GAV2iE4EAABtrSURBVHhe7Z0LkB1Vmce/7jvJvDKZkMdAhiQkQIJIeIQQF9l15SVVoK7uYpVI7YolYXdZdFdLtnSrhC3BqtUSS3eVcksiC+6WQJWsj1WoUlBrcRGFQOQhj0ASkmECk+dkMq/Mvbf3/zs9NyQzc7v73rkzt3vIP3WTm+7Tfft8///5znee7QWCzUgENpQ36xoy23PIbNdwYH0jZrsPBdar/w8VzYpjcu57Zk2+Wftss4WzPWubZbao0bMF+v+SJp1rIJUSzUDMCCGMiNGuAbOtBwN7WZ/n+8029wW2byQQ2RAXKE2YNqf/imvz9O9YSjEE1iBpYdQqs0islL4X2HGzPFvZ5tnprWanzvFshT5LWkiTfXFkVgh7hgJ7cl9gv+8NbKP+7VGJ7y+YHRKLjTkzFWhXwksUeTBfBUrm4W88iByKDet3ZksgrfqdDnmMtcd5dna7Z+fq3wVN2RRFpoSAS/9Jd8F+sSuwV1TqD6jEN4gQ3Dkl3ePPNPGA1QL9wXNQzeT1mSuPcYq8xcWLPHtfZ85VMVlB6oVQVDF8qMfsjq0F+8OBwFpUCpv0gfjcdLGeEAWZ0glDHmNAn7fP9ey6FTm7tEPeKeXVR2qFsF11/QNvFO2H3UXbOxzW1ZR8V+R54rTatfRsMiuegthkfqPZBzt9u+J435YprkgjUieEHf2B3b2tKPdftP2K+ueq9Lu6PmWlPykwL7HFAXmIeWp1XLzIt2uW+7a0NV35SY0QtksAt79csF/tluH0/zlOANkkvxyKMvVBCQLHduFCz244NWfLUiKIuguhT2H4l14s2oOqBpplodkq/lNVnYY5HZ9djoz/yakLPF3rQ38NSvGXq7r43Gm+tdHMqSPqJwT96v1dRfvWlqJr77ePdtbUxvhhlsgZzT0Mz4cWBsdUKE0O5zDwPAR6/HTpHM9BSwBR8oGnN5/t8JeqURJlr6o/+ieuP9m3K5foASd/66pQFyF0DwT2+WcLtkmtgDZZvaFGLiAvtvPKDRH7sP5tkV1XNHu2uMWzjllmnc0S3Gxfhg+behBBK2S2miD7UYxYoEm6b4SmatG6Bz3r0fedet6tg4ENSBiNuoxrGvRvLZ+7T898jloZX1yds04973RjmoUQ2He2BPZNxQKt8gBUA9V6AJ661I4/oFJFdE5v31nzPDuvPezk6WwJS/Pki1kY8HUPmOu8eqI3sKf3h72YtGbmKi+T7ccgP1QX/crLJxQ7XHsyN5rscyfHtAmhS6Xqn+UFnpYXQATV9AGUyKf3kJLfIuuf1Gp2kQKvyxf71jHNvXo9Q4E9uLNov1SA+2o/nihwnoJex2pFQRWFGM6Sd/iCvMOSafIO0yKER3qK9plnCq7UEBBW0xSk5A+rxOhyO00l/9ITfLukw7PjU9Kl+4ZE8XBPYA+9XrQX5SmkVWuUOyLPlQJKCCTJ81fPzNm7Osj11GLKhXD31oLdtrnoRvCq8QKUkP2qp5tVL18h4q9amrOV7ZxJhwDGI7DNvWb37ijYAxLGoOr+eYpJqs07I6c3rvTtmhWEsFOHKRMCJeJTT+Xt0T2Bq0Mr9QIYgbqf1sTHl/sSgG+zqiledcSIivS9O4p257aiax2EsURleYAe7HDBAs++vqbBecSpwJQIgTpu/eN526ZIu6KqQE9CDMAoIvX/lSf6tl5BU1PGBDAWQxLEBgXJ979WdHEEo5bEEEmdGhRRVSxXC2jDugYXY9UaNRcCw8FXP1awPkVzcyAwKYd6iiE9CoHgZaoTP73Kt4W01WYQdss2X3upaD9TzERA2UQBqcA+ByWiNkWj3zs/54a/a4maCmFbf2DXPpF39WJzBaWYrte9igPOVaR842k5O0NNwJmM59T0vO3Fgj2pFtR8xQ+VdKUPSgwt8ggb1jbY8hp2T9dMCFv7i3bdxqINyxPQQZMI+uVD+nmE80/yAFcum9qAKG24f3vB/kUegkB4dgXe4ZDE0CjPcMda31a01iZqqIkQdqnpdNXv8m7mTmPCDPGzxAJE1N9QELSqLaEVZhhe6gvskwqqaRm52CGJdxBjw7If8zLueUeDLapBE3rSQjgoD/CBR1UdKEBMWh3QIqAbmCHZW1erNVCjrtqsgjmXNz0bDr3TfZ20ZUE10axq4kcXNNgcerImgUkJgW7Xqx8bsS0D5oKYJKBf/UDes1tO9+z9S95aVUEcftxVsFtfYPyDKXjJ7ElQfnKLKYCcNdqdXh0mVcF8Wi7tVUSQ0BMMS8EjEs+31vjHRDAB/kw2+bezfWcjbJUE2B4O4GIyqFoId28r2P/tkWtCBAl0QMboD7j9nJydv7A2AU5tgMGTGX068E5Vl9gIWyUSg2wPB3ABJ9WiqqrhkZ7AbtiUd4tAklRnZIiHvWtdzk6swxDrWNDBc9+Oov1mj7m5EIA5Ae9cYPbhpX4qOrBeGwjsY48XXBzQmOB5YJHFO7ef02Dv6qj8+SsWQpeaiX/xGEFNkCioCT2B2U//ZJZbb1BvfOn5vN3XFU5CITAr1avEOwSwGOPDSzz73OlT0H1XIWiFvffXI25WdBIxhEG4Z/99vm9LKmxWViyEax/P23NuKDmhCJTuP87L2dI6e4JelZa/fqLgur3pvi4XWIWCCFx37rf13O11nkKGZ/ionpv+mSRi6Fe6M+Z69p11lQm5Itls2Fq0Z9zagvgHonXAwNNXVtdfBFQF1z9ZcLOMWiNEADhHGtJyDdfWE1Slt8mG2BKbxgFu4AiuKkFiITC97PaXw3ZuXI3A89Jb+NWzcrZmfn1FgLO/+dmCbT4Y9tMniWlIQ1qu4dp6B5PYEFti0zgt8OxwBFdwlhTJhKD7MccwSVxARUMn001vy9k7U9A6+PnOwE2RT9rPcSS4hmu5R72BLbEpto2rzOEIruAsqYYTMfX9HQXb1Ks6Kq7HQj/aL1d6qaLW9zMjNwX4r1eLbl5hEk8wFlzDtdwjDcCm2BYbxxEMV3AGd0kQy1afmlf/rvqmTbFHnDEZQJqnZtgtZ9Q/4gbdquc3qr50w71Vgmu5B/dKA7AtNsbWUSDLcAZ3cBiHWCF8+YWiGxCJ6/JkKHlQTRcGkGaloJkIftodjuwlHdWbELqWe3CvNADbYmNsjc2jAGdwB4dxiBTCqwqWWIHEFKtI6HmYT/C5Vb6tahs9lgJs6gvcwpTJgntwr7QAG2NrbB5XRcAdHMJlFCKFwCoktwI5pkgxu/jcds8+tCzWwUwrdijzVcSI48A9uFeagK2xObaPhuc4hMsolGVuu5oevxqdUhVVxdIfxfSyG6XQtIGewlqsouYe3CttwObYPqpPkOzDIVzuiGhOlmXvPxVkMJ4VN42KySXvOd63M+alTwi5Gj5SLe9VK2BzbA8HUYBDuPxuRCfThNljifrDu8KWQhQIVui8YKLpMdQH2B4O4gJHuIRTuJ0IEzL44OvhXPo4b8BGFkw5T+ts40J8sJwYxRreq5bA9nAAF1GAS9I8IG4nwjghsGfRD7oLbqOKKDDSNU9R1LUnxySsI+aovV3hmNqE4B7h6ul0Yr04gAs4iQK7z/xQ3MLxWIwTwkO7AtsznMAbqOny8RVe2E5PKXi2ycsgvMfsFOeTYX64gJMowCncwvFYjBPCHQoo4loKKI+9B65KSTdyOdA9XAuPzj1S7BAc4AJOorwCnMItHI/FUUwOjQRuC7umiF5Efocmy+UneKlfi4hhYrxlInCPOXGdanUGXMBJ2JwcPTgB4Pb5XrYhPjrRUUJgbR7Gi+o/4nJOf3hpin3lKCCvBjpw92idFX5PM+AEbiLzrARUmT8Z02V+lBB+0RNOK4u6Ebt6sD/Bqrnp9gaAAK9WQkg6U7uegBO4gaNy4Awcw/WROCyE3UOBvTJAl6xbpzshcDmMgF4mF5QFMErHMx+d5crAtdyDe2UBl4qbPHkuk2lyAcdwDeclHBbCU/uLdkBR51EuYgxYst6sZspF07CDRy0wn72QyxikIuge7l4ZwCXihvmkcFUOsAfXcF7CYUZ/v98ztp8r6w4EvMGyFkvNdjVx6GgMTK2lqCzFgmu5B/fKAuBmqTiKnGqpTME1nJfghMDau437SiON5dGXN7s4I94ALGz0IyPopOAe3CsruGiR57iKAlzDOdwDlzteesEGF3HxEE2TKxZPpnxNL05skshrIATuwb2ygvcuDkclowDXcA73wAmBN58wglU+TAynUq9URLqozvP8K8Fc1evuaScjBl3LPbhXVsDrh+Aqavo7XMM53AMnhM39YWmP6k0kEj0zYzuZEMqcoL8Kk1AC1y6WYdkLKkuAKzgrB7iGc7gHLnsv9BUtrgpkYsba9mwJwVOe5jeEIq4WXMuWvRHOMpWAq7jJNHAO98DRz0IO+qCjgHrOq/tilUrhKchjrH70v1WAa7lH1pQAV3FxApzDPfCHJHk2oY4abSRqpltycYYCphI6m3Hv1YNruUfWAFdu9DWiEMA53KMBn/ciovoovTOHfkWLl8rpWnFYILfuKX/VNCO5hmu5R9YAV3AWtf4BzuEeDfi76S2JAZ0Ti12pyFrVoAi62ZvUTGau5R7Zg+c4i+xYGgUakBDCdxxEZlXnOzLUfDoSLG9PYIuy4FrukUU4ziIyT67gHg34vDDCoUxe8Sy4mc6MdCuPBe9MYoJKNWLgGq5Ny3uXKgWcwV3Z2mE0W2jAZwQqZjWbu1F7SieoxoHHblcdX03LgWu4NqNZd5xFhAgOcO800Bsz4ghohRyX8hk65cCOJyfIIHETOycC13BtvXdNqRZwFtOCdNw7DbA/T5wQOJ/mWbyR0GMvbgz7QSoF13BtdACVXsBZEm6dBlxUmSCjVRSo1OCkVt+5wEryQFquWV6jvY5TC+URDcTNWncBky9bzHO9a9kEU7iqoZNrVmZgSl45sIt7EqCBWPtgBlb5VONa04JVc8JetkqyQFqu4dq3Avyk7pJNt7MKdj1vd/MXk9cNpOUars0qBhJy5qpBNxkluX0yiRYReopKdpJethJIyzVcO6OhfKIBn6nNcS6T87whNcs4VXU9b3JNCtJyTZYBZ0m4RQO+62wJj5UFgcS+DFcNgHdDJHWVgLRck2XAWVwO4B4N+Aub2JQpPFgORJW9w9n2CEzdcl3NCbJBGtJyTZYBZ3GtQrhHAz4v6XYoYyBuxD4D3UcshsgqLlQJH0rQ10wa0mYdcAZ3ZcUwago04LPRAkOtkebR+Z5Do98zjAs7fFcCorwC50hD2qzDcRbhETAD3KMBCSE8GAWiyp2DfIuwYAbwrvml6e1R+QjfMkPabCNwnMUtUQBowF/SpL+UOMo0vIpu60DoZrKMjmbPzmn3LSrc4RxpSJtlwBWcudcIlgFmgHunAd6nwCzdqM2YuBc7g+8cGj2QYVzWwcouGWGC7HKMc6TJOuAKziJ04DiHezTgKkKi4yQzXp/YW14sWcGlx/u2aDYdRuPzwjHOkSbrgKskM9NLLSOX9G1tcpcxQmALt4292RfCAjWV3q0WwUR7E3KMc6TJOuAKzqIA53AP3N8rW8MSP5G7LIHo8pn92RcC+JtTfDegxKuGCmoi8AlfQBaemwmAKzgrB7iGc7gHLtcr5B4YXIlaU89O3yyGYOFk1sFg0k1vz9k8NZtaGVjSh+8c41zWAUdwFbWjPlzDOdwD93IvlkZ/9LcFe20osKjX8+49FNg/rPTtY8tjfE6GcHB0DIU9GWcK7tpWsH/dXLT5EVPs4PxEVYHf/aOc49x5BL6sPY5eN5emLNjG9ZcT7NGXZSCAmSQCAEdx2yfDNZyXCv7hCvHseYHlEUIEz3RO7Bgwe2MGdDfPVLw2GNgWVQuRHUmiD67hvITDQlgzz7e5MSORbk19PrCHe2JcxzHUDY/sKjqSo/a6gD24hvMSDn9jBOqUFtbUlw8Z6ZwgEn2ozMbOx1B//Ezc4O3LdSTBHBzDNZyX8KYkhIs7PDe1ucw9HGbrV16U63npwDExpA1wAjdwVA6cgWO4PhJHCeF9nb7rloyKE7ic0/dtn6BH5hjqCjiBm6iCTAI4husjcdT/WNFzeru8AuOwZYDLoSPiwTcCG6lkEuAxTCngAk7gJmp8AW7heOzqraNlIVy3ovSeoNEDE4A3jTKn796uY0FjWgAXcBL1pl44hVs4HotxRy5d5NmCxujRSDBPUeedW3nX4+iBDIJSxHQuPln2btT5cAEnUYBTuIXjsRgnBF+Bxgc7c3YghmCUt19Nye9syaYSfqwS9Je/Ldjlj+bdh+8cyyK+LQ7gIsobADj9c3ELx2Mx3kcIV5zg2TxW0sZ5BaVha382WsgSbv1Dwb7wfMG6hgK35J0P3zn2lReyJWxsDwdwEQW4JA3vdJgIEwqBjSEuWeTHbuPKwkm2cPvaS9kpST+V0X7YXXQrhZtynssDH75z7B55BdJkBdjerWaO8QZwCaflNv2YUAjgrxRQILI4r8AI1s/fKNpzR+z0nWbcJ6Ldgo4J7MExhqJJkwVgc2wftywPDuHyoxMEiSWUPbOsxXMzeeNaELwllSbLbRnwCuSjazCIfD8T50gTo/9UAJuHzcXyGSIfcAiXS8VpOZSXiHD9yaURyWirNKooPdkb2Pe3p1sMmCHMSYQSdI40USnSAGyNzbF9NALHIVxGIfLsSXM8u/x4370MNBJ6lvlqunxJCn2pb/RYShFTlTokSVNPYGNsjc3jFAt3cAiXUYiWifDZt/mufRq10zcgWGnOBfbJp/Jqk48ePIaaA9tiY2wdFyDCGdzBYRxiU7Sp0vxbBRlEnXH1JnPo948EdvNzcS7kGKoFtsXGUesVAFzBGdzBYRzipSJ8aGnO1rR7NhzjFXBTrWqGPdQT2P+kNPKOyYFDkjT1ADbFttg4rkqAKziDuyRIJAR+9NbVORsoxG9Th1DnNHh26wsF+83u9InBDdFG5UHnooZx6wVsiU2xbYwzcBzBFZzFCaaEZEIQOtX0uOFU33UgxWjhcHv8M08X7Kk0LYrRc61W0KTWYVlwjjRJDTgdwIbYEpvGaRRu4Aiu4CwpEgsBrFd9cyY7jyQYoGEqNTe/8dmCvTaQHjF8ZFnYUVZupRPnSJMWYDtsyBNFTU8vAW7gCK4qQcU5/sLbfSuquMRVEaBRddlwPrBrHs/bcEpaEuct8OzvV+Xc1vSDMhrTuvnwnWOcI00agM2c7WRDbBkHOCkEnuOoUrh1DaPfE+PXClj+blPeFs6Or69AuIrIs7vW5ezECtzVVIKXZN/yQtG6Rr3VEj3XzWpmpWW7XTzBxx4vOIEmEQEs7lKe7jyvwdZV8aadqoQA7t5WsG9sDgdvkoqBgZ2vnOnbmvnpcb0y4ei/6RAAeGpv0f7xGQaTkouAjbM+udK3a6pcfFQ1I/zgH8uFotgk7S0yRMZu2FSwx1LVmsDQ6REBtsFGSUWA7eEALqoVAZhU0fzamgY7qYX9/hMoQSBj9G1c/1RRbeKUBA0pAjbBNtgokQgEbA8HcDEZVF01lHBQgcwHHs27nVmJA5KAYVGWoLN93a2r31x29VYFwepNzxbtF7vCIeW4ruMS8ATN4v9HFzS4/oXJYNJCALuGAvvI7/JuggRdn0nywc8iBvrCvyE1r2p7a4rhpb5wfGb/SDi3I2pIuQQY46VdzKu45x0NtqgG+znUJGrjQe5Ym3PBIOpOAjI8R+np/Lj6t3m7/y24ToI8k3dsgC2SiABgY2yNzWshAlATj1DCtv7A1m9UxiqoJgBVxV6ViHPnenbjaTk7I2OvHq4Uz+0P7LYXC/bkgcANJSetCgDVAdvvb1jbYMtr+K6pmgoBsEnD1Y8VrE+xAypPHJDrKYb0KMymuazDt0+v8t3+fzMJTDRljuHPesKZRU0IoAL7HJQI2hQLfO/8nHXU2DY1FwLol0dY/3jetg0qmFGGk7o8MssSXGKHFonoyhN9W39yOLE0y6ApuGFLONuYLmAXC6CApGYRRYMqILx2cMO6BmudXANhQkyJEAA9BZ9SEPTonsDm6sETi2EUdJcyu6Zd1358uW9XLVXrImOCYNHMvTuKdue2ovUqL9ghbu3BWEAPdrhggWdfV1Bdk6BuAkyZEEq4e2vBbttctAWzKzcCQBBE1Iy8XdHhSRA5W9nOmbSKIrDNvSYBFOyBnnAlGC2javO+Z9jsRlWT16yQAaYQUy4E8IjqxM88U5AxRGglVcURUOFyky0oEafN8ew9J/j2pwu91IxdMDbwv7sD+/nrRbc0HY/IxNJqnBiUUBWwe+rt8gLrpmEQbFqEADDUzc8W7GlFytRx1ZQQnpQYgoASYbCV/ikSxUUSxOWLfeuoUVMqKXqGAntwZ9F+KQG8IvLZtRXi3RRz/lTxOHgBYqyz1IK6ZfX0DdJNmxBCsFYysG++XHBiYCZQNcYCJVEgCOpQSDhVojhLTc/z2tkczLPOFppmpJ6sMQPLy8W/PmS2cV9gT/QG9rSagC+LfMQY1v3Vkw/IzyF5PETwiVNzdq2C5Mk/d3JMsxBCdMs7fF7eYZO8A+8KSDLhIgmYtatWq+ugYTlmi0haoUh7sUpVh+rpzubA2lVc2X84fKFp2CYH4dtdPDeKt08xSa/cTvegZz36vlPP+7I+7FTaqHuyoyk9urV8bt7PfI68wBflBSqZWVQr1EUIDvrV+7uK9q0tRRleBDlCqi9RRyPMkitl+sjO7tMgEjkmm1u50Kt0judgUyq45sM0hTef7fCXqhFaPXCtieMkShagXLnE1Sl1Qf2EMIo+MfXlF4v2wBtFF0hSXdSooI1DyfjJUCtRjgeipBogILzieN8+e5pvbXWeEFN3IZSwvT+w2xU7/EqBF4aaIw9RSddrFkBX+kF5AIR+oQLcGxQLlFudPN1IjRBK2CFB3L0tHJLdL6PNlZ/GcNU0OdMAzIuw2aSC/QkYer9muW9LUyKAElInhBK2KyJ/UNXFD7qLtnc4bCo26eP8NU+cVl2Unk1mZfEprZn5jexU4rs1iMuYKp9CpFYIJRRVnB7uMbtja8GeUyuDiJ1xeJpr1fRFTCXCWcThnka0XM5QK+C6FTm7pENebaoCnxoh9UI4Er2HzH7SXVC1Edgr/eGETVoCeIrJtuMrBVYr9WNQ8mlh0CQ9pRX379n7OnNqqo4mzgAyJYQjsWcosCf3Bfb73sB18jD8zaglvY6N8hgE4S62GE1fbYxRMg9/u2hfH9Yb0HvIKCLDwXRend3u2bn6N6tvf8msEI4EM3a6Bsy2Kq6gt+95eYvNfXQMEahBTNj9C/AcpVBjLGUYAmuQlJIOiE1I6Xu8CMuzlW2ena5STy8mL71Y0hK+5iDrmBFCmBgK1tTqYPXSHlUpu+Qx+kbMdqtIU8XgzinhRwI+qWZw6SzeaZtltkglnpFTXonXNNrpNfNg9v+6EfkDZW5F2gAAAABJRU5ErkJggg==\";\n\n static RECEIPT_UNKNOWN_LOGO =\n \"data:image/png;base64,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\";\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL0RlYml0Q2FyZEF1dG9SZW5ld2FsL0FjY2VwdENvbmRpdGlvbi1Nb2RhbC9BY2NlcHRDb25kaXRpb24tTW9kYWwuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

About Auto Renewal

\\n
Accept & submit this form to idemnify
\\n
\\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Elementum, consectetur arcu consequat gravida iaculis mi sed nulla. Dictumst felis placerat mattis a. Velit cras id commodo, viverra ipsum purus porta.\\n\\n Eget montes, fames posuere id facilisis in interdum malesuada. Diam cursus vitae lacus commodo arcu elit. Lectus quis quisque dui aliquet consequat facilisi feugiat purus et. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Elementum, consectetur arcu consequat gravida iaculis mi sed nulla. Dictumst felis placerat mattis a. Velit cras id commodo, viverra ipsum purus porta.\\n\\n Eget montes, fames posuere id facilisis in interdum malesuada. Diam cursus vitae lacus commodo arcu elit. Lectus quis quisque dui aliquet consequat facilisi feugiat purus et.\\n\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Elementum, consectetur arcu consequat gravida iaculis mi sed nulla. Dictumst felis placerat mattis a. Velit cras id commodo, viverra ipsum purus porta.\\n\\n Eget montes, fames posuere id facilisis in interdum malesuada. Diam cursus vitae lacus commodo arcu elit. Lectus quis quisque dui aliquet consequat facilisi feugiat purus et.\\n

\\n \\n\\n\\n
\\n
\\n \\n \\n
\\n\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { VariablesService } from 'src/app/core/services/variables.service';\nimport { CustomerAccount } from 'src/app/core/models/account';\n\n@Component({\n selector: 'app-AcceptCondition-Modal',\n templateUrl: './AcceptCondition-Modal.component.html',\n styleUrls: ['./AcceptCondition-Modal.component.css']\n})\nexport class AcceptConditionModalComponent implements OnInit {\n accountForm:FormGroup;\n accountNumber: string;\n accountNumbers: CustomerAccount[];\n buttondisabler: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,private formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {\n\n }\n ngOnInit() {\n\n }\n\n onNoClick(): void {\n this.data.proceed = this.data.proceed;\n this.dialogRef.close();\n }\n\n\n datasetter(){\n this.data.proceed = !this.data.proceed;\n }\n\n\n}\n\nexport interface DialogData{\n\n proceed:boolean\n account:string\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AcceptConditionModalComponent } from './AcceptCondition-Modal.component';\nimport { RouterModule } from '@angular/router';\nimport { MatButtonModule, MatDialogModule } from '@angular/material';\nimport { AppMaterialModule } from 'src/app/app.material.module';\n\n\nconst AcceptConditionModalModuleRoute = RouterModule.forChild([\n {\n path: '',\n component: AcceptConditionModalComponent,\n },\n]);\n\n@NgModule({\n imports: [\n CommonModule,MatDialogModule,RouterModule,AppMaterialModule,MatButtonModule,\n AcceptConditionModalModuleRoute\n ],\n declarations: [AcceptConditionModalComponent]\n})\nexport class AcceptConditionModalModule { }\n","module.exports = \".tab {\\n border: 1px solid #eeeeee;\\n background-color: #fff;\\n margin-left: 5px;\\n}\\n\\n/* Style the buttons inside the tab */\\n\\n.tab button {\\n display: block;\\n background-color: inherit;\\n color: #616161;\\n padding: 15px 16px;\\n width: 100%;\\n border: none;\\n outline: none;\\n text-align: left;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 12px;\\n}\\n\\n/* Change background color of buttons on hover */\\n\\n.tab button:hover {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n/* Create an active/current \\\"tab button\\\" class */\\n\\n.tab button.active {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n border-left: 5px solid #0033A1;\\n}\\n\\n.tab button.active :nth-child(2n) {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n.tab button i {\\n margin-right: 10px;\\n}\\n\\n/* Style the tab content */\\n\\n.tabcontent {\\n float: left;\\n border: 1px solid #eeeeee;\\n min-height: 300px;\\n background: #fff;\\n width: 99%;\\n}\\n\\n.tab-title {\\n background-color: inherit;\\n color: #616161;\\n padding: 0px 16px;\\n width: 100%;\\n outline: none;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 14px;\\n min-height: 40px;\\n line-height: 40px;\\n border-bottom: 1px solid #eeeeee;\\n}\\n\\n.transactions-breadcrumb {\\n align-items: center;\\n margin: 0;\\n padding: 5px 0;\\n margin-left: 5px;\\n}\\n\\n.transactions-breadcrumb span {\\n padding: 0px 5px;\\n}\\n\\n.transactions-breadcrumb a {\\n color: #2a56c6 !important;\\n}\\n\\n.transactions-breadcrumb a:hover {\\n text-decoration: underline;\\n}\\n\\n@media screen and (min-width: 1024px) {\\n #navigateDDl {\\n display: none;\\n }\\n }\\n\\n@media screen and (max-width: 1023px) {\\n #navigateMain {\\n display: none;\\n }\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2FwcHJvdmFscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixpQkFBaUI7Q0FDcEI7O0FBRUQsc0NBQXNDOztBQUN0QztJQUNJLGVBQWU7SUFDZiwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osYUFBYTtJQUNiLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7Q0FDbkI7O0FBRUQsaURBQWlEOztBQUNqRDtJQUNJLDBCQUEwQjtJQUMxQixrQkFBa0I7SUFDbEIsZUFBZTtDQUNsQjs7QUFFRCxpREFBaUQ7O0FBQ2pEO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsK0JBQStCO0NBQ2xDOztBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2xCOztBQUNEO0lBQ0ksbUJBQW1CO0NBQ3RCOztBQUNELDJCQUEyQjs7QUFDM0I7SUFDSSxZQUFZO0lBQ1osMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsV0FBVztDQUNkOztBQUNEO0lBQ0ksMEJBQTBCO0lBQzFCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlDQUFpQztDQUNwQzs7QUFFRDtJQUNJLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsZUFBZTtJQUNmLGlCQUFpQjtDQUNwQjs7QUFFRDtJQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtJQUNJLDBCQUEwQjtDQUM3Qjs7QUFDRDtJQUNJLDJCQUEyQjtDQUM5Qjs7QUFDRDtJQUNJO01BQ0UsY0FBYztLQUNmO0dBQ0Y7O0FBR0Q7SUFDRTtNQUNFLGNBQWM7S0FDZjtDQUNKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2FwcHJvdmFscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRhYiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi8qIFN0eWxlIHRoZSBidXR0b25zIGluc2lkZSB0aGUgdGFiICovXG4udGFiIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBjb2xvcjogIzYxNjE2MTtcbiAgICBwYWRkaW5nOiAxNXB4IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qIENoYW5nZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGJ1dHRvbnMgb24gaG92ZXIgKi9cbi50YWIgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEZDO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAzM0ExO1xufVxuXG4vKiBDcmVhdGUgYW4gYWN0aXZlL2N1cnJlbnQgXCJ0YWIgYnV0dG9uXCIgY2xhc3MgKi9cbi50YWIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGQztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMzNBMTtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDMzQTE7XG59XG5cbi50YWIgYnV0dG9uLmFjdGl2ZSA6bnRoLWNoaWxkKDJuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGQztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMzNBMTtcbn1cbi50YWIgYnV0dG9uIGkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbi8qIFN0eWxlIHRoZSB0YWIgY29udGVudCAqL1xuLnRhYmNvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogOTklO1xufVxuLnRhYi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBjb2xvcjogIzYxNjE2MTtcbiAgICBwYWRkaW5nOiAwcHggMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlO1xufVxuXG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi50cmFuc2FjdGlvbnMtYnJlYWRjcnVtYiBzcGFuIHtcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLnRyYW5zYWN0aW9ucy1icmVhZGNydW1iIGEge1xuICAgIGNvbG9yOiAjMmE1NmM2ICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAjbmF2aWdhdGVERGwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAjbmF2aWdhdGVNYWluIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */\"","module.exports = \"
\\n \\n
\\n
\\n
\\n Dashboard\\n \\n Approvals\\n \\n {{(_activeTab || '') | titlecase}}\\n
\\n
\\n
\\n
\\n
\\n
\\n Navigate To\\n \\n\\n\\n \\n
\\n Transfer\\n
\\n
\\n \\n
\\n Bulk Payments\\n
\\n
\\n \\n
\\n Pension Remittance File Uploads\\n
\\n
\\n \\n
\\n Bill Payments\\n
\\n
\\n \\n
\\n International Transfer\\n
\\n
\\n \\n
\\n Western Union Redemption\\n
\\n
\\n\\n \\n
\\n Beneficiary Management\\n
\\n
\\n \\n
\\n Biller Management\\n
\\n
\\n \\n
\\n Service Requests\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { EventHandlerService } from 'src/app/core/services/EventHandlerService';\n\n@Component({\n selector: 'app-approvals',\n templateUrl: './approvals.component.html',\n styleUrls: ['./approvals.component.css']\n})\nexport class ApprovalsComponent implements OnInit, AfterViewInit {\n\n public _activeTab: string;\n loaderIsActive: boolean;\n constructor() { \n try {\n window['casa']('add_payee'); \n } catch (error) {}\n }\n\n ngOnInit() {\n EventHandlerService.emitOnAppViewChangedEvent();\n if (!this._activeTab) {\n this._activeTab = 'payments';\n }\n this.openTab(null, this._activeTab);\n }\n\n ngAfterViewInit(): void {\n }\n\n openTab(evt, tabName) {\n let i, tabcontent;\n tabcontent = document.getElementsByClassName('tabcontent');\n for (i = 0; i < tabcontent.length; i++) {\n tabcontent[i].style.display = 'none';\n }\n this._activeTab = tabName;\n document.getElementById(tabName).style.display = 'block';\n }\n\n onNavigationOptionChange(evtData) {\n this._activeTab = evtData.value as string;\n this.openTab('', this._activeTab);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { AppMaterialModule } from 'src/app/app.material.module';\nimport { ApprovalsComponent } from './approvals.component';\nimport { PaymentApprovalsComponent } from './payment-approvals/payment-approvals.component';\nimport { BeneficiariryApprovalsComponent } from './beneficiariry-approvals/beneficiariry-approvals.component';\nimport { BillerApprovalsComponent } from './biller-approvals/biller-approvals.component';\nimport { ServiceRequestApprovalsComponent } from './service-request-approvals/service-request-approvals.component';\nimport { StagedRequestService } from 'src/app/core/services/request.staged.service';\nimport { FileUploadApprovalComponent } from './file-upload-approval/file-upload-approval.component';\nimport { VerticalTimelineModule } from 'angular-vertical-timeline';\nimport { FxPaymentApprovalsComponent } from './fx-payment-approvals/fx-payment-approvals.component';\nimport { BeneficiaryApprovalService } from 'src/app/core/services/workflow/beneficiary.approval.service';\nimport { BillPaymentApprovalsComponent } from './bill-payment-approvals/bill-payment-approvals.component';\nimport { WesternUnionApprovalsComponent } from './western-union-approvals/western-union-approvals.component';\nimport { BulkPensionPaymentsComponent } from './bulk-pension-payments/bulk-pension-payments.component';\n\nconst approvalsRouter = RouterModule.forChild([\n {path: '', component: ApprovalsComponent}\n]);\n@NgModule({\n declarations: [\n ApprovalsComponent,\n PaymentApprovalsComponent,\n BeneficiariryApprovalsComponent,\n BillerApprovalsComponent,\n ServiceRequestApprovalsComponent,\n FileUploadApprovalComponent,\n FxPaymentApprovalsComponent,\n BillPaymentApprovalsComponent,\n WesternUnionApprovalsComponent,\n BulkPensionPaymentsComponent,\n ],\n imports: [ CommonModule, approvalsRouter, FormsModule, RouterModule, ReactiveFormsModule, AppMaterialModule, VerticalTimelineModule],\n exports: [\n ApprovalsComponent,\n PaymentApprovalsComponent,\n BeneficiariryApprovalsComponent,\n BillerApprovalsComponent,\n ServiceRequestApprovalsComponent,\n FileUploadApprovalComponent,\n FxPaymentApprovalsComponent,\n BillPaymentApprovalsComponent,\n WesternUnionApprovalsComponent\n ],\n providers: [\n StagedRequestService,\n BeneficiaryApprovalService\n ],\n})\nexport class ApprovalsModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { AppUser } from 'src/app/core/models/auth';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { Role } from 'src/app/core/models/user/AppUser';\n\nexport class BaseApprovalComponent {\n\n public _loggedInUser: AppUser;\n public _loggedInUserIsApprover: boolean;\n public _loggedInUserIsInitiator: boolean;\n public pageTitle: string;\n constructor( public _authService: AuthService) {\n\n this._loggedInUser = _authService.getLoggedInUser();\n this._loggedInUserIsApprover = _authService.loggedInUserHasSMEProfile() && this._loggedInUser.Role.roles.includes(Role.Approver);\n this._loggedInUserIsInitiator = _authService.loggedInUserHasSMEProfile() &&\n this._loggedInUser.Role.roles.includes(Role.Initiator);\n }\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n/*------ Removing modal backgrounds --------------- */\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1 !important;\\n}\\n.beneficiary-details-card .mat-dialog-container{\\n border-left: 1px solid orangered !important;\\n}\\n.mat-input-element:disabled {\\n color: darkblue !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2JlbmVmaWNpYXJpcnktYXBwcm92YWxzL2JlbmVmaWNpYXJpcnktYXBwcm92YWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7OztJQUtJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBRUQ7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7OztJQUdJLDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDbkM7QUFDRDtJQUNJLHlDQUF5QztDQUM1QztBQUVELHNEQUFzRDtBQUN0RDtJQUNJLHNCQUFzQjtDQUN6QjtBQUNEO0lBQ0ksNENBQTRDO0NBQy9DO0FBRUQ7SUFDSSwyQkFBMkI7Q0FDOUIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hcHByb3ZhbHMvYmVuZWZpY2lhcmlyeS1hcHByb3ZhbHMvYmVuZWZpY2lhcmlyeS1hcHByb3ZhbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LCAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOWY5ZjkgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0gUmVtb3ZpbmcgbW9kYWwgYmFja2dyb3VuZHMgLS0tLS0tLS0tLS0tLS0tICovXG4uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmJlbmVmaWNpYXJ5LWRldGFpbHMtY2FyZCAubWF0LWRpYWxvZy1jb250YWluZXJ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBvcmFuZ2VyZWQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkIHtcbiAgICBjb2xvcjogZGFya2JsdWUgIWltcG9ydGFudDtcbn0iXX0= */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Beneficiary Management Requests'}}\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
NameBeneficiaryIDRequest TypeRequested ByRequest DateParty TypeStatus
\\n {{request.NewBeneficiaryDetails.beneficiaryName | titlecase}}\\n {{request.BeneficiaryDetails.BeneficiaryName | titlecase}}\\n {{request.NewBeneficiaryDetails.Id}}\\n {{request.BeneficiaryDetails.Id}}\\n \\n {{request['requestType'] | titlecase }}\\n \\n {{request.Initiator}}\\n {{request.NewBeneficiaryDetails.createdDate | date:'short' }}\\n {{request.BeneficiaryDetails.createdDate | date:'short' }}{{'Beneficiary'}}\\n \\n {{request.NewBeneficiaryDetails.status}}\\n {{request.BeneficiaryDetails.status}}\\n \\n \\n \\n \\n \\n done_all\\n Approve\\n \\n \\n \\n \\n
\\n loading pending beneficiary management requests .. please wait\\n
\\n There are no pending beneficiary management request awaiting\\n your approval\\n You have no pending beneficiary-management requests\\n
\\n \\n \\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   \\n {{'Approve Beneficiary Management Request'}}\\n \\n

\\n \\n \\n \\n Beneficiary Details\\n
\\n
\\n
\\n
\\n
\\n \\n Account Number\\n \\n \\n
\\n
\\n
\\n
\\n \\n Bank\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Beneficiary Name\\n \\n Account Name\\n \\n
\\n
\\n
\\n
\\n \\n Phone Number\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Email Address\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Sender Narration\\n \\n \\n
\\n
\\n \\n Receiver Narration\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Verify OTP\\n
\\n Verify OTP\\n

{{_otpInstruction || 'Please enter the One Time Pin sent to you to approve request '}}\\n

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n\\n \\n\\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}\\n {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Beneficiary management approved.\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

\\n   \\n {{'Approve Beneficiary Management Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n \\n Please confirm that you want to approve information update for\\n {{requestDetailModalData.data['BeneficiaryDetails'].BeneficiaryName}}\\n
\\n \\n Please confirm that you want to approve the REMOVAL of\\n {{requestDetailModalData.data['BeneficiaryDetails'].BeneficiaryName}}\\n from your account beneficiary list\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n  \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n \\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

{{_otpInstruction || 'Please enter the One Time Pin sent to you to approve request'}} \\n

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n  \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}\\n {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n \\n \\n \\n \\n \\n \\n \\n\\n\"","import { Component, OnInit, ViewChild, TemplateRef, Input, SimpleChanges, OnChanges, OnDestroy } from '@angular/core';\nimport { MatSnackBar, MatDialogRef, MatDialog, MatStepper, PageEvent } from '@angular/material';\nimport { NotificationsService } from 'angular2-notifications';\nimport { StagedBeneficiaryRequestObject, StagedBeneficiaryRequestApprovalPayload, StagedBeneficiaryRequestReponse } from 'src/app/core/models/beneficiary';\nimport { ApprovalRequestStatus, OtpReasonCodes, ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { NgForm } from '@angular/forms';\nimport { BeneficiaryStagingService } from 'src/app/core/services/staging/beneficiary.staging.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { BeneficiaryApprovalService } from 'src/app/core/services/workflow/beneficiary.approval.service';\nimport { ApprovalStage } from 'src/app/core/models/payloads/transactions';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\n\n@Component({\n selector: 'app-beneficiariry-approvals',\n templateUrl: './beneficiariry-approvals.component.html',\n styleUrls: ['./beneficiariry-approvals.component.css']\n})\nexport class BeneficiariryApprovalsComponent extends BaseApprovalComponent implements OnInit, OnChanges, OnDestroy {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n _activeRequestCount = 0;\n\n @Input() _activeTab: string;\n requestList: StagedBeneficiaryRequestObject[] = [];\n requestListBackup: StagedBeneficiaryRequestObject[] = [];\n _selectedRequestCount = 0;\n requestDetailModalData = {\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: {} as any\n };\n filterIsActive: boolean;\n approvalStatusEnum = ApprovalRequestStatus;\n searchFilter = this.initSearchFilterParams();\n _otpReferenceId: string;\n oneTimePassCode: string;\n _otpInstruction: string;\n\n _paymentApprovalCompleted: boolean;\n _availableApprovalStages: Array = [];\n @ViewChild('beneficiaryDetailModal') _beneficiarydetailModalTemplate: TemplateRef;\n public requestDetailModal: MatDialogRef;\n @ViewChild('beneficiaryEditModal') _beneficiaryEditModalTemplate: TemplateRef;\n public editApprovalModal: MatDialogRef;\n\n private approvalHistoryModal: MatDialogRef;\n private rejectionDialog: MatDialogRef;\n\n constructor(private _snackbar: MatSnackBar, private _toast: NotificationsService,\n private _stagedRequestsService: BeneficiaryStagingService, private _miscService: MiscService, authService: AuthService,\n private _dialogService: MatDialog, private _approvalService: BeneficiaryApprovalService) {\n super(authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n\n\n this.pageTitle = this._loggedInUser && authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover ?\n 'Authorize Beneficiary Management Requests' : '';\n UtilService.onPageLoadCallback();\n\n\n \n }\n\n ngOnInit() {\n // this.fetchBeneficiaryApprovalRequests();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'beneficiaries') {\n this.fetchBeneficiaryApprovalRequestsAlt();\n }\n if (this._activeTab !== 'beneficiaries') {\n this.dismissOpenModalWindows();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dismissOpenModalWindows();\n }\n\n fetchBeneficiaryApprovalRequestsAlt(loaderMsg = 'loading requests .. please wait', lastFetchedId: number = 0, pageSize: number = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this.fetchPendingBeneficiaryRequestAggregate(pageSize, lastFetchedId).then(\n (responseArray) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.requestListBackup = [];\n responseArray.forEach((response, index) => {\n if (response && response.ResponseCode && response.ResponseCode === '00' && response.PaginatedItems) {\n if (index === 0) {\n response.PaginatedItems.forEach(obj => obj['operationType'] = 'ADD_BENEFICIARY');\n }\n this.requestListBackup = this.requestListBackup.concat(response.PaginatedItems);\n }\n });\n this.requestListBackup.forEach(req => {\n req['requestType'] = req['operationType'] === 'ADD_BENEFICIARY' ? 'Addition' :\n req['BeneficiaryDetails'].operationType === 'EDIT_BENEFICIARY' ? 'Update' :\n req['BeneficiaryDetails'].operationType === 'REMOVE_BENEFICIARY' ? 'Removal' : '';\n });\n\n\n this.requestList = this.requestListBackup.slice(0, 5);\n\n }\n ,\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open('load pending approval requests failed with error => ', error);\n });\n }\n\n onRequestCheckboxChanged(evtData, postion: number) {\n this.requestList[postion]['checked'] = evtData.checked;\n const indexOnBackup = this.requestListBackup.indexOf(this.requestList[postion]);\n this.requestListBackup[indexOnBackup]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestListBackup.filter(request => request['checked']).length;\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiateRequestApprovalOTP(stepper);\n break;\n }\n case 'decline': {\n const rejectionDialog = this._dialogService.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Beneficiary Approval Request',\n payload: {\n OperationType: 'ADD_BENEFICIARY',\n OperationId: this.requestDetailModalData.data.Id,\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n rejectionDialog.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n this.fetchBeneficiaryApprovalRequestsAlt('refreshing .. please wait');\n }\n });\n this.requestDetailModal.close();\n break;\n }\n }\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestListBackup.forEach(row => row['checked'] = true);\n this._selectedRequestCount = this.requestListBackup.length;\n } else {\n this.requestListBackup.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n }\n this.requestList = this.requestListBackup.slice(0, 5);\n }\n\n onApprovalRequestAction(action: string, data: StagedBeneficiaryRequestObject) {\n this.requestDetailModalData.requestMeta['BatchId'] = data.BatchId;\n this.requestDetailModalData.requestMeta['Initiator'] = data.Initiator;\n this.requestDetailModalData.requestMeta['ApprovalStageId'] = data.ApprovalStageId;\n this.requestDetailModalData.requestMeta['ApproverId'] = data.ApproverId;\n\n // this.requestDetailModalData.data = data.NewBeneficiaryDetails;\n\n\n switch (action) {\n case 'view': {\n this.onViewRequestDetail(data);\n break;\n }\n case 'approve-edit': {\n this._launchEditApprovalModal(data);\n break;\n }\n case 'reject': {\n this.rejectionDialog = this._dialogService.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Beneficiary Approval Request',\n payload: {\n OperationType: data.NewBeneficiaryDetails['OperationType'],\n OperationId: data.NewBeneficiaryDetails.Id\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.rejectionDialog.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.fetchBeneficiaryApprovalRequestsAlt('refreshing .. please wait');\n }\n });\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data['operationType'],\n OperationId: Number(data.NewBeneficiaryDetails.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialogService.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: data['requestType'] && data['requestType'] === 'Addition' ? 'beneficiary-management-add' :\n data['requestType'] && data['requestType'] === 'Update' ? 'beneficiary-management-update' : '',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper) {\n if (!form.valid) {\n this._snackbar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok', { duration: 10000 });\n return;\n }\n this.sendBeneficiaryApprovalRequest(this.requestDetailModalData.data as StagedBeneficiaryRequestObject, stepper);\n }\n\n oncloseRequestApprovalModal() {\n if (this.requestDetailModal) {\n this.requestDetailModal.close();\n }\n if (this.editApprovalModal) {\n this.editApprovalModal.close();\n }\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.oneTimePassCode = '';\n this._otpReferenceId = '';\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n }\n\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildBeneficiaryApprovalRequestPayload('ADD_BENEFICIARY'); // todo: Fix request type\n requestPayload.NextStages = [approvalStage];\n this.sendBeneficiaryApprovalRequestWithStageSelection(this.requestDetailModalData.data, stepper);\n }\n private sendBeneficiaryApprovalRequest(request: StagedBeneficiaryRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving .. please wait`;\n const operationName = this.getRequestOperationName(request['requestType']);\n const approvalRequestPayload = this.buildBeneficiaryApprovalRequestPayload(operationName);\n\n\n if (request['requestType'] != 'Addition') {\n\n this._approvalService.approvePendingBeneficiaryUpdateRequest(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 15);\n this.fetchBeneficiaryApprovalRequestsAlt('refreshing pending beneficiary approvals');\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 150000 });\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 250000 });\n }\n );\n return;\n }\n\n this._approvalService.approvePendingBeneficiaryAddRequest(approvalRequestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 15);\n this.fetchBeneficiaryApprovalRequestsAlt('refreshing pending beneficiary approvals');\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 150000 });\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 250000 });\n }\n );\n }\n\n private sendBeneficiaryApprovalRequestWithStageSelection(request: StagedBeneficiaryRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving .. please wait`;\n const operationName = this.getRequestOperationName(request['requestType']);\n const approvalRequestPayload = this.buildBeneficiaryApprovalRequestPayload(operationName);\n approvalRequestPayload['CurrentApprovalStageId'] = request.ApprovalStageId;\n this._approvalService.approvePendingBeneficiaryAddRequestWithSelectedStage(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 15);\n this.fetchBeneficiaryApprovalRequestsAlt('refreshing pending beneficiary approvals');\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private getRequestOperationName(requestType: string) {\n switch (requestType) {\n case 'Addition': return 'ADD_BENEFICIARY';\n case 'Removal': return 'REMOVE_BENEFICIARY';\n case 'Update': return 'EDIT_BENEFICIARY';\n }\n }\n\n private handleNonSuccessApprovalResponse(request: StagedBeneficiaryRequestObject, response: any, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this.requestDetailModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendBeneficiaryApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n private initiateRequestApprovalOTP(stepper: MatStepper, isResendOTP = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE BENEFICIARY OPERATION').then(\n (response) => {\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.initiateRequestApprovalOTP(stepper));\n return;\n }\n this._otpInstruction = `Please enter the One Time Pin sent to ${response.NotificationAddress} to continue`;\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n if (!isResendOTP) {\n setTimeout(() => stepper.next(), 25);\n }\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n\n\n private onViewRequestDetail(beneficiary: StagedBeneficiaryRequestObject) {\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n this.requestDetailModalData.data = beneficiary;\n\n this.requestDetailModal = this._dialogService.open(this._beneficiarydetailModalTemplate,\n { hasBackdrop: false, panelClass: 'beneficiary-details-card' });\n }\n\n _launchEditApprovalModal(data) {\n this.requestDetailModalData.data = data;\n // this.editApprovalModal = this._dialogService.open(this._beneficiaryEditModalTemplate,\n // { hasBackdrop: false, panelClass: 'beneficiary-details-card' });\n\n\n this.editApprovalModal = UtilService.showBasicModal(this.editApprovalModal, this._beneficiaryEditModalTemplate, this._dialogService);\n\n\n\n }\n\n private buildBeneficiaryApprovalRequestPayload(operationName):\n StagedBeneficiaryRequestApprovalPayload {\n return {\n BatchId: Number(this.requestDetailModalData.requestMeta.BatchId),\n ApproverId: Number(this.requestDetailModalData.requestMeta.ApproverId),\n ApproverStageId: Number(this.requestDetailModalData.requestMeta.ApprovalStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n OperationType: operationName, // 'ADD_BENEFICIARY',\n UserId: ''\n };\n }\n\n\n onBeneficiariesApprovalsPaginationChanged(onBeneficiariesApprovalsPaginationChanged: PageEvent) {\n\n const start = onBeneficiariesApprovalsPaginationChanged.pageIndex * onBeneficiariesApprovalsPaginationChanged.pageSize;\n const end = start + onBeneficiariesApprovalsPaginationChanged.pageSize;\n\n // console.log(this.requestListBackup);\n this.requestList = this.requestListBackup.slice(start, end);\n // console.log(start);\n // console.log(end);\n // console.log(this.requestList);\n }\n\n initSearchFilterParams() {\n return {\n beneficiaryName: '',\n beneficiaryId: '',\n partyType: '',\n status: 0\n };\n }\n\n private fetchPendingBeneficiaryRequestAggregate(pageSize = 100, lastFetchedId = 0, ): Promise {\n const pendingBeneficiaryAddRequests = this._stagedRequestsService.getStagedBeneficiaryRequests(\n { PageSize: pageSize, LastIdFetched: lastFetchedId, OperationType: 'ADD_BENEFICIARY' })\n .catch(error => { console.log(error); return null; });\n const pendingBeneficiaryUpdateRequests = this._stagedRequestsService.getStagedBeneficiaryUpdateRequests(\n { PageSize: pageSize, LastIdFetched: lastFetchedId }).catch(error => { console.log(error); return null; });\n\n return Promise.all([pendingBeneficiaryAddRequests, pendingBeneficiaryUpdateRequests]);\n }\n\n\n private dismissOpenModalWindows() {\n if (this.requestDetailModal) {\n this.requestDetailModal.close();\n }\n if (this.editApprovalModal) {\n this.editApprovalModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n\n if (this.rejectionDialog) {\n this.rejectionDialog.close();\n }\n }\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n/*------ Removing modal backgrounds --------------- */\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1 !important;\\n}\\n.beneficiary-details-card .mat-dialog-container{\\n border-left: 1px solid orangered !important;\\n}\\n.mat-input-element:disabled {\\n color: darkblue !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2JpbGwtcGF5bWVudC1hcHByb3ZhbHMvYmlsbC1wYXltZW50LWFwcHJvdmFscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUNEO0lBQ0ksa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFFRDs7Ozs7SUFLSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDZDQUE2QztDQUNoRDtBQUVEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBQ0Q7SUFDSSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7SUFHSSw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ25DO0FBQ0Q7SUFDSSx5Q0FBeUM7Q0FDNUM7QUFFRCxzREFBc0Q7QUFDdEQ7SUFDSSxzQkFBc0I7Q0FDekI7QUFDRDtJQUNJLDRDQUE0QztDQUMvQztBQUVEO0lBQ0ksMkJBQTJCO0NBQzlCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2JpbGwtcGF5bWVudC1hcHByb3ZhbHMvYmlsbC1wYXltZW50LWFwcHJvdmFscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3RyYW5zYWN0aW9ucy10YWJsZS5tYXQtdG9vbGJhci1yb3csICN0cmFuc2FjdGlvbnMtdGFibGUgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtcGFuZSAubWF0LWNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0aGVhZCB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLSBSZW1vdmluZyBtb2RhbCBiYWNrZ3JvdW5kcyAtLS0tLS0tLS0tLS0tLS0gKi9cbi5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uYmVuZWZpY2lhcnktZGV0YWlscy1jYXJkIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIG9yYW5nZXJlZCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBkYXJrYmx1ZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Bill Payment Requests'}}\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Source AccountTypeBeneficiaryStatusRequested ByTransaction DateAmount
\\n {{paymentRequest.BillDetails.sourceAccountNo}}\\n \\n {{paymentRequest.BillDetails.operationType}}\\n \\n {{paymentRequest.BillDetails.billerName}}\\n \\n \\n {{paymentRequest.BillDetails.Status | titlecase}}\\n \\n \\n {{(paymentRequest.Initiator || '').substr(0, 15)+ ' ..'}}\\n \\n {{paymentRequest.BillDetails.CreatedDate | date}}\\n \\n {{paymentRequest.BillDetails.amount | currency:'N' }}\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending bill payment requests .. please wait\\n
\\n There are no pending bill payments awaiting your approval\\n You have no pending bill payment requests\\n
\\n \\n \\n
\\n
\\n
\\n \\n {{ownloaderMsg}}\\n \\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   \\n {{'Approve Bill Payment'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n Please Confirm that you want to approve this bill payment\\n
\\n Please note that you can not undo this action\\n
\\n
\\n \\n Verify OTP\\n
\\n Verify OTP\\n

{{otpInstruction || 'Please enter the One Time Pin sent to you to approve request'}}

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level :   {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}   {{stage.NumOfRequiredApprovers > 1 ? ' approvers':' approver'}} required\\n \\n \\n
\\n
0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Approver LevelApprovers RequiredAvailable Approvers
\\n \\n \\n {{stage.ApprovalLevel}}{{stage.NumOfRequiredApprovers}}{{stage.ApprovalUserIds}}
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n check_circle\\n
Success
\\n
Bill Payment Approved
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges, ViewChild, TemplateRef } from '@angular/core';\nimport { PaymentStagingService } from 'src/app/core/services/staging/payment.staging.service';\nimport { MatSnackBar, PageEvent, MatDialogRef, MatDialog, MatStepper } from '@angular/material';\nimport { ResponseCodes, Role, OtpReasonCodes } from 'src/app/core/models/Enumerations';\nimport { CustomerAccount } from 'src/app/core/models/account';\nimport { ApprovalStage, StagedBillPaymentRequestobject, GenericApprovalPayload } from 'src/app/core/models/payloads/transactions';\nimport { Approval } from 'src/app/core/models/approvals/payment.approval';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { NgForm } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { PaymentApprovalService } from 'src/app/core/services/workflow/payments.approval.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { AppUser } from 'src/app/core/models/auth';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from 'src/app/core/services/variables.service';\n\n@Component({\n selector: 'app-bill-payment-approvals',\n templateUrl: './bill-payment-approvals.component.html',\n styleUrls: ['./bill-payment-approvals.component.css']\n})\nexport class BillPaymentApprovalsComponent extends BaseApprovalComponent implements OnInit, OnChanges {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n _activeRequestCount = 0;\n\n accountList: CustomerAccount[];\n requestList: StagedBillPaymentRequestobject[] = [];\n requestListBackup: StagedBillPaymentRequestobject[] = [];\n _pageSize = 5;\n _selectedRequestCount = 0;\n requestDetailModalData = {\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: {} as any\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n\n _requestApprovalHistory: Array = [];\n _availableApprovalStages: Array = [];\n _selectedApprovalStage: ApprovalStage;\n\n pageTitle: string;\n\n _paymentApprovalCompleted: boolean;\n @ViewChild('paymentApprovalModal') _requestApprovalModalTemplate: TemplateRef;\n public requestDetailModal: MatDialogRef;\n public approvalHistoryModal: MatDialogRef;\n public requestRejectionModal: MatDialogRef;\n\n public otpInstruction: string;\n accountNoSet: Set;\n\n constructor(private _billStagingService: PaymentStagingService, private _snackbar: MatSnackBar,\n private _dialog: MatDialog, private _miscService: MiscService, _authService: AuthService,\n private _approvalService: PaymentApprovalService) {\n super(_authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this.pageTitle = _authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover ?\n 'Authorize Pending Bill Payment Approval Requests' : '';\n UtilService.onPageLoadCallback();\n }\n\n ngOnInit() {\n this.accountNoSet = new Set();\n VariablesService.CustomerAccounts.forEach(element => {\n this.accountNoSet.add(element.accountNumber);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab !== 'bill_payments') {\n this.dismissOpenModalWindows();\n }\n if (this._activeTab === 'bill_payments') {\n this.loadBillPaymentRequests();\n }\n }\n }\n\n loadBillPaymentRequests(loaderMsg = 'fetching pending bill payment requests. please wait ..', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._billStagingService.getStagedBillPaymentsRequest({ PageSize: pageSize, LastFetchId: lastFetchId }).then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n response.PaginatedItems.forEach(request => {\n request['checked'] = false;\n });\n this.requestListBackup = response.PaginatedItems;\n this.requestListBackup = this.requestListBackup.filter(item => this.accountNoSet.has(item.BillDetails.sourceAccountNo));\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onApprovalRequestAction(action: string, data: StagedBillPaymentRequestobject) {\n this.requestDetailModalData.requestMeta['BatchId'] = data.BatchId;\n this.requestDetailModalData.requestMeta['Initiator'] = data.Initiator;\n this.requestDetailModalData.requestMeta['ApprovalStageId'] = data.ApprovalStageId;\n this.requestDetailModalData.requestMeta['ApproverId'] = data.ApproverId;\n this.requestDetailModalData.data = data.BillDetails;\n switch (action) {\n case 'approve': {\n this.initRequestApprovalModal(data);\n break;\n }\n case 'reject': {\n this.requestRejectionModal = this._dialog.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Payment Approval Request',\n payload: {\n OperationType: data.BillDetails['operationType'],\n OperationId: data.BillDetails.Id\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.requestRejectionModal.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.loadBillPaymentRequests('refreshing .. please wait');\n }\n });\n\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data.BillDetails['operationType'],\n OperationId: Number(data.BillDetails.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'biller-payments',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiateRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackbar.open('Please provode a reason for rejecting request .. ', 'Ok', { duration: 10000 });\n return;\n }\n break;\n }\n }\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper) {\n if (!form.valid) {\n this._snackbar.open(`Invalid One Time PIN provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendBillPaymentApprovalRequest(this.requestDetailModalData.data as StagedBillPaymentRequestobject, stepper);\n }\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n onApprovaStageSelected(evtData, stage: ApprovalStage, stageIndex: number) {\n this._availableApprovalStages.forEach(stage_ => stage_['checked'] = false);\n this._availableApprovalStages[stageIndex]['checked'] = evtData.checked;\n this._selectedApprovalStage = evtData.checked ? stage : null;\n }\n\n onAprovalFlowSelected(stepper: MatStepper) {\n if (!this._selectedApprovalStage) {\n this._snackbar.open(`Please select an approval stage.`, 'Ok');\n return;\n }\n const requestPayload = this.buildBillPaymentApprovalStageRequestPayload(this.requestDetailModalData.data.operationType);\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'submitting selected next approval level';\n this._approvalService.approvePendingBillPaymentRequestWithSelectedStage(requestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS && response.ResponseCode !== '70') {\n this._snackbar.open(`Request failed with error -> ${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n if (response.ResponseCode === ResponseCodes.SUCCESS) {\n this.requestDetailModalData.currentApprovalAction = 'approvalComplete';\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n stepper.next();\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this.loadBillPaymentRequests('refreshing pending bill payment requests .. please wait');\n return;\n }\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n }\n );\n\n }\n\n oncloseRequestApprovalModal() {\n this.requestDetailModal.close();\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.oneTimePassCode = '';\n this._otpReferenceId = '';\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n }\n\n private sendBillPaymentApprovalRequest(request: StagedBillPaymentRequestobject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving request... please wait`;\n const approvalRequestPayload = this.buildBillPaymentApprovalRequestPayload(request.BillDetails.operationType);\n this._approvalService.approvePendingBillPaymentRequest(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.loadBillPaymentRequests('refreshing bill pending bill payments');\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => stepper.next(), 15);\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private initRequestApprovalModal(data: StagedBillPaymentRequestobject) {\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n this.requestDetailModalData.data = data;\n this.requestDetailModal = this._dialog.open(this._requestApprovalModalTemplate,\n { hasBackdrop: false, panelClass: 'beneficiary-details-card' });\n }\n\n private initiateRequestApprovalOTP(stepper: MatStepper, isResendOtpRequest = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating... please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE BILL PAYMENT').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Ok', { duration: 25000 });\n return;\n }\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n this.otpInstruction = `Please enter the One Time Pin sent to ${response.NotificationAddress} to approve request`;\n if (!isResendOtpRequest) {\n setTimeout(() => stepper.next(), 25);\n }\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private handleNonSuccessApprovalResponse(request: StagedBillPaymentRequestobject, response: any, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.requestDetailModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendBillPaymentApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n\n private buildBillPaymentApprovalRequestPayload(operationType: string):\n GenericApprovalPayload {\n return {\n BatchId: Number(this.requestDetailModalData.requestMeta.BatchId),\n UserId: AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '',\n ApproverId: Number(this.requestDetailModalData.requestMeta.ApproverId),\n ApproverStageId: Number(this.requestDetailModalData.requestMeta.ApprovalStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n OperationType: operationType\n };\n }\n\n private buildBillPaymentApprovalStageRequestPayload(operationType) {\n return {\n BatchId: this.requestDetailModalData.requestMeta.BatchId,\n CurrentApprovalStageId: this.requestDetailModalData.requestMeta.ApprovalStageId,\n OperationType: operationType,\n UserId: AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '',\n NextStages: [this._selectedApprovalStage]\n };\n }\n\n private initComponent() {\n if (this._authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover) {\n this.pageTitle = 'Authorize Pending Payment Approval Requests';\n }\n }\n\n private dismissOpenModalWindows() {\n if (this.requestDetailModal) {\n this.requestDetailModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n if (this.requestRejectionModal) {\n this.requestRejectionModal.close();\n }\n }\n\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n/*------ Removing modal backgrounds --------------- */\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1 !important;\\n}\\n.beneficiary-details-card .mat-dialog-container{\\n border-left: 1px solid orangered !important;\\n}\\n.mat-input-element:disabled {\\n color: darkblue !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2JpbGxlci1hcHByb3ZhbHMvYmlsbGVyLWFwcHJvdmFscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUNEO0lBQ0ksa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFFRDs7Ozs7SUFLSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDZDQUE2QztDQUNoRDtBQUVEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBQ0Q7SUFDSSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7SUFHSSw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ25DO0FBQ0Q7SUFDSSx5Q0FBeUM7Q0FDNUM7QUFFRCxzREFBc0Q7QUFDdEQ7SUFDSSxzQkFBc0I7Q0FDekI7QUFDRDtJQUNJLDRDQUE0QztDQUMvQztBQUVEO0lBQ0ksMkJBQTJCO0NBQzlCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2JpbGxlci1hcHByb3ZhbHMvYmlsbGVyLWFwcHJvdmFscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3RyYW5zYWN0aW9ucy10YWJsZS5tYXQtdG9vbGJhci1yb3csICN0cmFuc2FjdGlvbnMtdGFibGUgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtcGFuZSAubWF0LWNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0aGVhZCB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLSBSZW1vdmluZyBtb2RhbCBiYWNrZ3JvdW5kcyAtLS0tLS0tLS0tLS0tLS0gKi9cbi5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4uYmVuZWZpY2lhcnktZGV0YWlscy1jYXJkIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIG9yYW5nZXJlZCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBkYXJrYmx1ZSAhaW1wb3J0YW50O1xufSJdfQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Biller Management Requests'}}\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Status\\n \\n \\n
\\n {{getRequestStatusName(status)}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Name\\n \\n \\n
\\n
\\n \\n Id\\n \\n \\n
\\n
\\n \\n Party Type\\n \\n \\n
\\n {{type}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Subscription IDBiller NameBiller NickNameRequest TypeRequested ByRequest DateStatus
{{request.BeneficiaryDetails.billerID | titlecase}}{{request.BeneficiaryDetails.billerName}}{{request.BeneficiaryDetails.billerBeneficiaryAlias}}\\n \\n {{request['requestType'] | titlecase }}\\n \\n {{request.BeneficiaryDetails.intiator}}{{request.BeneficiaryDetails.CreatedDate | date:'short' }}\\n \\n {{request.BeneficiaryDetails.Status | titlecase}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending biller-management requests .. please wait\\n
\\n There are no pending biller management request awaiting your approval\\n You have no pending biller-management requests\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   \\n {{'Approve Biller Operation Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n Are you sure you want to Confirm the addition of\\n {{requestDetailModalData.data.BeneficiaryDetails.billerName}} to your biller billers list?
\\n
\\n
\\n Are you sure you want approve this beneficiary update request?\\n
\\n
\\n Are you sure you want Approve the removal of {{requestDetailModalData.data.BeneficiaryDetails.billerBeneficiaryAlias}} from your billers list?\\n
\\n You can not undo this action\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

Please enter the One Time Pin sent to you to continue

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}} {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n check_circle\\n
Done
\\n
\\n
\\n Approval request has been successfully completed.\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild, TemplateRef, Input, SimpleChanges, OnChanges, OnDestroy } from '@angular/core';\nimport { ApprovalRequestStatus, ResponseCodes, OtpReasonCodes } from 'src/app/core/models/Enumerations';\nimport { BillerMgtApprovalRequest } from 'src/app/core/models/biller';\nimport { MatSnackBar, MatDialog, PageEvent, MatDialogRef, MatStepper } from '@angular/material';\nimport { NotificationsService } from 'angular2-notifications';\nimport { _mocktransferData } from 'src/app/core/models/mocks/_transfers.mock';\nimport { BillerStagingService } from 'src/app/core/services/staging/biller.staging.service';\nimport {\n StagedBillerOperationRequestObject, StagedBeneficiaryRequestApprovalPayload,\n StagedBillerOperationRequestReponse\n} from 'src/app/core/models/beneficiary';\nimport { ApprovalStage } from 'src/app/core/models/payloads/transactions';\nimport { NgForm } from '@angular/forms';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { BillerApprovalService } from 'src/app/core/services/workflow/biller.approval.service';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\n\n@Component({\n selector: 'app-biller-approvals',\n templateUrl: './biller-approvals.component.html',\n styleUrls: ['./biller-approvals.component.css']\n})\nexport class BillerApprovalsComponent extends BaseApprovalComponent implements OnInit, OnChanges, OnDestroy {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n _activeRequestCount = 0;\n\n requestList: StagedBillerOperationRequestObject[] = [];\n requestListBackup: StagedBillerOperationRequestObject[] = [];\n _pageSizeLimit = 5;\n _selectedRequestCount = 0;\n requestDetailModalData = {\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: {} as any\n };\n filterIsActive: boolean;\n approvalStatusEnum = ApprovalRequestStatus;\n searchFilter = this.initSearchFilterParams();\n\n @ViewChild('beneficiaryDetailModal') _beneficiarydetailModalTemplate: TemplateRef;\n public requestDetailModal: MatDialogRef;\n public rejectionDialog: MatDialogRef;\n public approvalHistoryModal: MatDialogRef;\n\n _otpReferenceId: string;\n oneTimePassCode: string;\n\n _paymentApprovalCompleted: boolean;\n _availableApprovalStages: Array = [];\n otpValidationFailed: boolean;\n constructor(private _snackbar: MatSnackBar, private _toast: NotificationsService, private _dialogService: MatDialog,\n private _billerStagingService: BillerStagingService, private _miscService: MiscService, private _approvalService: BillerApprovalService,\n authService: AuthService) {\n super(authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this.pageTitle = this._loggedInUser && this._authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover ?\n 'Authorize Biller Management' : '';\n\n UtilService.onPageLoadCallback();\n }\n\n ngOnInit() {\n\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'billers') {\n this.loadPendingBillerRequests();\n }\n if (this._activeTab !== 'billers') {\n this.dismissOpenModalWindows();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dismissOpenModalWindows();\n }\n\n onRequestCheckboxChanged(evtData, postion: number) {\n this.requestList[postion]['checked'] = evtData.checked;\n const indexOnBackup = this.requestListBackup.indexOf(this.requestList[postion]);\n this.requestListBackup[indexOnBackup]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestListBackup.filter(request => request['checked']).length;\n }\n\n fetchBillerApprovalRequests(loaderMsg = 'loading requests .. please wait', lastFetchedId: number = 0, pageSize: number = 100): void {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._billerStagingService.getStagedBillerOperationRequests(\n { PageSize: pageSize, LastIdFetched: lastFetchedId, OperationType: 'ADD_BILLER_BENEFICIARY' }).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || !response.ResponseCode) {\n this._snackbar.open(`Failed to load pending biller approval requests`, 'Ok', { duration: 20000 });\n return;\n }\n if (response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(response.ResponseFriendlyMessage, 'Ok', { duration: 20000 });\n return;\n }\n response.PaginatedItems.forEach(r => {\n r['checked'] = false;\n r.BeneficiaryDetails['operationTypeText'] = this.getRequestOperationType(r.BeneficiaryDetails.operationType);\n });\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, this._pageSizeLimit);\n console.log(this.requestListBackup);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n }\n );\n }\n\n loadPendingBillerRequests(loaderMsg = 'loading requests .. please wait', lastFetchedId: number = 0, pageSize: number = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this.fetchAggregatePendingBillerRequest(pageSize, lastFetchedId).then(\n (responseArray) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.requestListBackup = [];\n responseArray.forEach((response, index) => {\n if (response && response.ResponseCode && response.ResponseCode === '00' && response.PaginatedItems) {\n this.requestListBackup = this.requestListBackup.concat(response.PaginatedItems);\n }\n });\n this.requestListBackup.forEach(req => {\n req['requestType'] = req.BeneficiaryDetails.operationType === 'ADD_BILLER_BENEFICIARY' ? ' Addition' :\n req.BeneficiaryDetails.operationType === 'EDIT_BILLER_BENEFICIARY' ? 'Update' :\n req.BeneficiaryDetails.operationType === 'REMOVE_BILLER_BENEFICIARY' ? 'Removal' : '';\n });\n this.requestList = this.requestListBackup.slice(0, 5);\n console.log(this.requestListBackup);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n }\n );\n }\n\n private fetchAggregatePendingBillerRequest(pageSize = 100, lastFetchedId = 0): Promise {\n const pendingAddReq = this._billerStagingService.getStagedBillerOperationRequests(\n this.buildPendingRequestApprovalPayload('ADD_BILLER_BENEFICIARY')).catch(error => { console.log(error); return null; });\n const pendingUpdateReq = this._billerStagingService.getStagedBillerOperationRequests(\n this.buildPendingRequestApprovalPayload('EDIT_BILLER_BENEFICIARY')).catch(error => { console.log(error); return null; });\n const pendingRemovalReq = this._billerStagingService.getStagedBillerOperationRequests(\n this.buildBeneficiaryeCreateApprovalRequestPayload('REMOVE_BILLER_BENEFICIARY')).catch(error => { console.log(error); return null; });\n\n return Promise.all([pendingAddReq, pendingUpdateReq, pendingRemovalReq]);\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestListBackup.forEach(row => row['checked'] = true);\n this._selectedRequestCount = this.requestListBackup.length;\n } else {\n this.requestListBackup.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n }\n this.requestList = this.requestListBackup.slice(0, 5);\n }\n\n onBillerRequestApprovalsPaginationChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n onApprovalRequestAction(action: string, data: StagedBillerOperationRequestObject) {\n this.requestDetailModalData.requestMeta['BatchId'] = data.BatchId;\n this.requestDetailModalData.requestMeta['Initiator'] = data.Initiator;\n this.requestDetailModalData.requestMeta['ApprovalStageId'] = data.ApprovalStageId;\n this.requestDetailModalData.requestMeta['ApproverId'] = data.ApproverId;\n this.requestDetailModalData.data = data.BeneficiaryDetails;\n switch (action) {\n case 'approve': {\n this.initRequestApprovalModal(data);\n break;\n }\n case 'reject': {\n this.rejectionDialog = this._dialogService.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Biller Approval Request',\n payload: {\n OperationType: data.BeneficiaryDetails.operationType,\n OperationId: data.BeneficiaryDetails.Id\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.rejectionDialog.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n this.loadPendingBillerRequests('refreshing .. please wait');\n }\n });\n\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data.BeneficiaryDetails['operationType'],\n OperationId: Number(data.BeneficiaryDetails.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialogService.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'biller-management',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiateRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackbar.open('Please provode a reason for rejecting request .. ', 'Ok',\n {duration: 10000 });\n return;\n }\n break;\n }\n\n }\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper) {\n if (!form.valid) {\n this._snackbar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n {duration: 10000 });\n return;\n }\n this.sendBillerBeneficiaryApprovalRequest(this.requestDetailModalData.data as StagedBillerOperationRequestObject, stepper);\n }\n\n private sendBillerBeneficiaryApprovalRequest(request: StagedBillerOperationRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving request .. please wait`;\n const approvalRequestPayload = this.buildBeneficiaryeCreateApprovalRequestPayload(request.BeneficiaryDetails.operationType);\n this._approvalService.approvePendingBillerOperationRequest(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => stepper.next(), 15);\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.loadPendingBillerRequests();\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n private buildBeneficiaryeCreateApprovalRequestPayload(operationType: string):\n StagedBeneficiaryRequestApprovalPayload {\n return {\n BatchId: Number(this.requestDetailModalData.requestMeta.BatchId),\n ApproverId: Number(this.requestDetailModalData.requestMeta.ApproverId),\n ApproverStageId: Number(this.requestDetailModalData.requestMeta.ApprovalStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n OperationType: operationType\n };\n }\n\n private initiateRequestApprovalOTP(stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE BILLER OPERATION').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.initiateRequestApprovalOTP(stepper));\n return;\n }\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n setTimeout(() => stepper.next(), 25);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private handleNonSuccessApprovalResponse(request: StagedBillerOperationRequestObject, response: any, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this.requestDetailModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendBillerBeneficiaryApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n\n private initRequestApprovalModal(beneficiary: StagedBillerOperationRequestObject) {\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n this.requestDetailModalData.data = beneficiary;\n this.requestDetailModal = this._dialogService.open(this._beneficiarydetailModalTemplate,\n { hasBackdrop: false, panelClass: 'beneficiary-details-card', closeOnNavigation: true });\n }\n\n oncloseRequestApprovalModal() {\n this.requestDetailModal.close();\n // this.requestDetailModalData.data = null;\n this.oneTimePassCode = '';\n this._otpReferenceId = '';\n }\n\n private initSearchFilterParams() {\n return {\n beneficiaryName: '',\n beneficiaryId: '',\n partyType: '',\n status: 0\n };\n }\n\n private getRequestOperationType(statusString: string) {\n switch (statusString) {\n case 'ADD_BILLER_BENEFICIARY':\n return 'ADD BILLER';\n case 'EDIT_BILLER_BENEFICIARY':\n return 'UPDATE BILLER';\n case 'REMOVE_BILLER_BENEFICIARY':\n default: return 'N/A';\n\n }\n }\n\n buildPendingRequestApprovalPayload(operationName: string, pageSize = 100, lastFetchedId = 0) {\n return {\n PageSize: pageSize,\n LastIdFetched: lastFetchedId,\n OperationType: operationName\n };\n }\n\n private dismissOpenModalWindows() {\n if (this.requestDetailModal) {\n this.requestDetailModal.close();\n }\n if (this.rejectionDialog) {\n this.rejectionDialog.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n }\n}\n","module.exports = \".break-word {\\n max-width: 120px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\\n color: #000 !important;\\n}\\n.title{\\n color: #005CC8;\\n font-size: 12px;\\nline-height: 14px;\\n}\\nth{\\n font-style: normal;\\n font-weight: normal;\\n /* font-size: 10px; */\\n line-height: 12px;\\n\\n text-transform: uppercase;\\n\\n color: #B1B1B1;\\n }\\n#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n }\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n }\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n }\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n }\\n.table-bordered > tbody > tr > th,\\n .table-bordered > tfoot > tr > th,\\n .table-bordered > thead > tr > td,\\n .table-bordered > tbody > tr > td,\\n .table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n }\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n }\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n }\\n.transactions-pane .mat-card {\\n padding-left: 1rem !important;\\n padding-right: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n }\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th,\\n .transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td,\\n .transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n }\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n }\\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: -27px !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2J1bGstcGVuc2lvbi1wYXltZW50cy9idWxrLXBlbnNpb24tcGF5bWVudHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0UsdUJBQXVCO0NBQ3hCO0FBQ0Q7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCLGtCQUFrQjtDQUNqQjtBQUNEO0VBQ0UsbUJBQW1CO0NBQ3BCLG9CQUFvQjtDQUNwQixzQkFBc0I7Q0FDdEIsa0JBQWtCOztDQUVsQiwwQkFBMEI7O0NBRTFCLGVBQWU7RUFDZDtBQUNEO0dBQ0Usd0JBQXdCO0dBQ3hCLDZCQUE2QjtFQUM5QjtBQUNEO0dBQ0UsaUJBQWlCO0dBQ2pCLHVCQUF1QjtFQUN4QjtBQUNEO0dBQ0Usa0JBQWtCO0dBQ2xCLHFCQUFxQjtFQUN0QjtBQUNEO0dBQ0Usa0NBQWtDO0dBQ2xDLGtCQUFrQjtHQUNsQixxQkFBcUI7RUFDdEI7QUFFRDs7Ozs7R0FLRSw2Q0FBNkM7RUFDOUM7QUFDRDtHQUNFLDZDQUE2QztFQUM5QztBQUVEO0dBQ0UsNkNBQTZDO0VBQzlDO0FBQ0Q7R0FDRSw4QkFBOEI7R0FDOUIsaUNBQWlDO0dBQ2pDLGtDQUFrQztFQUNuQztBQUNEO0dBQ0Usa0JBQWtCO0dBQ2xCLHFCQUFxQjtFQUN0QjtBQUVEOzs7R0FHRSw2QkFBNkI7R0FDN0IsZ0NBQWdDO0VBQ2pDO0FBQ0Q7R0FDRSx5Q0FBeUM7RUFDMUM7QUFDRDtFQUNDLHdCQUF3QjtDQUN6QiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2FwcHJvdmFscy9idWxrLXBlbnNpb24tcGF5bWVudHMvYnVsay1wZW5zaW9uLXBheW1lbnRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnJlYWstd29yZCB7XG4gIG1heC13aWR0aDogMTIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLm1hdC1idXR0b24ubWF0LXByaW1hcnksIC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuLnRpdGxle1xuICBjb2xvcjogIzAwNUNDODtcbiAgZm9udC1zaXplOiAxMnB4O1xubGluZS1oZWlnaHQ6IDE0cHg7XG59XG50aHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gLyogZm9udC1zaXplOiAxMHB4OyAqL1xuIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuIGNvbG9yOiAjQjFCMUIxO1xuIH1cbiAjdHJhbnNhY3Rpb25zLXRhYmxlLm1hdC10b29sYmFyLXJvdywgI3RyYW5zYWN0aW9ucy10YWJsZSAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gfVxuIC50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUge1xuICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG4gfVxuIC50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUgdHIge1xuICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiB9XG4gLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0ciA+IHRkIHtcbiAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gfVxuXG4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLFxuIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCxcbiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsXG4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLFxuIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbiB9XG4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xuIH1cblxuIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xuIH1cbiAudHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICAgcGFkZGluZy1yaWdodDogIDFyZW0gICFpbXBvcnRhbnQ7XG4gICBwYWRkaW5nLWJvdHRvbTogIDFyZW0gICFpbXBvcnRhbnQ7XG4gfVxuIC50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgcGFkZGluZy10b3A6IDFyZW07XG4gICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiB9XG5cbiAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxuIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gfVxuIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOSAhaW1wb3J0YW50O1xuIH1cbiAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgcmlnaHQ6IC0yN3B4ICFpbXBvcnRhbnQ7XG59XG4iXX0= */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n Pending Requests \\n \\n \\n\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
DescriptionFrom AccountDate SentTotal Amount
\\n {{ pendingPaymentRequest.InitiatorRemarks }}\\n \\n COCA-COLA NG\\n \\n {{\\n pendingPaymentRequest.FileUploadDate| date\\n }}\\n |\\n {{\\n pendingPaymentRequest.FileUploadDate | date: \\\"shortTime\\\"\\n }}\\n \\n {{\\n pendingPaymentRequest.TotalAmount\\n }}\\n \\n \\n more_vert\\n \\n \\n close\\n\\n \\n \\n \\n \\n Approve Request\\n \\n \\n \\n Decline Request\\n \\n\\n \\n \\n
\\n loading pending payment requests .. please wait\\n
\\n There are no pending payments awaiting your\\n approval\\n You have no pending payment requests\\n
\\n \\n \\n
\\n
\\n \\n \\n Approved Requests \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
Ref. IdAccountFrom AccountRemarksTotal AmountStatusAction
\\n {{\\n approvedFile.id\\n }}\\n \\n {{ approvedFile.sourceAccountNo}}\\n \\n {{ approvedFile.sourceAccountName }}\\n \\n {{\\n approvedFile.initiatorRemarks\\n }}\\n \\n {{\\n approvedFile.totalAmount\\n }}\\n \\n {{\\n approvedFile.approvalStatus\\n }}\\n \\n \\n View Details\\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n {{ ownloaderMsg }}\\n \\n \\n \\n\\n\\n
\\n \\n
\\n

\\n  \\n {{\\n _approvalModalData.title || \\\"Approve\\n Payment Request\\\"\\n }}\\n \\n

\\n \\n \\n\\n \\n Confirm Action\\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Receiver NameAmountRSAPFA StatusStatus Description
\\n {{ info?.CustomerName || \\\"--\\\" }}\\n {{ info?.Amount }}{{ info?.RSA }}{{ info?.PFA }}\\n \\n {{info?.NameEnquiryStatus}}\\n \\n \\n {{ info?.NameEnquiryResponse\\t || \\\"--\\\" }}\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Verify OTP\\n \\n Verify OTP\\n

\\n {{\\n otpInstruction ||\\n \\\"Please enter the One Time Pin sent to you to approve request\\\"\\n }}\\n \\n

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n Verify Pin\\n \\n \\n Resend OTP\\n \\n \\n Cancel\\n \\n {{ ownloaderMsg }}\\n
\\n
\\n \\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

\\n There are conflicting Next Approval Stages. Please select\\n One to proceed\\n

\\n
\\n \\n \\n \\n \\n Approval Level :\\n {{ stage.ApprovalLevel }}\\n \\n \\n {{ stage.NumOfRequiredApprovers }}\\n {{\\n stage.NumOfRequiredApprovers > 1\\n ? \\\"approvers\\\"\\n : \\\"approver\\\"\\n }}\\n required\\n \\n \\n
\\n
\\n
\\n \\n \\n Select \\n \\n \\n \\n {{\\n ownloaderMsg || \\\"processing .. please wait\\\"\\n }}\\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved.\\n
\\n
\\n
\\n \\n Close\\n \\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
\\n \\n \\n Yes, Continue\\n \\n \\n Yes, Reject\\n \\n \\n No, Close\\n \\n {{ ownloaderMsg }}\\n
\\n \\n
\\n \\n \\n\\n\\n
\\n \\n
\\n

\\n  \\n Payment Request Details\\n

\\n \\n
{{ ownloaderMsg }}
\\n \\n
\\n
Transaction Type
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n
Reference Id
\\n
\\n {{ _approvalModalData.data.referenceId }}\\n
\\n
\\n
\\n
Source Account
\\n
\\n {{ _approvalModalData.data.sourceAccount }}\\n
\\n
\\n
\\n
Frequency Type
\\n
\\n {{ _approvalModalData.data.frequencyType }}\\n
\\n
\\n
\\n
Transaction Date
\\n
\\n {{ _approvalModalData.data.transactionDate | date }}\\n
\\n
\\n
\\n
Network
\\n
\\n {{ _approvalModalData.data.network }}\\n
\\n
\\n
\\n
Beneficiary Type
\\n
\\n {{ _approvalModalData.data.beneficiaryType }}\\n
\\n
\\n
\\n
Beneficiary Description
\\n
\\n {{ _approvalModalData.data.beneficiaryDescription }}\\n
\\n
\\n
\\n
Transaction Currency
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n
Amount
\\n
\\n {{ _approvalModalData.data.amount || 0 | currency }}\\n
\\n
\\n
\\n
My Reference
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n
Recipient Account Ref.
\\n
\\n
\\n
\\n
Authorizer
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n
Transaction Status
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n
Marked for stop
\\n
\\n {{ _approvalModalData.data.transactionType }}\\n
\\n
\\n
\\n \\n \\n
\\n \\n Close\\n \\n
\\n
\\n
\\n \\n\\n\\n
\\n \\n
\\n

\\n  \\n Request Approval History\\n

\\n \\n
\\n
0\\\">\\n \\n \\n

{{ approval.user }} {{ approval.action }} request

\\n \\n
\\n
\\n
\\n \\n
\\n \\n Close\\n \\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, ViewChild, TemplateRef, SimpleChanges, ɵConsole, OnChanges } from '@angular/core';\nimport { CustomerAccount } from 'src/app/core/models/account';\nimport { StagedPaymentRequest, ApprovalStage, StagedPaymentRequestResponse } from 'src/app/core/models/payloads/transactions';\nimport { Role, ResponseCodes, OtpReasonCodes } from 'src/app/core/models/Enumerations';\nimport { Approval } from 'src/app/core/models/approvals/payment.approval';\nimport { AppUser } from 'src/app/core/models/auth';\nimport { MatDialogRef, MatDialog, MatSnackBar, MatStepper, PageEvent } from '@angular/material';\nimport { StagedRequestService } from 'src/app/core/services/request.staged.service';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { TransferApprovalService } from 'src/app/core/services/workflow/transfer.approval.service';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { NgForm } from '@angular/forms';\nimport { StagedTransfer } from 'src/app/core/models/transfer';\nimport { VariablesService } from 'src/app/core/services/variables.service';\nimport { _banksList } from 'src/app/core/models/_banks_list_backup';\nimport { BulkPaymentBatchApprovalResponse, SinglePaymentApprovalRequestPayload } from 'src/app/core/models/approvals/file-upload.approval';\nimport { PensionService } from 'src/app/core/services/pension.service';\nimport { PendingRequestsRecords, StagedPendingPensionPaymentResponse, PensionFileRecords } from 'src/app/core/models/pension-remittance';\n@Component({\n selector: 'app-bulk-pension-payments',\n templateUrl: './bulk-pension-payments.component.html',\n styleUrls: ['./bulk-pension-payments.component.css']\n})\nexport class BulkPensionPaymentsComponent implements OnInit, OnChanges {\n @Input() _activeTab = '';\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n _activeTabIndex = 0;\n _activeRequestCount = 0;\n accountList: CustomerAccount[];\n requestList: PendingRequestsRecords[] = [];\n requestListBackup: PendingRequestsRecords[] = [];\n _selectedRequestCount = 0;\n _approvalModalData = {\n title: '',\n message: '',\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: { batchId: '', approverStageId: '', approverId: '', initiator: '' }\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n otpInstruction: string;\n searchFilter = this.initSearchFilter();\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n progressColor = '';\n _requestApprovalHistory: Array = [];\n _availableApprovalStages: Array = [];\n\n _paymentApprovalCompleted: boolean;\n public _loggedInUser: AppUser;\n public _loggedInUserIsApprover: boolean;\n public _loggedInUserIsInitiator: boolean;\n pageTitle: string;\n @ViewChild('approveBulkPensionModal') _approvalModalTemplate: TemplateRef;\n public approvalRequestModal: MatDialogRef;\n\n @ViewChild('approvalRequestDetailModalTemplate') _requestDetailModalTemplate: TemplateRef;\n public approvalRequestDetailModal: MatDialogRef;\n\n @ViewChild('approvalRequestHistoryModalTemplate') _approvalHistoryModalTemplate: TemplateRef;\n public approvalHistoryModal: MatDialogRef;\n public requestRejectionModal: MatDialogRef;\n cityList: any;\n pageSize = 20;\n lastRecordIdFetched = 0;\n transactionBatch: PensionFileRecords[] = [];\n transactionBatchBackup: PensionFileRecords[] = [];\n showViewMore: boolean;\n approvedPensionFiles: any;\n batchTransactionsTablePageLimit: number = 5;\n accountNoSet: Set;\n constructor(private _stageRequestService: StagedRequestService, private _stagedTransferService: TransferStagingService,\n private _dialog: MatDialog, private _snackBar: MatSnackBar, private _authService: AuthService,\n private _miscService: MiscService, private _approvalService: TransferApprovalService, private pensionPaymentService: PensionService) {\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this._loggedInUser = _authService.getLoggedInUser();\n this._loggedInUserIsApprover = this._authService.loggedInUserHasSMEProfile() && this._loggedInUser.Role.roles.includes(Role.Approver);\n this._loggedInUserIsInitiator = this._authService.loggedInUserHasSMEProfile() && this._loggedInUser.Role.roles.includes(Role.Initiator);\n\n UtilService.onPageLoadCallback();\n }\n\n ngOnInit() {\n this.accountNoSet = new Set();\n VariablesService.CustomerAccounts.forEach(element => {\n this.accountNoSet.add(element.accountNumber)});\n this.initComponent();\n this._activeTabIndex = 0;\n this.getBulkPendingPaymentTransactions(this.pageSize, this.lastRecordIdFetched);\n this.loadApprovedPaymentTransactions();\n\n }\nngOnChanges(){\n\n}\n\n loadApprovedPaymentTransactions(loaderMsg = 'fetching pension files', isViewMore = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this.pensionPaymentService.getApprovedPensionFiles(this.pageSize, this.lastRecordIdFetched).subscribe((response) => {\n console.log(response);\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Fetched records successfully`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n }\n\n // if (response.Items && response.Items.length < 1) {\n // this.showViewMore = false;\n // return;\n // }\n\n this.showViewMore = true;\n // this.lastRecordIdFetched = response.Items[response.Items.length - 1].Id;\n this.approvedPensionFiles = response.Items;\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n // if (isViewMore && response.Items && response.Items.length > 0) {\n // this.pensionnFiles = this.pensionnFiles.concat(response.Items);\n // } else if (response.Items && response.Items.length > 0) {\n // this.pensionnFiles = response.Items;\n // }\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n });\n }\n\n\n\n getBulkPendingPaymentTransactions(pageSize: number, lastRecordIdFetched: number) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'fetching pending payment requests. please wait';\n\n this.pensionPaymentService.getStagedPaymentTransactions(pageSize, lastRecordIdFetched).subscribe(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`${response.ResponseDescription}`, 'Ok', { duration: 25000 });\n return;\n }\n // response.PaginatedItems.forEach(request => {\n // request['color'] = this.getRequestColor();\n // request['checked'] = false;\n // });\n this.requestList = response.Items;\n console.log('request List', this.requestList);\n this.requestListBackup = this.requestList;\n this.requestListBackup = this.requestListBackup.filter(item=> this.accountNoSet.has(item.SourceAccount));\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this._snackBar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n ngOnDestroy(): void {\n this.dismissOpenModalWindows();\n }\n\n\n loadPendingPaymentRequests(loaderMsg = 'fetching pending payment requests. please wait', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n const payload = { PageSize: pageSize, LastFetchId: lastFetchId };\n\n const _request = this._loggedInUserIsApprover ? this._stagedTransferService.getStagedPaymentRequest(payload) :\n this._miscService.getPendingRequest(payload);\n _request.then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackBar.open(`${response.ResponseDescription}`, 'Ok', { duration: 25000 });\n return;\n }\n response.PaginatedItems.forEach(request => {\n request['color'] = this.getRequestColor();\n request['checked'] = false;\n });\n // this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this._snackBar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onSearchFilterStateChanged() {\n this.filterIsActive = !this.filterIsActive;\n if (this.filterIsActive) {\n this.loadAccounts();\n }\n }\n onApprovalRequestAction(action: string, data: PendingRequestsRecords) {\n this._approvalModalData.currentRequestAction = 'approve';\n this.fetchPensionRecord(data.FileId, this.lastRecordIdFetched, 'fetching pending batch payments',this.pageSize);\n this._approvalModalData.data = data;\n this._approvalModalData.requestMeta.batchId = data.FileId.toString();\n this._approvalModalData.requestMeta.approverStageId = data.ApprovalStageId.toString();\n this._approvalModalData.requestMeta.approverId = data.ApproverId.toString();\n this._approvalModalData.requestMeta.initiator = data.InitiatorUserId;\n if (!this._loggedInUserIsApprover && action !== ('view-history')) {\n return;\n }\n switch (action) {\n case 'approve': {\n this._approvalModalData.currentRequestAction = 'approve';\n this._approvalModalData.message = '';\n this._approvalModalData.currentApprovalAction = '';\n this.approvalRequestModal = this._dialog.open(this._approvalModalTemplate);\n break;\n }\n case 'reject': {\n this.requestRejectionModal = this._dialog.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Payment Approval Request',\n payload: {\n OperationType: 'PENSION_REMITTANCE',\n OperationId: data.FileId\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.requestRejectionModal.afterClosed()\n .subscribe((result) => this.getBulkPendingPaymentTransactions(this.pageSize, this.lastRecordIdFetched));\n\n break;\n }\n\n // break;\n // }\n case 'view-detail': {\n this._approvalModalData.currentRequestAction = 'view-detail';\n this._approvalModalData.title = '';\n this.approvalRequestDetailModal = this._dialog.open(this._requestDetailModalTemplate, {\n hasBackdrop: true,\n disableClose: true,\n minWidth: 480,\n panelClass: ['custom-add-confirmationModal'],\n closeOnNavigation: true\n });\n break;\n }\n case 'view-history': {\n // this.approvalHistoryModal = this._dialog.open(\n // ApprovalHistoryComponent,\n // {\n // hasBackdrop: false,\n // data: {\n // operationName: 'single-transfer',\n // requestPayload: requestPayload,\n // title: 'Request Approval History',\n // extra: {}\n // },\n // closeOnNavigation: true\n // });\n // this.approvalHistoryModal.afterClosed().subscribe(\n // (result) => {\n // //\n // }\n // );\n // break;\n // }\n // case 'approve-multiple': {\n // this._approvalModalData.currentRequestAction = 'approve-multiple';\n // const _selectedRequests = this.requestListBackup.filter(request => request['checked']);\n // this._approvalModalData.data['totalAmount'] = _selectedRequests.map(request => request.SingleTransfer.amount)\n // .reduce((prev, current) => current + prev);\n // this._approvalModalData.title = `Approve ${this._selectedRequestCount} Payment ` +\n // (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n // this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n // break;\n // }\n // case 'reject-multiple': {\n // this._approvalModalData.currentRequestAction = 'reject-multiple';\n // this._approvalModalData.title = `Reject ${this._selectedRequestCount} Payment ` +\n // (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n // this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n // break;\n }\n }\n }\n\n gotoApprovedRequestsPage() {\n // this.router.navigate(['/approved-bulkpensiom-requests'])\n }\n\n onSelectedTabIndexChange(eventData) {\n if (eventData === 0) {\n // this.loadApprovedPaymentTransactions();\n }\n\n }\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n\n switch (action) {\n case 'approve-multiple':\n case 'approve': {\n this.initiatePaymentRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackBar.open('Please provode a reason for rejecting request .. ', 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendPaymentApprovalRecallRequest({} as StagedTransfer);\n break;\n }\n }\n }\n\n initiatePaymentRequestApprovalOTP(stepper: MatStepper, isResendOTP = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE TRANSFER').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseDescription}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.initiatePaymentRequestApprovalOTP(stepper));\n return;\n }\n this._otpReferenceId = response.ResponseDescription;\n this._approvalModalData.currentApprovalAction = 'verify-otp';\n this.otpInstruction = `Please enter the One Time Pin sent to ${response.NotificationAddress} to approve request`;\n if (!isResendOTP) {\n stepper.next();\n }\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper) {\n if (!form.valid) {\n this._snackBar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendPaymentApprovalRequest(this._approvalModalData.data as StagedPaymentRequest, stepper);\n }\n sendPaymentApprovalRequest(request: StagedPaymentRequest, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n this.pensionPaymentService.approvePendingPaymentRequest(approvalRequestPayload).subscribe(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._approvalModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.getBulkPendingPaymentTransactions(this.pageSize, this.lastRecordIdFetched);\n this._snackBar.open(`${response.ResponseDescription}`, 'Ok', { duration: 50000 });\n this.oneTimePassCode = '';\n },\n () => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n sendPaymentApprovalRequestWithStageSelection(request: StagedPaymentRequest, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n // this._approvalService.approvePendingPaymentRequestWithSelectedStage({approvalRequestPayload}).then(\n // (response) => {\n // console.log(response);\n // this.ownLoaderIsActive = false;\n // this.ownloaderMsg = '';\n // if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n // this.handleNonSuccessApprovalResponse(request, response, stepper);\n // return;\n // }\n // this._approvalModalData.currentRequestAction = 'requestComplete';\n // setTimeout(() => {\n // stepper.next();\n // }, 50);\n // this.loadPendingPaymentRequests('refreshing pending batch list');\n // this._snackBar.open(`${response.ResponseDescription}`, 'Ok', { duration: 50000 });\n // },\n // (error: any) => {\n // console.log(error);\n // }\n // );\n }\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildSinglePaymentApprovalRequestPayload();\n // requestPayload.NextStages = [approvalStage];\n this.sendPaymentApprovalRequestWithStageSelection(this._approvalModalData.data, stepper);\n }\n\n sendPaymentApprovalRecallRequest(request: StagedTransfer) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n this._stageRequestService.makePaymentApprovalRecallRequest(request).then(\n (response: any) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.approvalRequestModal.close();\n this._snackBar.open(`Payment request recalled. Notification email has been sent to initiator`, 'Ok',\n { duration: 5000 });\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n getRequestColor(): string {\n const color = ['lightcoral', '#2196F3', '#009688', '#b71c1c'];\n const pos = Math.floor(Math.random() * color.length);\n return color[pos];\n }\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n loadAccounts() {\n this.accountList = VariablesService.CustomerAccounts;\n }\n\n getRoleName(role: Role): string {\n switch (role) {\n case Role.Initiator:\n return 'Initiator';\n case Role.Approver:\n return 'Approver';\n case Role.Viewer:\n return 'Viewer';\n default:\n return 'N\\\\A';\n }\n }\n getBankName(bankCode: string) {\n const bank = _banksList.find(b => b['bankCode'] === bankCode);\n return bank && bank['name'] ? bank['name'] : 'N/A';\n }\n\n onRequestCheckboxChanged(evtData, position: number) {\n this.requestList[position]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestList.filter(request => request['checked']).length;\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestList.forEach(b => b['checked'] = true);\n this._selectedRequestCount = this.requestList.filter(b => b['checked']).length;\n this.allCheckboxesSelected = true;\n console.log(this.requestList);\n } else {\n this.requestList.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n this.allCheckboxesSelected = false;\n }\n }\n\n initSearchFilter() {\n return {\n startDate: '',\n endDate: '',\n transactionType: '',\n selectedAccount: {} as CustomerAccount,\n transactionStatus: '',\n role: 0 as Role\n };\n }\n onBatchTransactionsPageChanged(pageEvent:PageEvent){\n\n const start = pageEvent.pageIndex * pageEvent.pageSize;\n const end = start + pageEvent.pageSize;\n this.transactionBatch = this.transactionBatchBackup.slice(start, end);\n }\n private handleNonSuccessApprovalResponse(request: StagedPaymentRequest, response: BulkPaymentBatchApprovalResponse, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this._approvalModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackBar.open(`${response.ResponseDescription}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendPaymentApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n private buildBatchTransactionsRequestPayload(batchId, lastPageId = 0) {\n return {\n PageSize: 2000,\n lastRecordIdFetched: lastPageId,\n fileId: batchId\n };\n }\n fetchPensionRecord(batchId, lastRecordIdFetched, loaderMsg = '', pageSize) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg || 'querying transactions ..';\n const requestPayload = this.buildBatchTransactionsRequestPayload(batchId, lastRecordIdFetched);\n this.pensionPaymentService.getPensionRecords(requestPayload).subscribe(response => {\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Fetched records successfully`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n }\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.transactionBatchBackup = response.Items.filter(item => item.NameEnquiryStatus === 'SUCCESS' );\n this.transactionBatch = this.transactionBatchBackup.slice(0, this.batchTransactionsTablePageLimit);\n\n },\n (err) => {\n this._snackBar.open(`Error encountered, Please try again`, 'Failed',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 10000 });\n return;\n\n });\n }\n private buildSinglePaymentApprovalRequestPayload() {\n return {\n // 'userId': 'string',\n 'fileId': Number(this._approvalModalData.requestMeta.batchId),\n 'approverStageId': Number(this._approvalModalData.requestMeta.approverStageId),\n 'approverId': Number(this._approvalModalData.requestMeta.approverId),\n 'otp': Number(this.oneTimePassCode),\n 'otpReference': this._otpReferenceId\n };\n }\n\n private initComponent() {\n if (this._authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover) {\n this.pageTitle = 'Authorize Pending Payment Approval Requests';\n }\n }\n\n private dismissOpenModalWindows() {\n if (this.approvalRequestDetailModal) {\n this.approvalRequestDetailModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n if (this.approvalRequestModal) {\n this.approvalRequestModal.close();\n }\n\n if (this.requestRejectionModal) {\n this.requestRejectionModal.close();\n }\n }\n\n\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n.custom-mat-dialog-title {\\n display: flex !important;\\n align-items: center;\\n}\\n.custom-mat-dialog-title span:last-of-type {\\n color: orangered;\\n margin-left: auto;\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2ZpbGUtdXBsb2FkLWFwcHJvdmFsL2ZpbGUtdXBsb2FkLWFwcHJvdmFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7OztJQUtJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBRUQ7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7OztJQUdJLDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDbkM7QUFDRDtJQUNJLHlDQUF5QztDQUM1QztBQUNEO0lBQ0kseUJBQXlCO0lBQ3pCLG9CQUFvQjtDQUN2QjtBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7Q0FDbkIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hcHByb3ZhbHMvZmlsZS11cGxvYWQtYXBwcm92YWwvZmlsZS11cGxvYWQtYXBwcm92YWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LCAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOWY5ZjkgIWltcG9ydGFudDtcbn1cbi5jdXN0b20tbWF0LWRpYWxvZy10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY3VzdG9tLW1hdC1kaWFsb2ctdGl0bGUgc3BhbjpsYXN0LW9mLXR5cGUge1xuICAgIGNvbG9yOiBvcmFuZ2VyZWQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufSJdfQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Bulk-Payment Requests'}}\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{type}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n File Sequence No\\n \\n \\n
\\n
\\n \\n Uploaded By\\n \\n \\n
\\n
\\n
\\n
\\n \\n From\\n \\n \\n \\n \\n
\\n
\\n \\n To\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdDesciptionFrom AccountTotalUploaded ByStatusDate
\\n {{request.BatchId}}\\n \\n {{(request.BatchDescription || '').substr(0, 15)+ ' ..'}}\\n {{request.SourceAccount}}{{request.TotalAmount | currency: (request.SourceAccountCurrency || 'N')}} {{(request.Initiator || '').substr(0, 15)+ ' ..'}}\\n \\n {{request.BatchStatus.toLowerCase()}}\\n \\n {{request.BatchCreationDate | date}}\\n \\n \\n \\n \\n \\n \\n
\\n loading pending bulk-payment requests .. please wait\\n
\\n There are no pending bulk payments awaiting your approval\\n You have no pending bulk-payment requests\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   {{'Approve Payment Request' }}\\n

\\n \\n \\n \\n Confirm Action\\n
\\n {{_approvalModalData.message}}\\n
\\n
\\n
\\n \\n \\n {{ownLoaderMsg}}\\n
\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

Please enter the OneTimePassecode sent to you to complete process

\\n \\n One Time Passcode\\n \\n \\n
\\n
\\n \\n \\n {{ownLoaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved ..\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

\\n  \\n Approve {{_activePaymentBatch.BatchDescription || 'Staff Salaries Payment Request'}}\\n \\n

\\n \\n \\n \\n Bulk Payment Details\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n Account No.AmountBeneficiaryRecipient Ref.Sender Ref.Bank
\\n \\n \\n {{row.AccountNumber}}{{row.Amount | number }}{{row.ReceiverName}}{{row.RecipientNarration}}{{row.SenderNarration}}{{row.BankCode}}
\\n
\\n
\\n \\n Confirm Action\\n
\\n
\\n Please Confirm that you want to approve\\n the payment of\\n {{(_totalPreviewDataSelectedAmount || 0) |\\n currency:_activePaymentBatch.SourceAccountCurrency ? _activePaymentBatch.SourceAccountCurrency: 'N'}}
\\n from\\n {{_activePaymentBatch.SourceAccount}} to\\n {{(_totalPreviewDataSelected || 0) | number}} recipient accounts?\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n Verify OTP\\n
\\n
\\n

{{uploadPreviewModalData['otpInstruction']}}

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Confirm Hardware Token\\n
\\n \\n Please provide the hardware token number below\\n \\n
\\n \\n Token \\n \\n \\n
\\n
Verify\\n
\\n
  \\n \\n\\n
\\n\\n
\\n   \\n loading... please wait\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select next approval stage

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}\\n {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Bulk Payment transactions approved.\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
{{ownloaderMsg || 'processing'}}
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n 0\\\">{{_totalPreviewDataSelected}}/{{_paymentTransactionListBackup.length}}\\n selected\\n \\n \\n 0\\\" style=\\\"margin-left: auto;\\\">\\n Total Amt: {{_totalPreviewDataSelectedAmount | currency:'N'}}\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild, TemplateRef, SimpleChanges, OnChanges, Input, OnDestroy } from '@angular/core';\nimport { MatDialog, MatSnackBar, MatDialogRef, PageEvent, MatStepper } from '@angular/material';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { StagedBulkPaymentBatch, BulkNameEnquiryTransaction, ApprovalStage } from 'src/app/core/models/payloads/transactions';\nimport { ResponseCodes, OtpReasonCodes, OTPType } from 'src/app/core/models/Enumerations';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport {\n BulkPaymentBatchApprovalRequestPayload, BulkPaymentBatchApprovalResponse\n} from 'src/app/core/models/approvals/file-upload.approval';\nimport { TransferApprovalService } from 'src/app/core/services/workflow/transfer.approval.service';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from 'src/app/core/services/variables.service';\n\n@Component({\n selector: 'app-file-upload-approval',\n templateUrl: './file-upload-approval.component.html',\n styleUrls: ['./file-upload-approval.component.css']\n})\nexport class FileUploadApprovalComponent extends BaseApprovalComponent implements OnInit, OnChanges, OnDestroy {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n filterIsActive: boolean;\n searchFilter = this.initSearchFilter();\n requestList: StagedBulkPaymentBatch[] = [];\n requestListBackup: StagedBulkPaymentBatch[] = [];\n requestListPageSize: 5;\n _activePaymentBatch: StagedBulkPaymentBatch;\n _selectedRequestCount = 0;\n _activeRequestCount = 0;\n allCheckboxesSelected: boolean;\n\n _paymentTransactionList: Array = [];\n _paymentTransactionListBackup: Array = [];\n uploadPreviewTablePageLimit = 5;\n _totalPreviewDataSelected = 0;\n _totalPreviewDataSelectedAmount = 0;\n oneTimePassCode: string;\n otpSourceReferenceId: string;\n otpValidationFailed: false;\n _availableApprovalStages: Array = [];\n\n uploadPreviewModalData = {\n title: '',\n currentRequestAction: ''\n };\n\n @ViewChild('uploadPreviewModalTemplate') _uploadPreviewModalTemplate: TemplateRef;\n public uploadPreviewModal: MatDialogRef;\n @ViewChild('stepper2') _activePreviewStepper: MatStepper;\n public approvalHistoryModal: MatDialogRef;\n public requestRejectionModal: MatDialogRef;\n isCustomerHWTEnabled: boolean;\n isOTPStepperVisible: boolean;\n hwtFormGroup : FormGroup\n accountNoSet: Set;\n\n constructor(private _dialog: MatDialog,\n private _snackbar: MatSnackBar, private _toast: NotificationsService, private _stagedTransferService: TransferStagingService,\n private _miscService: MiscService, private _approvalService: TransferApprovalService, _authService: AuthService, private formBuilder:FormBuilder) {\n super(_authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this.pageTitle = this._loggedInUser && _authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover ?\n 'Authorize Bulk-Payment Request' : '';\n\n UtilService.onPageLoadCallback();\n \n this.hwtFormGroup = formBuilder.group({\n hwt: ['', Validators.required]\n });\n }\n\n ngOnInit() { \n this.isCustomerHWTEnabled = VariablesService.CustomerHWTEnabled;\n\n this.accountNoSet = new Set();\n VariablesService.CustomerAccounts.forEach(element => {\n this.accountNoSet.add(element.accountNumber);\n })\n // this.isCustomerHWTEnabled = true;\n if (this.isCustomerHWTEnabled) {\n this.isOTPStepperVisible = false;\n } else {\n this.isOTPStepperVisible = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab !== 'fileuploads') {\n this.dismissOpenModalWindows();\n }\n if (this._activeTab === 'fileuploads') {\n this.loadStagedBulkPaymentRequests('');\n }\n }\n }\n\n initSearchFilter() {\n return {\n startDate: '',\n endDate: '',\n fileSequenceNo: '',\n uploadedBy: '',\n productType: ''\n };\n }\n\n loadStagedBulkPaymentRequests(loaderMsg, lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg || 'fetching pending bulk-payment requests. please wait';\n this._stagedTransferService.getStagedBulkPayments({ PageSize: pageSize, LastFetchId: lastFetchId }).then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestListBackup = this.requestListBackup.filter(item => this.accountNoSet.has(item.SourceAccount));\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => { }\n );\n }\n\n onApprovalRequestAction(action: string, data: StagedBulkPaymentBatch) {\n this._activePaymentBatch = data;\n switch (action) {\n case 'preview': {\n this.previewBulkPaymentTransactions(data);\n break;\n }\n case 'reject': {\n this.requestRejectionModal = this._dialog.open(RejectRequestComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true,\n data: {\n title: 'Reject Bulk Payment Request',\n payload: {\n OperationType: 'BULK_UPLOAD',\n OperationId: data.BatchId\n }\n }\n });\n this.requestRejectionModal.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.loadStagedBulkPaymentRequests('refreshing .. please wait');\n }\n });\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: 'BULK_UPLOAD',\n OperationId: data.BatchId,\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'bulk-transfer',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n loadBulkPaymentTransactions(batchId, loaderMsg = '', lastFetchId = 0, pageSize = 3000) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg || 'fetching payment details .. please wait';\n this._stagedTransferService.getStagedBulkPaymentTransactions(\n { LastIdFetched: lastFetchId, PageSize: pageSize, BatchId: batchId }).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n this._paymentTransactionListBackup = response.PaginatedItems;\n this._paymentTransactionListBackup.forEach(t => t['checked'] = false);\n this._paymentTransactionList = this._paymentTransactionListBackup.slice(0, this.uploadPreviewTablePageLimit);\n\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encoutered a technical error while loading payment transactions`, 'Ok', { duration: 25000 });\n }\n );\n }\n previewBulkPaymentTransactions(batchInformation: StagedBulkPaymentBatch) {\n this.uploadPreviewModal = this._dialog.open(this._uploadPreviewModalTemplate, {\n hasBackdrop: false, closeOnNavigation: true\n });\n this.loadBulkPaymentTransactions(batchInformation.BatchId);\n }\n onRequestDataItemCheckboxChanged(evtData, id: string, postion: number) {\n this._paymentTransactionList[postion]['checked'] = evtData.checked;\n const indexOnBackup = this._paymentTransactionListBackup.indexOf(this._paymentTransactionList[postion]);\n this._paymentTransactionListBackup[indexOnBackup]['checked'] = evtData.checked;\n this._totalPreviewDataSelected = this._paymentTransactionListBackup.filter(request => request['checked']).length;\n if (evtData.checked) {\n this._totalPreviewDataSelectedAmount += this._paymentTransactionList[postion].Amount;\n } else {\n this._totalPreviewDataSelectedAmount -= this._paymentTransactionList[postion].Amount;\n }\n }\n\n onAllRequestDataCheckboxChanged(evtData) {\n if (evtData.checked) {\n this._paymentTransactionListBackup.forEach(row => row['checked'] = true);\n this._totalPreviewDataSelected = this._paymentTransactionListBackup.length;\n this._totalPreviewDataSelectedAmount = this._paymentTransactionListBackup.map(rowData => rowData.Amount)\n .reduce((prev, current) => Number(prev) + Number(current));\n } else {\n this._paymentTransactionListBackup.forEach(b => b['checked'] = false);\n this._totalPreviewDataSelected = 0;\n this._totalPreviewDataSelectedAmount = 0;\n }\n this._paymentTransactionList = this._paymentTransactionListBackup.slice(0, 5);\n }\n\n onPreviewDataPageChanged(pageChangedEvent: PageEvent) {\n // this.transactionsPageLimit = evtData.pageSize;\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this._paymentTransactionList = this._paymentTransactionListBackup.slice(start, end);\n }\n onBackFromConfirmationModalClicked(stepper: MatStepper) {\n this.uploadPreviewModalData.currentRequestAction = '';\n stepper.previous();\n }\n onConfirmApprovalButtonClicked(stepper: MatStepper, isResendOTP = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'Initiating approval .. Please wait .. ';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE BULK PAYMENT').then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n const errorMsg = !response || !response.ResponseFriendlyMessage ?\n `Oops .. One time passcode request was not sucessful. Please retry` : `We encountered a technical error while\n sending one time passcode. Server responded with -> ${response.ResponseFriendlyMessage}. Please try again`;\n this._snackbar.open(errorMsg, 'Retry ', { duration: 25000 }).onAction().subscribe(\n () => this.onConfirmApprovalButtonClicked(stepper)\n );\n return;\n }\n this.uploadPreviewModalData['otpInstruction'] = `Please enter the one time passcode sent to\n ${response.NotificationAddress} to continue approval`;\n this._snackbar.open(this.uploadPreviewModalData['otpInstruction'], 'Ok', { duration: 20000 });\n this.uploadPreviewModalData.currentRequestAction = 'verify-passcode';\n this.otpSourceReferenceId = response.ResponseDescription;\n if (!isResendOTP) {\n setTimeout(() => stepper.next(), 500);\n }\n },\n (error) => {\n console.log(error);\n this._snackbar.open(`We encountered a technical error while processing request. Please wait for some time and retry`,\n 'Ok', { duration: 20000 });\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n }\n );\n }\n\n returnToOTPStepper(){\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'Initiating approval .. Please wait .. ';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE BULK PAYMENT').then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n const errorMsg = !response || !response.ResponseFriendlyMessage ?\n `Oops .. One time passcode request was not sucessful. Please retry` : `We encountered a technical error while \n sending one time passcode. Server responded with -> ${response.ResponseFriendlyMessage}. Please try again`;\n this._snackbar.open(errorMsg, 'Retry ', { duration: 25000 }).onAction().subscribe(\n () => this.returnToOTPStepper()\n );\n return;\n }\n var hardwareTokenStepper = document.getElementById('hardwareTokenStepper');\n hardwareTokenStepper.style.display = 'none';\n this.isOTPStepperVisible = true;\n \n this.uploadPreviewModalData['otpInstruction'] = `Please enter the one time passcode sent to\n ${response.NotificationAddress} to continue approval`;\n this._snackbar.open(this.uploadPreviewModalData['otpInstruction'], 'Ok', { duration: 20000 });\n this.uploadPreviewModalData.currentRequestAction = 'verify-passcode';\n this.otpSourceReferenceId = response.ResponseDescription;\n \n },\n (error) => {\n console.log(error);\n this._snackbar.open(`We encountered a technical error while processing request. Please wait for some time and retry`,\n 'Ok', { duration: 20000 });\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n }\n );\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper, useHardwareToken:boolean) {\n \n if (useHardwareToken) {\n if (!this.hwtFormGroup.valid || !this.hwtFormGroup.controls.hwt) {\n this._snackbar.open(`Please provide a valid token number`, 'Ok', { duration: 25000 });\n return;\n }\n }\n if (!form.valid) {\n return;\n }\n const requestPayload = this.buildApprovalRequestPayload();\n // if(useHardwareToken){\n // requestPayload[\"otp\"]= this.hwtFormGroup.controls.hwt.value;\n // requestPayload[\"OTPType\"] = OTPType.HWT;\n // }\n // else{\n // requestPayload[\"OTPType\"] = !this.isOTPStepperVisible ? OTPType.HWT : this.isOTPStepperVisible ? OTPType.OTP : OTPType.NONE;\n // requestPayload[\"otp\"]= !this.isOTPStepperVisible ? this.hwtFormGroup.controls.hwt.value : this.oneTimePassCode;\n // }\n\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'verifying passcode .. please wait';\n this._approvalService.approvePendingBulkPaymentBatch(requestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(response, stepper);\n return;\n }\n this.uploadPreviewModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.loadStagedBulkPaymentRequests('refreshing pending batch list');\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered a technical error while processing your request`, 'Ok', { duration: 10000 });\n }\n );\n }\n\n onCloseUploadPreviewModal() {\n this._paymentTransactionListBackup = [];\n this._paymentTransactionList = [];\n this._totalPreviewDataSelected = 0;\n this.uploadPreviewModalData.currentRequestAction = '';\n this.uploadPreviewModalData['otpInstruction'] = '';\n this.uploadPreviewModal.close();\n }\n\n onExcludeSelectedRows() {\n const rowsToRemove = this._totalPreviewDataSelected;\n this._paymentTransactionListBackup = this._paymentTransactionListBackup.filter(rowData => !rowData['checked']);\n this._paymentTransactionList = this._paymentTransactionListBackup.slice(0, 5);\n this._totalPreviewDataSelected = 0;\n this._totalPreviewDataSelectedAmount = 0;\n this._snackbar.open(`${rowsToRemove} Payment requests excluded. To Undo Action,\n close preview screen and click the preview menu button again`, 'Ok',\n { verticalPosition: 'top', horizontalPosition: 'right', duration: 45000 });\n }\n\n onApproveBulkPayments(approveAll: boolean = false) {\n if (approveAll) {\n this._paymentTransactionListBackup.forEach(t => t['checked'] = true);\n }\n const selectedTransactionsToApprove = this._paymentTransactionListBackup.filter(t => t['checked']);\n this._totalPreviewDataSelected = selectedTransactionsToApprove.length;\n this._totalPreviewDataSelectedAmount = selectedTransactionsToApprove.map(rowData => rowData.Amount).reduce(\n (prev, current) => Number(prev) + Number(current));\n this.uploadPreviewModalData.currentRequestAction = 'confirmAction';\n setTimeout(() => {\n this._activePreviewStepper.next();\n }, 100);\n }\n\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildApprovalRequestPayload();\n requestPayload.NextStages = [approvalStage];\n }\n\n onRequestListPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n ngOnDestroy(): void {\n\n }\n\n private buildApprovalRequestPayload(): BulkPaymentBatchApprovalRequestPayload {\n return {\n batchId: this._activePaymentBatch.BatchId,\n userId: AuthService.FullyAuthenticatedUser.UserId,\n ApproverId: this._activePaymentBatch.ApproverId,\n OTP: this.oneTimePassCode,\n SourceReferenceId: this.otpSourceReferenceId,\n ApproverStageId: this._activePaymentBatch.ApprovalStageId,\n Transactions: this._paymentTransactionListBackup.filter(t => t['checked']).map(tr => tr.Id),\n DeletedTransactions: this._paymentTransactionListBackup.filter(t => t['checked'] != true).map(tr => tr.Id),\n };\n }\n\n private handleNonSuccessApprovalResponse(response: BulkPaymentBatchApprovalResponse, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this.uploadPreviewModalData.currentRequestAction = 'next-approval-stage';\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n }\n }\n\n private dismissOpenModalWindows() {\n if (this.uploadPreviewModal) {\n this.uploadPreviewModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n if (this.requestRejectionModal) {\n this.requestRejectionModal.close();\n }\n }\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n.request-detail-summary {\\n}\\n/********** Timeline related syles *******/\\n.timeline-item .timeline-content {\\n position: relative;\\n width: 40%;\\n padding: 0 !important;\\n border-radius: 4px;\\n background: #f5f5f5;\\n box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);\\n min-height: 10em;\\n}\\nvertical-timeline-card .date {\\n background: #3F51B5;\\n display: inline-block;\\n color: #FFFFFF;\\n padding: 10px;\\n position: relative !important;\\n /* top: 0; */\\n /* right: 0; */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL2Z4LXBheW1lbnQtYXBwcm92YWxzL2Z4LXBheW1lbnQtYXBwcm92YWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7OztJQUtJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBRUQ7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7OztJQUdJLDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDbkM7QUFDRDtJQUNJLHlDQUF5QztDQUM1QztBQUVEO0NBQ0M7QUFDRCwyQ0FBMkM7QUFDM0M7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGlEQUFpRDtJQUNqRCxpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGNBQWM7SUFDZCw4QkFBOEI7SUFDOUIsYUFBYTtJQUNiLGVBQWU7Q0FDbEIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hcHByb3ZhbHMvZngtcGF5bWVudC1hcHByb3ZhbHMvZngtcGF5bWVudC1hcHByb3ZhbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LCAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOWY5ZjkgIWltcG9ydGFudDtcbn1cblxuLnJlcXVlc3QtZGV0YWlsLXN1bW1hcnkge1xufVxuLyoqKioqKioqKiogVGltZWxpbmUgcmVsYXRlZCBzeWxlcyAqKioqKioqL1xuLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDAlO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMjVweCAtMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgbWluLWhlaWdodDogMTBlbTtcbn1cbnZlcnRpY2FsLXRpbWVsaW5lLWNhcmQgLmRhdGUge1xuICAgIGJhY2tncm91bmQ6ICMzRjUxQjU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgLyogdG9wOiAwOyAqL1xuICAgIC8qIHJpZ2h0OiAwOyAqL1xufVxuIl19 */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n Authorize International Payment Requests\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Initiator Account\\n \\n \\n
\\n {{account.accountName}} - {{account.accountNumber}}\\n
\\n
\\n Available Bal: {{account.currency}} {{account.availableBalance}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{type}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Transaction Status\\n \\n \\n
\\n {{status}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Role\\n \\n \\n
\\n {{getRoleName(role)}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n From\\n \\n \\n \\n \\n
\\n
\\n \\n To\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Requested ByReceiving BankBank Sort CodeAmountPurposeStatus Request Date
\\n {{paymentRequest.InternationalTransfer.Initiator}}\\n \\n {{(paymentRequest.InternationalTransfer.beneficiaryBankName || '')}}\\n \\n {{(paymentRequest.InternationalTransfer.beneficiaryBankSortCode || '')}}\\n \\n {{(paymentRequest.InternationalTransfer.amount || 0) | currency:paymentRequest.InternationalTransfer.currency }}\\n \\n {{paymentRequest.InternationalTransfer.purpose}}\\n \\n \\n {{paymentRequest.InternationalTransfer['Status'].toLowerCase()}}\\n \\n \\n {{paymentRequest.InternationalTransfer.CreatedDate | date:\\\"MMM dd hh:mm a\\\"}}\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending international-payment requests .. please wait\\n
\\n There are no pending international payments awaiting your approval\\n
\\n \\n \\n
\\n
\\n
\\n \\n {{ownloaderMsg}}\\n \\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n  \\n {{_approvalModalData.title || 'Approve International Transfer'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n Please Confirm that you want to Approve the international transfer with following details\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Beneficiary{{_approvalModalData.data.beneficiaryName}}
Beneneficiary Bank{{_approvalModalData.data.beneficiaryBankName}}
Currency{{_approvalModalData.data.currency}}
Amount{{_approvalModalData.data.amount}}
\\n
\\n
\\n This action cannot be reversed, once completed.\\n
\\n
\\n
\\n
\\n Please confirm that you want to reject the payment of {{(_approvalModalData.data.totalAmount || 0) | currency: 'N':'symbol':'0.2-2'}} to recipient.\\n
\\n
\\n Please confirm that you want to Reject Approval for {{_selectedRequestCount}} of\\n {{requestListBackup.length | number}} Payment requests.\\n
\\n
You can not undo this action. Do you want to continue?\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

Please enter the One Time Pin sent to you to approve request

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n {{ownLoaderMsg}}\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n Confirm Hardware Token\\n
\\n \\n Please provide the hardware token number below\\n \\n
\\n \\n Token \\n \\n \\n
\\n
Verify\\n
\\n
  \\n \\n\\n
\\n\\n
\\n   \\n loading... please wait\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}} {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved.\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n {{ownLoaderMsg}}\\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   Payment Request Details\\n

\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
Transaction Type
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Reference Id
\\n
{{_approvalModalData.data.referenceId}}
\\n
\\n
\\n
Source Account
\\n
{{_approvalModalData.data.sourceAccount}}
\\n
\\n
\\n
Frequency Type
\\n
{{_approvalModalData.data.frequencyType}}
\\n
\\n
\\n
Transaction Date
\\n
{{_approvalModalData.data.transactionDate | date}}
\\n
\\n
\\n
Network
\\n
{{_approvalModalData.data.network}}
\\n
\\n
\\n
Beneficiary Type
\\n
{{_approvalModalData.data.beneficiaryType}}
\\n
\\n
\\n
Beneficiary Description
\\n
{{_approvalModalData.data.beneficiaryDescription}}
\\n
\\n
\\n
Transaction Currency
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Amount
\\n
{{(_approvalModalData.data.amount || 0) | currency}}
\\n
\\n
\\n
My Reference
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Recipient Account Ref.
\\n
\\n
\\n
\\n
Authorizer
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Transaction Status
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Marked for stop
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   Request Approval History\\n

\\n \\n
\\n\\n
\\n
0\\\">\\n \\n \\n

{{approval.user}} {{approval.action}} request

\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild, TemplateRef, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApprovalStage, StagedInternationalPaymentRequestObject } from 'src/app/core/models/payloads/transactions';\nimport { CustomerAccount } from 'src/app/core/models/account';\nimport { Role, ResponseCodes, OtpReasonCodes, OTPType } from 'src/app/core/models/Enumerations';\nimport { Approval } from 'src/app/core/models/approvals/payment.approval';\nimport { MatDialogRef, MatDialog, MatSnackBar, MatStepper, PageEvent } from '@angular/material';\nimport { StagedRequestService } from 'src/app/core/services/request.staged.service';\nimport { NotificationsService } from 'angular2-notifications';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { AccountService } from 'src/app/core/services/account.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { TransferApprovalService } from 'src/app/core/services/workflow/transfer.approval.service';\nimport { SinglePaymentApprovalRequestPayload, BulkPaymentBatchApprovalResponse } from 'src/app/core/models/approvals/file-upload.approval';\nimport { StagedTransfer } from 'src/app/core/models/transfer';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from '../../../core/services/variables.service';\nimport { RouterConstants } from '../../../core/helpers/routerConstants';\n\n@Component({\n selector: 'app-fx-payment-approvals',\n templateUrl: './fx-payment-approvals.component.html',\n styleUrls: ['./fx-payment-approvals.component.css']\n})\nexport class FxPaymentApprovalsComponent implements OnInit, OnChanges {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n _activeRequestCount = 0;\n accountList: CustomerAccount[];\n requestList: StagedInternationalPaymentRequestObject[] = [];\n requestListBackup: StagedInternationalPaymentRequestObject[] = [];\n _selectedRequestCount = 0;\n _approvalModalData = {\n title: '',\n message: '',\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: { batchId: '', approverStageId: '', approverId: '', initiator: '' }\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n searchFilter = this.initSearchFilter();\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n\n _requestApprovalHistory: Array = [];\n _availableApprovalStages: Array = [];\n\n _paymentApprovalCompleted: boolean;\n @ViewChild('deleteConfirmationTemplate') _approvalModalTemplate: TemplateRef;\n public approvalRequestModal: MatDialogRef;\n\n @ViewChild('approvalRequestDetailModalTemplate') _requestDetailModalTemplate: TemplateRef;\n public approvalRequestDetailModal: MatDialogRef;\n\n @ViewChild('approvalRequestHistoryModalTemplate') _approvalHistoryModalTemplate: TemplateRef;\n public approvalHistoryModal: MatDialogRef;\n isCustomerHWTEnabled: boolean;\n isOTPStepperVisible: boolean;\n hwtFormGroup :FormGroup;\n constructor(private _stageRequestService: StagedRequestService, private _stagedTransferService: TransferStagingService,\n private _dialog: MatDialog, private _accountService: AccountService, private _snackBar: MatSnackBar, private router: Router,\n private _toast: NotificationsService, private _miscService: MiscService, private _approvalService: TransferApprovalService,\n private formBuilder: FormBuilder) {\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n UtilService.onPageLoadCallback();\n this.hwtFormGroup = formBuilder.group({\n hwt: ['', Validators.required]\n });\n\n }\n\n ngOnInit() {\n\n if (!VariablesService.CustomerAccounts || VariablesService.CustomerAccounts.length < 0) {\n this.router.navigate([RouterConstants.FullDashboardURL]);\n return;\n }\n\n this.accountList = VariablesService.CustomerAccounts;\n this.isCustomerHWTEnabled = VariablesService.CustomerHWTEnabled;\n // this.isCustomerHWTEnabled = true;\n if (this.isCustomerHWTEnabled) {\n this.isOTPStepperVisible = false;\n } else {\n this.isOTPStepperVisible = true;\n }\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'international-payments') {\n this.loadPendingPaymentRequests();\n // this.loadAccounts();\n }\n }\n }\n\n loadPendingPaymentRequests(loaderMsg = 'fetching pending payment requests. please wait', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._stagedTransferService.getStagedInternationalPaymentRequest({ PageSize: pageSize, LastFetchId: lastFetchId }).then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n response.PaginatedItems.forEach(request => {\n request['color'] = this.getRequestColor();\n request['checked'] = false;\n });\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this._snackBar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onApprovalRequestAction(action: string, data: StagedInternationalPaymentRequestObject) {\n this._approvalModalData.data = data.InternationalTransfer;\n this._approvalModalData.requestMeta.batchId = data.BatchId.toString();\n this._approvalModalData.requestMeta.approverStageId = data.ApprovalStageId.toString();\n this._approvalModalData.requestMeta.approverId = data.ApproverId.toString();\n this._approvalModalData.requestMeta.initiator = data.Initiator;\n switch (action) {\n case 'approve': {\n this._approvalModalData.currentRequestAction = 'approve';\n this._approvalModalData.currentApprovalAction = 'initiate_approval';\n this._approvalModalData.message = '';\n this.approvalRequestModal = this._dialog.open(this._approvalModalTemplate);\n break;\n }\n case 'reject': {\n const rejectionDialog = this._dialog.open(RejectRequestComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true,\n data: {\n title: 'Reject International Transfer Approval Request',\n payload: {\n OperationType: 'INTERNATIONAL_TRANSFER',\n OperationId: data.InternationalTransfer.Id\n }\n }\n });\n rejectionDialog.afterClosed()\n .subscribe((result) => {\n /*\n if (result) {\n this.loadPendingPaymentRequests('refreshing .. please wait');\n }\n */\n this.loadPendingPaymentRequests('refreshing .. please wait');\n });\n break;\n }\n case 'view-detail': {\n this._approvalModalData.currentRequestAction = 'view-detail';\n this._approvalModalData.title = '';\n this.approvalRequestDetailModal = this._dialog.open(this._requestDetailModalTemplate, {\n hasBackdrop: true,\n disableClose: true,\n minWidth: 400,\n panelClass: ['custom-add-confirmationModal']\n });\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data.InternationalTransfer['operationType'],\n OperationId: Number(data.InternationalTransfer.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n const approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'international-transfer',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n case 'approve-multiple': {\n this._approvalModalData.currentRequestAction = 'approve-multiple';\n const _selectedRequests = this.requestListBackup.filter(request => request['checked']);\n this._approvalModalData.data['totalAmount'] = _selectedRequests.map(request => request.InternationalTransfer.amount)\n .reduce((prev, current) => current + prev);\n this._approvalModalData.title = `Approve ${this._selectedRequestCount} Payment ` +\n (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n break;\n }\n case 'reject-multiple': {\n this._approvalModalData.currentRequestAction = 'reject-multiple';\n this._approvalModalData.title = `Reject ${this._selectedRequestCount} Payment ` +\n (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiatePaymentRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackBar.open('Please provode a reason for rejecting request .. ', 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendPaymentApprovalRecallRequest({} as StagedTransfer);\n break;\n }\n }\n }\n\n initiatePaymentRequestApprovalOTP(stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE INTERNATIONAL PAYMENT').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.initiatePaymentRequestApprovalOTP(stepper));\n return;\n }\n this._otpReferenceId = response.ResponseDescription;\n stepper.next();\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n returnToOTPStepper(){\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE INTERNATIONAL PAYMENT').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.returnToOTPStepper());\n return;\n }\n \n var hardwareTokenStepper = document.getElementById('hardwareTokenStepper');\n hardwareTokenStepper.style.display = 'none';\n this.isOTPStepperVisible = true;\n this._otpReferenceId = response.ResponseDescription;\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper, useHardwareToken:boolean) {\n \n if (useHardwareToken) {\n if (!this.hwtFormGroup.valid || !this.hwtFormGroup.controls.hwt) {\n this._snackBar.open(`Please provide a valid token number`, 'Ok', { duration: 25000 });\n return;\n }\n }\n if (!form.valid) {\n this._snackBar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n\n this.sendPaymentApprovalRequest(this._approvalModalData.data as StagedInternationalPaymentRequestObject, stepper);\n }\n sendPaymentApprovalRequest(request: StagedInternationalPaymentRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n if(!this.isOTPStepperVisible){\n approvalRequestPayload[\"otp\"]= this.hwtFormGroup.controls.hwt.value;\n approvalRequestPayload[\"OTPType\"] = OTPType.HWT;\n }\n else{\n approvalRequestPayload[\"OTPType\"] = !this.isOTPStepperVisible ? OTPType.HWT : this.isOTPStepperVisible ? OTPType.OTP : OTPType.NONE;\n approvalRequestPayload[\"otp\"]= !this.isOTPStepperVisible ? this.hwtFormGroup.controls.hwt.value : this.oneTimePassCode;\n }\n this._approvalService.approvePendingInternationalPaymentRequest(approvalRequestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._approvalModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.loadPendingPaymentRequests('refreshing pending batch list');\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n sendPaymentApprovalRequestWithStageSelection(request: StagedInternationalPaymentRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n this._approvalService.approvePendingPaymentRequestWithSelectedStage(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._approvalModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.loadPendingPaymentRequests('refreshing pending batch list');\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildSinglePaymentApprovalRequestPayload();\n requestPayload.NextStages = [approvalStage];\n this.sendPaymentApprovalRequestWithStageSelection(this._approvalModalData.data, stepper);\n }\n\n sendPaymentApprovalRecallRequest(request: StagedTransfer) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n this._stageRequestService.makePaymentApprovalRecallRequest(request).then(\n (response: any) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.approvalRequestModal.close();\n this._snackBar.open(`Payment request recalled. Notification email has been sent to initiator`, 'Ok',\n { duration: 5000 });\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n getRequestColor(): string {\n const color = ['lightcoral', '#2196F3', '#009688', '#b71c1c'];\n const pos = Math.floor(Math.random() * color.length);\n return color[pos];\n }\n\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n // loadAccounts(loaderMsg = 'loading account list .. Please wait') {\n // this.ownLoaderIsActive = true;\n // this._activeRequestCount += 1;\n // this.ownloaderMsg = loaderMsg;\n // this._accountService.getAccountsByCIFID().then(\n // (response) => {\n // this._activeRequestCount -= 1;\n // this.ownLoaderIsActive = this._activeRequestCount > 0;\n // this.ownloaderMsg = this._activeRequestCount > 0 ? this.ownloaderMsg : '';\n // if (!response || !response.ResponseCode || response.ResponseCode !== ResponseCodes.SUCCESS) {\n // this._snackBar.open(`Could not load accounts. Service response -> ${response.ResponseFriendlyMessage} `, null,\n // { verticalPosition: 'top', horizontalPosition: 'right', duration: 3000 });\n // return;\n // }\n // this.accountList = response.Accounts;\n // },\n // (error) => {\n // this._activeRequestCount -= 1;\n // this.ownLoaderIsActive = this._activeRequestCount > 0;\n // this._snackBar.open(error, null, { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n // });\n // }\n\n getRoleName(role: Role): string {\n switch (role) {\n case Role.Initiator:\n return 'Initiator';\n case Role.Approver:\n return 'Approver';\n case Role.Viewer:\n return 'Viewer';\n default:\n return 'N\\\\A';\n }\n }\n\n onRequestCheckboxChanged(evtData, position: number) {\n this.requestList[position]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestList.filter(request => request['checked']).length;\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestList.forEach(b => b['checked'] = true);\n this._selectedRequestCount = this.requestList.filter(b => b['checked']).length;\n this.allCheckboxesSelected = true;\n console.log(this.requestList);\n } else {\n this.requestList.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n this.allCheckboxesSelected = false;\n }\n }\n\n initSearchFilter() {\n return {\n startDate: '',\n endDate: '',\n transactionType: '',\n selectedAccount: {} as CustomerAccount,\n transactionStatus: '',\n role: 0 as Role\n };\n }\n\n\n private handleNonSuccessApprovalResponse(request: StagedInternationalPaymentRequestObject,\n response: BulkPaymentBatchApprovalResponse, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this._approvalModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendPaymentApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n\n private buildSinglePaymentApprovalRequestPayload():\n SinglePaymentApprovalRequestPayload {\n return {\n BatchId: Number(this._approvalModalData.requestMeta.batchId),\n UserId: '',\n ApproverId: Number(this._approvalModalData.requestMeta.approverId),\n ApproverStageId: Number(this._approvalModalData.requestMeta.approverStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n Transactions: [],\n OperationType: 'INTERNATIONAL_TRANSFER',\n OTPType:0\n };\n }\n\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n.request-detail-summary {\\n}\\n/********** Timeline related syles *******/\\n.timeline-item .timeline-content {\\n position: relative;\\n width: 40%;\\n padding: 0 !important;\\n border-radius: 4px;\\n background: #f5f5f5;\\n box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);\\n min-height: 10em;\\n}\\nvertical-timeline-card .date {\\n background: #3F51B5;\\n display: inline-block;\\n color: #FFFFFF;\\n padding: 10px;\\n position: relative !important;\\n /* top: 0; */\\n /* right: 0; */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL3BheW1lbnQtYXBwcm92YWxzL3BheW1lbnQtYXBwcm92YWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7OztJQUtJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBRUQ7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7OztJQUdJLDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDbkM7QUFDRDtJQUNJLHlDQUF5QztDQUM1QztBQUVEO0NBQ0M7QUFDRCwyQ0FBMkM7QUFDM0M7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGlEQUFpRDtJQUNqRCxpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGNBQWM7SUFDZCw4QkFBOEI7SUFDOUIsYUFBYTtJQUNiLGVBQWU7Q0FDbEIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hcHByb3ZhbHMvcGF5bWVudC1hcHByb3ZhbHMvcGF5bWVudC1hcHByb3ZhbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LCAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOWY5ZjkgIWltcG9ydGFudDtcbn1cblxuLnJlcXVlc3QtZGV0YWlsLXN1bW1hcnkge1xufVxuLyoqKioqKioqKiogVGltZWxpbmUgcmVsYXRlZCBzeWxlcyAqKioqKioqL1xuLnRpbWVsaW5lLWl0ZW0gLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDAlO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMjVweCAtMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgbWluLWhlaWdodDogMTBlbTtcbn1cbnZlcnRpY2FsLXRpbWVsaW5lLWNhcmQgLmRhdGUge1xuICAgIGJhY2tncm91bmQ6ICMzRjUxQjU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgLyogdG9wOiAwOyAqL1xuICAgIC8qIHJpZ2h0OiAwOyAqL1xufVxuIl19 */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Payment Requests'}}\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Initiator Account\\n \\n \\n
\\n {{account.accountName}} - {{account.accountNumber}}\\n
\\n
\\n Available Bal: {{account.currency}} {{account.availableBalance}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n {{type}}\\n
\\n \\n
\\n
\\n
\\n
\\n \\n Transaction Status\\n \\n \\n
\\n {{status}}\\n
\\n \\n
\\n
\\n
\\n
\\n \\n Role\\n \\n \\n
\\n {{getRoleName(role)}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n From\\n \\n \\n \\n \\n
\\n
\\n \\n To\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdTransaction TypeStatusRequested ByFrequency TypeTransaction DateTotal Amount
\\n {{paymentRequest.SingleTransfer.Id}}\\n \\n {{paymentRequest.SingleTransfer.transferType}}\\n \\n \\n {{paymentRequest.SingleTransfer['Status'].toLowerCase()}}\\n \\n \\n {{(paymentRequest.Initiator || '').substr(0, 15)+ ' ..'}}\\n \\n {{paymentRequest.SingleTransfer.intervalType || 'Once'}}\\n \\n {{paymentRequest.SingleTransfer['CreatedDate'] | date}}\\n \\n {{(paymentRequest.SingleTransfer.amount || 0) | currency:paymentRequest.SingleTransfer['SourceAccountCurrency']:\\\"symbol-narrow\\\" }}\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending payment requests .. please wait\\n
\\n There are no pending payments awaiting your approval\\n You have no pending payment requests\\n
\\n \\n \\n
\\n
\\n
\\n \\n {{ownloaderMsg}}\\n \\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   {{_approvalModalData.title || 'Approve\\n Payment Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n Please Confirm that you want to Approve the transfer\\n of {{_approvalModalData.data.SourceAccountCurrency}}\\n {{(_approvalModalData.data.amount || 0) | number:'1.2-2'}}
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Amount\\n {{_approvalModalData.data.SourceAccountCurrency}}\\n {{(_approvalModalData.data.amount || 0) | number:'1.2-2'}}\\n
Source Account[{{_approvalModalData.data.sourceAccountNo}} -\\n {{_approvalModalData.data.sourceAccountName}}]
Destination Account[{{_approvalModalData.data.destinationAccountNo}} -\\n {{_approvalModalData.data.destinationAccountName}}]
Bank{{getBankName(_approvalModalData.data['destinationBankCode'])}}
Sender Narration{{_approvalModalData.data['customerReference']}}
Receiver Narration{{_approvalModalData.data['customerReference']}}
\\n
\\n This action cannot be reversed, once completed.\\n
\\n \\n
\\n
\\n Please confirm that you want to reject the payment of\\n {{(_approvalModalData.data.totalAmount || 0) | currency: 'N':'symbol':'0.2-2'}} to\\n recipient.\\n
\\n
\\n Please confirm that you want to Reject Approval for {{_selectedRequestCount}} of\\n {{requestListBackup.length | number}} Payment requests.\\n
\\n
You can not undo this action. Do you want to continue?\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n Please confirm that you want to Approve {{_selectedRequestCount}} payment request\\n totaling up to {{(_approvalModalData.data.totalAmount || 0) | currency: 'N':'symbol':'0.2-2'}}\\n .
You can not undo this action. Do you want to continue?\\n
\\n
\\n
\\n
\\n \\n \\n Verify OTP\\n
\\n Verify OTP\\n

{{otpInstruction || 'Please enter the One Time Pin sent to you to approve request'}} \\n

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n \\n {{ownLoaderMsg}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Confirm Hardware Token\\n
\\n \\n Please provide the hardware token number below\\n \\n
\\n \\n Token \\n \\n \\n
\\n
Verify\\n
\\n
  \\n \\n\\n
\\n\\n
\\n   \\n loading... please wait\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}\\n {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved.\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n \\n
\\n \\n \\n
\\n
\\n \\n \\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n\\n\\n
\\n \\n
\\n

\\n   Payment Request Details\\n

\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
Transaction Type
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Reference Id
\\n
{{_approvalModalData.data.referenceId}}
\\n
\\n
\\n
Source Account
\\n
{{_approvalModalData.data.sourceAccount}}
\\n
\\n
\\n
Frequency Type
\\n
{{_approvalModalData.data.frequencyType}}
\\n
\\n
\\n
Transaction Date
\\n
{{_approvalModalData.data.transactionDate | date}}
\\n
\\n
\\n
Network
\\n
{{_approvalModalData.data.network}}
\\n
\\n
\\n
Beneficiary Type
\\n
{{_approvalModalData.data.beneficiaryType}}
\\n
\\n
\\n
Beneficiary Description
\\n
{{_approvalModalData.data.beneficiaryDescription}}
\\n
\\n
\\n
Transaction Currency
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Amount
\\n
{{(_approvalModalData.data.amount || 0) | currency}}
\\n
\\n
\\n
My Reference
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Recipient Account Ref.
\\n
\\n
\\n
\\n
Authorizer
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Transaction Status
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Marked for stop
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   Request Approval History\\n

\\n \\n
\\n\\n
\\n
0\\\">\\n \\n \\n

{{approval.user}} {{approval.action}} request

\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n\"","import { Component, OnInit, TemplateRef, ViewChild, Input, SimpleChanges, OnChanges, OnDestroy } from '@angular/core';\nimport { StagedRequestService } from 'src/app/core/services/request.staged.service';\nimport { StagedTransfer } from 'src/app/core/models/transfer';\nimport { MatDialogRef, MatDialog, MatStepper, MatSnackBar, PageEvent } from '@angular/material';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { CustomerAccount } from 'src/app/core/models/account';\nimport { AccountService } from 'src/app/core/services/account.service';\nimport { ResponseCodes, OtpReasonCodes, OTPType } from 'src/app/core/models/Enumerations';\nimport { Role } from 'src/app/core/models/user/AppUser';\nimport { NotificationsService } from 'angular2-notifications';\nimport { Approval } from 'src/app/core/models/approvals/payment.approval';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { StagedPaymentRequest, ApprovalStage, StagedPaymentRequestResponse } from 'src/app/core/models/payloads/transactions';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { TransferApprovalService } from 'src/app/core/services/workflow/transfer.approval.service';\nimport { SinglePaymentApprovalRequestPayload, BulkPaymentBatchApprovalResponse } from 'src/app/core/models/approvals/file-upload.approval';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { AppUser } from 'src/app/core/models/auth';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from '../../../core/services/variables.service';\nimport { _banksList } from 'src/app/core/models/_banks_list_backup';\n\n@Component({\n selector: 'app-payment-approvals',\n templateUrl: './payment-approvals.component.html',\n styleUrls: ['./payment-approvals.component.css']\n})\nexport class PaymentApprovalsComponent implements OnInit, OnChanges, OnDestroy {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n\n _activeRequestCount = 0;\n accountList: CustomerAccount[];\n requestList: StagedPaymentRequest[] = [];\n requestListBackup: StagedPaymentRequest[] = [];\n pageSize = 5;\n _selectedRequestCount = 0;\n _approvalModalData = {\n title: '',\n message: '',\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: { batchId: '', approverStageId: '', approverId: '', initiator: '' }\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n otpInstruction: string;\n searchFilter = this.initSearchFilter();\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n\n _requestApprovalHistory: Array = [];\n _availableApprovalStages: Array = [];\n\n _paymentApprovalCompleted: boolean;\n public _loggedInUser: AppUser;\n public _loggedInUserIsApprover: boolean;\n public _loggedInUserIsInitiator: boolean;\n pageTitle: string;\n @ViewChild('deleteConfirmationTemplate') _approvalModalTemplate: TemplateRef;\n public approvalRequestModal: MatDialogRef;\n\n @ViewChild('approvalRequestDetailModalTemplate') _requestDetailModalTemplate: TemplateRef;\n public approvalRequestDetailModal: MatDialogRef;\n\n @ViewChild('approvalRequestHistoryModalTemplate') _approvalHistoryModalTemplate: TemplateRef;\n public approvalHistoryModal: MatDialogRef;\n public requestRejectionModal: MatDialogRef;\n isCustomerHWTEnabled: any;\n isOTPStepperVisible: boolean;\n hwtFormGroup:FormGroup;\n accountNoSet: Set;\n\n constructor(private _stageRequestService: StagedRequestService, private _stagedTransferService: TransferStagingService,\n private _dialog: MatDialog, private _accountService: AccountService, private _snackBar: MatSnackBar, private _authService: AuthService,\n private _toast: NotificationsService, private _miscService: MiscService, private _approvalService: TransferApprovalService, private formBuilder:FormBuilder) {\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this._loggedInUser = _authService.getLoggedInUser();\n this._loggedInUserIsApprover = this._authService.loggedInUserHasSMEProfile() && this._loggedInUser.Role.roles.includes(Role.Approver);\n this._loggedInUserIsInitiator = this._authService.loggedInUserHasSMEProfile() && this._loggedInUser.Role.roles.includes(Role.Initiator);\n\n UtilService.onPageLoadCallback();\n \n this.hwtFormGroup = formBuilder.group({\n hwt: ['', Validators.required]\n });\n }\n\n ngOnInit() {\n this.accountNoSet = new Set();\n VariablesService.CustomerAccounts.forEach(element => {\n this.accountNoSet.add(element.accountNumber)});\n this.initComponent();\n this.isCustomerHWTEnabled = VariablesService.CustomerHWTEnabled;\n //this.isCustomerHWTEnabled = true;\n if (this.isCustomerHWTEnabled) {\n this.isOTPStepperVisible = false;\n } else {\n this.isOTPStepperVisible = true;\n }\n }\n\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab !== 'payments') {\n this.dismissOpenModalWindows();\n }\n if (this._activeTab === 'payments') {\n this.loadPendingPaymentRequests();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dismissOpenModalWindows();\n }\n\n\n loadPendingPaymentRequests(loaderMsg = 'fetching pending payment requests. please wait', lastFetchId = 0, pageSize = 100) {\n \n\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n const payload = { PageSize: pageSize, LastFetchId: lastFetchId };\n if (this._loggedInUserIsInitiator) {\n payload['OperationType'] = 'SINGLE_TRANSFER';\n }\n const _request = this._loggedInUserIsApprover ? this._stagedTransferService.getStagedPaymentRequest(payload) :\n this._miscService.getPendingRequest(payload);\n _request.then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n response.PaginatedItems.forEach(request => {\n request['color'] = this.getRequestColor();\n request['checked'] = false;\n });\n this.requestListBackup = response.PaginatedItems;\n this.requestListBackup = this.requestListBackup.filter(item => this.accountNoSet.has(item.SingleTransfer.sourceAccountNo));\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this._snackBar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onSearchFilterStateChanged() {\n this.filterIsActive = !this.filterIsActive;\n if (this.filterIsActive) {\n this.loadAccounts();\n }\n }\n onApprovalRequestAction(action: string, data: StagedPaymentRequest) {\n this._approvalModalData.data = data.SingleTransfer;\n this._approvalModalData.requestMeta.batchId = data.BatchId.toString();\n this._approvalModalData.requestMeta.approverStageId = data.ApprovalStageId.toString();\n this._approvalModalData.requestMeta.approverId = data.ApproverId.toString();\n this._approvalModalData.requestMeta.initiator = data.Initiator;\n if (!this._loggedInUserIsApprover && action !== ('view-history')) {\n return;\n }\n switch (action) {\n case 'approve': {\n this._approvalModalData.currentRequestAction = 'approve';\n this._approvalModalData.message = '';\n this._approvalModalData.currentApprovalAction = '';\n this.approvalRequestModal = this._dialog.open(this._approvalModalTemplate);\n break;\n }\n case 'reject': {\n console.log(\"reject\")\n this.requestRejectionModal = this._dialog.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Payment Approval Request',\n payload: {\n OperationType: 'SINGLE_TRANSFER',\n OperationId: data.SingleTransfer.Id\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.requestRejectionModal.afterClosed()\n .subscribe((result) => this.loadPendingPaymentRequests('refreshing .. please wait'));\n\n break;\n }\n case 'view-detail': {\n this._approvalModalData.currentRequestAction = 'view-detail';\n this._approvalModalData.title = '';\n this.approvalRequestDetailModal = this._dialog.open(this._requestDetailModalTemplate, {\n hasBackdrop: true,\n disableClose: true,\n minWidth: 480,\n panelClass: ['custom-add-confirmationModal'],\n closeOnNavigation: true\n });\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data.SingleTransfer['OperationType'],\n OperationId: data.SingleTransfer.Id,\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'single-transfer',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n },\n closeOnNavigation: true\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n case 'approve-multiple': {\n this._approvalModalData.currentRequestAction = 'approve-multiple';\n const _selectedRequests = this.requestListBackup.filter(request => request['checked']);\n this._approvalModalData.data['totalAmount'] = _selectedRequests.map(request => request.SingleTransfer.amount)\n .reduce((prev, current) => current + prev);\n this._approvalModalData.title = `Approve ${this._selectedRequestCount} Payment ` +\n (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n break;\n }\n case 'reject-multiple': {\n this._approvalModalData.currentRequestAction = 'reject-multiple';\n this._approvalModalData.title = `Reject ${this._selectedRequestCount} Payment ` +\n (this._selectedRequestCount > 1 ? 'Requests' : 'Request');\n this.approvalRequestModal = this._dialog.open((this._approvalModalTemplate));\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n\n switch (action) {\n case 'approve-multiple':\n case 'approve': {\n this.initiatePaymentRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackBar.open('Please provode a reason for rejecting request .. ', 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendPaymentApprovalRecallRequest(stepper, {} as StagedTransfer);\n break;\n }\n }\n }\n\n initiatePaymentRequestApprovalOTP(stepper: MatStepper, isResendOTP = false) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE TRANSFER').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.initiatePaymentRequestApprovalOTP(stepper));\n return;\n }\n this._otpReferenceId = response.ResponseDescription;\n this._approvalModalData.currentApprovalAction = 'verify-otp';\n this.otpInstruction = `Please enter the One Time Pin sent to ${response.NotificationAddress} to approve request`;\n if (!isResendOTP) {\n stepper.next();\n }\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper , useHardwareToken:boolean) {\n \n if (useHardwareToken) {\n if (!this.hwtFormGroup.valid || !this.hwtFormGroup.controls.hwt) {\n this._snackBar.open(`Please provide a valid token number`, 'Ok', { duration: 25000 });\n return;\n }\n }\n if (!form.valid) {\n this._snackBar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendPaymentApprovalRequest(this._approvalModalData.data as StagedPaymentRequest, stepper);\n }\n \n returnToOTPStepper() {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE TRANSFER').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Try again', { duration: 25000 }).onAction().subscribe(() => this.returnToOTPStepper());\n return;\n }\n var hardwareTokenStepper = document.getElementById('hardwareTokenStepper');\n hardwareTokenStepper.style.display = 'none';\n this.isOTPStepperVisible = true;\n this._otpReferenceId = response.ResponseDescription;\n this._approvalModalData.currentApprovalAction = 'verify-otp';\n this.otpInstruction = `Please enter the One Time Pin sent to ${response.NotificationAddress} to approve request`;\n \n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n \n sendPaymentApprovalRequest(request: StagedPaymentRequest, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n if(!this.isOTPStepperVisible){\n approvalRequestPayload[\"otp\"]= this.hwtFormGroup.controls.hwt.value;\n approvalRequestPayload[\"OTPType\"] = OTPType.HWT;\n }\n else{\n approvalRequestPayload[\"OTPType\"] = !this.isOTPStepperVisible ? OTPType.HWT : this.isOTPStepperVisible ? OTPType.OTP : OTPType.NONE;\n approvalRequestPayload[\"otp\"]= !this.isOTPStepperVisible ? this.hwtFormGroup.controls.hwt.value : this.oneTimePassCode;\n }\n this._approvalService.approvePendingPaymentRequest(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._approvalModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.loadPendingPaymentRequests('refreshing pending batch list');\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.oneTimePassCode = '';\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackBar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n sendPaymentApprovalRequestWithStageSelection(request: StagedPaymentRequest, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n const approvalRequestPayload = this.buildSinglePaymentApprovalRequestPayload();\n this._approvalService.approvePendingPaymentRequestWithSelectedStage(approvalRequestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._approvalModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => {\n stepper.next();\n }, 50);\n this.loadPendingPaymentRequests('refreshing pending batch list');\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildSinglePaymentApprovalRequestPayload();\n requestPayload.NextStages = [approvalStage];\n this.sendPaymentApprovalRequestWithStageSelection(this._approvalModalData.data, stepper);\n }\n\n sendPaymentApprovalRecallRequest(stepper: MatStepper, request: StagedTransfer) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving payment .. please wait`;\n this._stageRequestService.makePaymentApprovalRecallRequest(request).then(\n (response: any) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n // this.approvalRequestModal.close();\n stepper.next();\n\n this._snackBar.open(`Payment request recalled. Notification email has been sent to initiator`, 'Ok',\n { duration: 5000 });\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n getRequestColor(): string {\n const color = ['lightcoral', '#2196F3', '#009688', '#b71c1c'];\n const pos = Math.floor(Math.random() * color.length);\n return color[pos];\n }\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n\n loadAccounts() {\n this.accountList = VariablesService.CustomerAccounts;\n }\n\n getRoleName(role: Role): string {\n switch (role) {\n case Role.Initiator:\n return 'Initiator';\n case Role.Approver:\n return 'Approver';\n case Role.Viewer:\n return 'Viewer';\n default:\n return 'N\\\\A';\n }\n }\n getBankName(bankCode: string) {\n const bank = _banksList.find(b => b['bankCode'] === bankCode);\n return bank && bank['name'] ? bank['name'] : 'N/A';\n }\n\n onRequestCheckboxChanged(evtData, position: number) {\n this.requestList[position]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestList.filter(request => request['checked']).length;\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestList.forEach(b => b['checked'] = true);\n this._selectedRequestCount = this.requestList.filter(b => b['checked']).length;\n this.allCheckboxesSelected = true;\n console.log(this.requestList);\n } else {\n this.requestList.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n this.allCheckboxesSelected = false;\n }\n }\n\n initSearchFilter() {\n return {\n startDate: '',\n endDate: '',\n transactionType: '',\n selectedAccount: {} as CustomerAccount,\n transactionStatus: '',\n role: 0 as Role\n };\n }\n private handleNonSuccessApprovalResponse(request: StagedPaymentRequest, response: BulkPaymentBatchApprovalResponse, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this._approvalModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => {\n stepper.next();\n }, 50);\n break;\n }\n default: {\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendPaymentApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n\n private buildSinglePaymentApprovalRequestPayload():\n SinglePaymentApprovalRequestPayload {\n return {\n BatchId: Number(this._approvalModalData.requestMeta.batchId),\n UserId: '',\n ApproverId: Number(this._approvalModalData.requestMeta.approverId),\n ApproverStageId: Number(this._approvalModalData.requestMeta.approverStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n Transactions: [],\n OperationType: 'ONE_OFF_PAYMENT' ,// this._approvalModalData.data.OperationType\n OTPType:0\n };\n }\n\n private initComponent() {\n if (this._authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover) {\n this.pageTitle = 'Authorize Pending Payment Approval Requests';\n }\n }\n\n private dismissOpenModalWindows() {\n if (this.approvalRequestDetailModal) {\n this.approvalRequestDetailModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n if (this.approvalRequestModal) {\n this.approvalRequestModal.close();\n }\n\n if (this.requestRejectionModal) {\n this.requestRejectionModal.close();\n }\n }\n\n}\n\n\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n.request-detail-summary {\\n}\\n/********** Timeline related syles *******/\\n.timeline-item .timeline-content {\\n position: relative;\\n width: 40%;\\n padding: 0 !important;\\n border-radius: 4px;\\n background: #f5f5f5;\\n box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);\\n min-height: 10em;\\n}\\nvertical-timeline-card .date {\\n background: #3F51B5;\\n display: inline-block;\\n color: #FFFFFF;\\n padding: 10px;\\n position: relative !important;\\n /* top: 0; */\\n /* right: 0; */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL3NlcnZpY2UtcmVxdWVzdC1hcHByb3ZhbHMvc2VydmljZS1yZXF1ZXN0LWFwcHJvdmFscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUNEO0lBQ0ksa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFFRDs7Ozs7SUFLSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDZDQUE2QztDQUNoRDtBQUVEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBQ0Q7SUFDSSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7SUFHSSw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ25DO0FBQ0Q7SUFDSSx5Q0FBeUM7Q0FDNUM7QUFFRDtDQUNDO0FBQ0QsMkNBQTJDO0FBQzNDO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixpREFBaUQ7SUFDakQsaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGFBQWE7SUFDYixlQUFlO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL3NlcnZpY2UtcmVxdWVzdC1hcHByb3ZhbHMvc2VydmljZS1yZXF1ZXN0LWFwcHJvdmFscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3RyYW5zYWN0aW9ucy10YWJsZS5tYXQtdG9vbGJhci1yb3csICN0cmFuc2FjdGlvbnMtdGFibGUgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtcGFuZSAubWF0LWNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0aGVhZCB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOSAhaW1wb3J0YW50O1xufVxuXG4ucmVxdWVzdC1kZXRhaWwtc3VtbWFyeSB7XG59XG4vKioqKioqKioqKiBUaW1lbGluZSByZWxhdGVkIHN5bGVzICoqKioqKiovXG4udGltZWxpbmUtaXRlbSAudGltZWxpbmUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCAyNXB4IC0xNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtaW4taGVpZ2h0OiAxMGVtO1xufVxudmVydGljYWwtdGltZWxpbmUtY2FyZCAuZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogIzNGNTFCNTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAvKiB0b3A6IDA7ICovXG4gICAgLyogcmlnaHQ6IDA7ICovXG59XG4iXX0= */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || ' Pending Service Requests'}}\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdTypeStatusRequested ByAccount
\\n {{request.Details.Id}}\\n \\n {{request.Details.OperationType}}\\n \\n \\n {{request.Details.Status | titlecase}}\\n \\n \\n {{(request.Initiator || '').substr(0, 15)+ ' ..'}}\\n \\n {{'--'}}\\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending service requests approval requests .. please wait\\n
\\n There are no pending service request awaiting your approval\\n You have no pending service requests\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n \\n
\\n

\\n   \\n {{requestDetailModalData['modalTitle'] || 'Approve Service Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n Please Confirm that you want to Approve the service request with the following details\\n
\\n \\n \\n \\n \\n \\n
{{item.key | titlecase}}{{item.value}}
\\n
\\n Please note that you can not undo this action after approval is completed\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

Please enter the One Time Pin sent to you to continue

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}} {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n check_circle\\n
Success.
\\n
{{'Service request Approval is complete'}}
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges, TemplateRef, ViewChild, OnDestroy } from '@angular/core';\nimport { ApprovalStage } from 'src/app/core/models/payloads/transactions';\nimport { Role, ResponseCodes, OtpReasonCodes } from 'src/app/core/models/Enumerations';\nimport { MatSnackBar, MatDialogRef, MatDialog, PageEvent, MatStepper } from '@angular/material';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { RequestStagingService } from 'src/app/core/services/staging/service-request.staging.service';\nimport { StagedServiceRequest } from 'src/app/core/models/service-request/misc-models';\nimport { StagedBeneficiaryRequestApprovalPayload } from 'src/app/core/models/beneficiary';\nimport { NgForm } from '@angular/forms';\nimport { ServiceRequestOperationApprovalService } from 'src/app/core/services/workflow/service-request.approval.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\n\n@Component({\n selector: 'app-service-request-approvals',\n templateUrl: './service-request-approvals.component.html',\n styleUrls: ['./service-request-approvals.component.css']\n})\nexport class ServiceRequestApprovalsComponent extends BaseApprovalComponent implements OnInit, OnChanges, OnDestroy {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n\n _activeRequestCount = 0;\n requestList: StagedServiceRequest[] = [];\n requestListBackup: StagedServiceRequest[] = [];\n _activeRequestObject: StagedServiceRequest;\n _paginationSize = 5;\n _selectedRequestCount = 0;\n requestDetailModalData = {\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: {} as any\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n _availableApprovalStages: Array = [];\n\n @ViewChild('requestDetailModalTemplate') _requestDetailModalTemplate: TemplateRef;\n public requestDetailModal: MatDialogRef;\n private approvalHistoryModal: MatDialogRef;\n private rejectionDialog: MatDialogRef;\n\n constructor(private _requestStagingService: RequestStagingService,\n private _dialog: MatDialog, private _snackbar: MatSnackBar,\n private _miscService: MiscService,\n private _approvalService: ServiceRequestOperationApprovalService, authService: AuthService) {\n \n super(authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this.pageTitle = this._loggedInUser && this._authService.loggedInUserHasSMEProfile() &&\n this._loggedInUserIsApprover ? 'Authorize Service-Request Approval Requests' : '';\n\n UtilService.onPageLoadCallback();\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'service-requests') {\n this.loadPendingServiceRequests();\n }\n if (this._activeTab !== 'service-requests') {\n this.dismissOpenModalWindows();\n }\n }\n }\n\n ngOnDestroy(): void {\n this.dismissOpenModalWindows();\n }\n\n loadPendingServiceRequests(loaderMsg = 'retrieving pending service requests .. please wait', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestStagingService.getStagedServiceRequestApprovalRequest({ PageSize: pageSize, LastFetchId: lastFetchId }).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || !response.ResponseCode || response.ResponseCode !== ResponseCodes.SUCCESS) {\n const statusMsg = response && response.ResponseFriendlyMessage ? response.ResponseFriendlyMessage :\n 'Failed to load pending service requestal awaiting your approvals';\n this._snackbar.open(`${statusMsg}`, 'Ok', { duration: 25000 }); return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, this._paginationSize);\n\n },\n (error) => {\n console.log(error);\n }\n );\n\n }\n\n onRequestCheckboxChanged(evtData, postion: number) {\n this.requestList[postion]['checked'] = evtData.checked;\n const indexOnBackup = this.requestListBackup.indexOf(this.requestList[postion]);\n this.requestListBackup[indexOnBackup]['checked'] = evtData.checked;\n this._selectedRequestCount = this.requestListBackup.filter(request => request['checked']).length;\n }\n\n onAllCheckboxChanged(evtData) {\n if (evtData.checked) {\n this.requestListBackup.forEach(row => row['checked'] = true);\n this._selectedRequestCount = this.requestListBackup.length;\n } else {\n this.requestListBackup.forEach(b => b['checked'] = false);\n this._selectedRequestCount = 0;\n }\n this.requestList = this.requestListBackup.slice(0, 5);\n }\n\n\n onServiceRequestListPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n\n }\n\n onApprovalRequestAction(action: string, data: StagedServiceRequest) {\n this.requestDetailModalData['modalTitle'] = this.getApprovalModalTitle(data.Details.OperationType);\n this.requestDetailModalData.requestMeta['BatchId'] = data.BatchId;\n this.requestDetailModalData.requestMeta['Initiator'] = data.Initiator;\n this.requestDetailModalData.requestMeta['ApprovalStageId'] = data.ApprovalStageId;\n this.requestDetailModalData.requestMeta['ApproverId'] = data.ApproverId;\n this.requestDetailModalData.data = data.Details;\n switch (action) {\n case 'approve': {\n this.getRequestDetailObj(data.Details.SerializedDetails);\n this.initRequestApprovalModal(data);\n break;\n }\n case 'reject': {\n this.rejectionDialog = this._dialog.open(RejectRequestComponent,\n {\n data: {\n title: 'Reject Service-Request Approval Request',\n payload: {\n OperationType: 'SERVICE_REQUEST',\n OperationId: data.Details.Id\n }\n },\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true\n });\n this.rejectionDialog.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.loadPendingServiceRequests('refreshing .. please wait');\n }\n });\n\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: 'SERVICE_REQUEST',\n OperationId: Number(data.Details.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n this.approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'service-request',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n this.approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiateRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackbar.open('Please provode a reason for rejecting request .. ', 'Ok',\n { duration: 10000 });\n return;\n }\n break;\n }\n }\n }\n\n onSelectedNextApprovalStageSubmitted(approvalStage: ApprovalStage, stepper: MatStepper) {\n // this.ownLoaderIsActive = true;\n // this.ownloaderMsg = 'setting next approval stage .. please wait';\n const requestPayload = this.buildOperationApprovalRequestPayload(this.requestDetailModalData.data.Details.OperationType);\n requestPayload.NextStages = [approvalStage];\n this.sendServiceOperationApprovalRequest(requestPayload, stepper);\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper) {\n if (!form.valid) {\n this._snackbar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n const requestPayload = this.buildOperationApprovalRequestPayload(this.requestDetailModalData.data.Details.OperationType);\n this.sendServiceOperationApprovalRequest(requestPayload, stepper);\n }\n\n private getApprovalModalTitle(operationType) {\n switch (operationType) {\n case 'CHEQUEBOOK_REQUEST':\n return 'Approve Cheque book service request';\n case 'STOP_CHEQUE':\n return 'Approve Stop Cheque Request';\n case 'MAKE_ENQUIRY':\n return 'Approve Enquiry Request';\n case 'FREEZE_ACCOUNT':\n return 'Approve Account Freeze Request';\n case 'MODIFY_ACCOUNT':\n return 'Approve Name Change request';\n case 'CARD_REQUEST':\n return '';\n }\n }\n\n private buildOperationApprovalRequestPayload(operationType: string):\n StagedBeneficiaryRequestApprovalPayload {\n return {\n BatchId: Number(this.requestDetailModalData.requestMeta.BatchId),\n ApproverId: Number(this.requestDetailModalData.requestMeta.ApproverId),\n ApproverStageId: Number(this.requestDetailModalData.requestMeta.ApprovalStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n OperationType: operationType\n };\n }\n\n private initiateRequestApprovalOTP(stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE SERVICE REQUEST').then(\n (response) => {\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate approval process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Ok', { duration: 25000 });\n return;\n }\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n setTimeout(() => stepper.next(), 25);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n private sendServiceOperationApprovalRequest(requestPayload, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'Approving request .. please wait';\n this._approvalService.approvePendingServiceOperationRequest(requestPayload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || !response.ResponseCode) {\n this._snackbar.open(response && response.ResponseFriendlyMessage ? response.ResponseFriendlyMessage :\n `Failed to approve service request operation. Error occured`, 'Ok', { duration: 25000 });\n return;\n }\n if (response.ResponseCode === ResponseCodes.SUCCESS) {\n this._snackbar.open(response.ResponseFriendlyMessage, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => stepper.next(), 25);\n this.loadPendingServiceRequests();\n return;\n }\n this.handleNonSuccessApprovalResponse(requestPayload, response, stepper);\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n // this._snackbar.open(`${Constants.APITechnicalErrorMessage}`, 'Ok', { duration: 25000 });\n }\n );\n\n }\n\n private handleNonSuccessApprovalResponse(request: StagedServiceRequest, response: any, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this.requestDetailModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => stepper.next(), 50);\n break;\n }\n default: {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction()\n .subscribe(() => this.sendServiceOperationApprovalRequest(request, stepper));\n break;\n }\n }\n }\n\n private initRequestApprovalModal(request: StagedServiceRequest) {\n this.requestDetailModalData.data = request;\n this.requestDetailModal = this._dialog.open(this._requestDetailModalTemplate,\n { hasBackdrop: false, panelClass: 'beneficiary-details-card' });\n }\n\n oncloseRequestApprovalModal() {\n this.requestDetailModal.close();\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.oneTimePassCode = '';\n this._otpReferenceId = '';\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n }\n\n getRequestDetailObj(text: string): object {\n text = text.replace('\\\\', '');\n const textData = text.substr(0, text.length).replace(/'/g, '\"');\n return JSON.parse(textData);\n }\n\n\n private dismissOpenModalWindows() {\n if (this.requestDetailModal) {\n this.requestDetailModal.close();\n }\n if (this.approvalHistoryModal) {\n this.approvalHistoryModal.close();\n }\n\n if (this.rejectionDialog) {\n this.rejectionDialog.close();\n }\n }\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n/*------ Removing modal backgrounds --------------- */\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1 !important;\\n}\\n.beneficiary-details-card .mat-dialog-container{\\n border-left: 1px solid orangered !important;\\n}\\n.mat-input-element:disabled {\\n color: darkblue !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYXBwcm92YWxzL3dlc3Rlcm4tdW5pb24tYXBwcm92YWxzL3dlc3Rlcm4tdW5pb24tYXBwcm92YWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx3QkFBd0I7SUFDeEIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBQ0Q7SUFDSSxrQ0FBa0M7SUFDbEMsa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7OztJQUtJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBRUQ7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0NBQ2hDO0FBQ0Q7SUFDSSxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7OztJQUdJLDZCQUE2QjtJQUM3QixnQ0FBZ0M7Q0FDbkM7QUFDRDtJQUNJLHlDQUF5QztDQUM1QztBQUVELHNEQUFzRDtBQUN0RDtJQUNJLHNCQUFzQjtDQUN6QjtBQUNEO0lBQ0ksNENBQTRDO0NBQy9DO0FBRUQ7SUFDSSwyQkFBMkI7Q0FDOUIiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9hcHByb3ZhbHMvd2VzdGVybi11bmlvbi1hcHByb3ZhbHMvd2VzdGVybi11bmlvbi1hcHByb3ZhbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LCAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuODcpO1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRyID4gdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLCAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOWY5ZjkgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0gUmVtb3ZpbmcgbW9kYWwgYmFja2dyb3VuZHMgLS0tLS0tLS0tLS0tLS0tICovXG4uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmJlbmVmaWNpYXJ5LWRldGFpbHMtY2FyZCAubWF0LWRpYWxvZy1jb250YWluZXJ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBvcmFuZ2VyZWQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkIHtcbiAgICBjb2xvcjogZGFya2JsdWUgIWltcG9ydGFudDtcbn0iXX0= */\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n    \\n {{pageTitle || 'Pending Western Union Redemption Requests'}}\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdAmountCurrencyCredit AccountRequested ByStatusTransaction Date
\\n {{request.Details.Id}}\\n \\n {{request.Details.amount | currency: 'N'}}\\n \\n {{request.Details.redemptionCurrency}}\\n \\n {{request.Details.creditAcct}}\\n \\n {{(request.Initiator || '').substr(0, 15)+ ' ..'}}\\n \\n \\n {{request.Details.Status | titlecase}}\\n \\n \\n {{ request.Details.CreatedDate | date}}\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n loading pending western union redemption requests .. please wait\\n
\\n There are no pending redemption request awaiting your approval\\n You have no pending redemption requests\\n
\\n \\n \\n
\\n
\\n
\\n \\n {{ownloaderMsg}}\\n \\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   {{_approvalModalData.title || 'Approve\\n Payment Request'}}\\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n
\\n Please Confirm that you want to approve this redemption request\\n
\\n Please note that you can not undo this action\\n
\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

Please enter the One Time Pin sent to you to approve request

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n {{ownLoaderMsg}}\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n Confirm Hardware Token\\n
\\n \\n Please provide the hardware token number below\\n \\n
\\n \\n Token \\n \\n \\n
\\n
Verify\\n
\\n
  \\n \\n\\n
\\n\\n
\\n   \\n loading... please wait\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level : {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}} {{stage.NumOfRequiredApprovers > 1 ? 'approvers':'approver'}} required\\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved.\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   Payment Request Details\\n

\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
Transaction Type
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Reference Id
\\n
{{_approvalModalData.data.referenceId}}
\\n
\\n
\\n
Source Account
\\n
{{_approvalModalData.data.sourceAccount}}
\\n
\\n
\\n
Frequency Type
\\n
{{_approvalModalData.data.frequencyType}}
\\n
\\n
\\n
Transaction Date
\\n
{{_approvalModalData.data.transactionDate | date}}
\\n
\\n
\\n
Network
\\n
{{_approvalModalData.data.network}}
\\n
\\n
\\n
Beneficiary Type
\\n
{{_approvalModalData.data.beneficiaryType}}
\\n
\\n
\\n
Beneficiary Description
\\n
{{_approvalModalData.data.beneficiaryDescription}}
\\n
\\n
\\n
Transaction Currency
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Amount
\\n
{{(_approvalModalData.data.amount || 0) | currency}}
\\n
\\n
\\n
My Reference
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Recipient Account Ref.
\\n
\\n
\\n
\\n
Authorizer
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Transaction Status
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
Marked for stop
\\n
{{_approvalModalData.data.transactionType}}
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   Request Approval History\\n

\\n \\n
\\n\\n
\\n
0\\\">\\n \\n \\n

{{approval.user}} {{approval.action}} request

\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n   \\n {{'Approve Western Union Redemption Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n Please Confirm that you want approve this redemption request\\n
\\n Please note that you can not undo this action\\n
\\n
\\n \\n Verify Passcode\\n
\\n Confirm OTP\\n

{{this.requestDetailModalData['otpIntstruction'] || 'Please enter the One Time PIN sent to you to continue '}}

\\n \\n One Time PIN\\n \\n \\n
\\n
\\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n Select Next Approval Stage\\n
\\n
\\n

There are conflicting Next Approval Stages. Please select One to proceed

\\n
\\n \\n \\n \\n \\n Approval Level :   {{stage.ApprovalLevel}}\\n \\n \\n {{stage.NumOfRequiredApprovers}}   {{stage.NumOfRequiredApprovers > 1 ? ' approvers':' approver'}} required\\n \\n \\n
\\n
0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Approver LevelApprovers RequiredAvailable Approvers
\\n \\n \\n {{stage.ApprovalLevel}}{{stage.NumOfRequiredApprovers}}{{stage.ApprovalUserIds}}
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n check_circle\\n
Request Approved
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
{{ownloaderMsg}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { CustomerAccount } from 'src/app/core/models/account';\nimport {\n ApprovalStage, StagedWesternUnionRedemptionRequestObject,\n GenericApprovalPayload\n} from 'src/app/core/models/payloads/transactions';\nimport { Role, ResponseCodes, OtpReasonCodes, OTPType } from 'src/app/core/models/Enumerations';\nimport { Approval } from 'src/app/core/models/approvals/payment.approval';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { MatSnackBar, PageEvent, MatDialog, MatDialogRef, MatStepper } from '@angular/material';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { TransferApprovalService } from 'src/app/core/services/workflow/transfer.approval.service';\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { RejectRequestComponent } from 'src/app/shared/dialogs/reject-request/reject-request.component';\nimport { BaseApprovalComponent } from '../base.approval.component';\nimport { RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\nimport { UtilService } from 'src/app/core/services/helpers.service';\nimport { VariablesService } from 'src/app/core/services/variables.service';\n\n@Component({\n selector: 'app-western-union-approvals',\n templateUrl: './western-union-approvals.component.html',\n styleUrls: ['./western-union-approvals.component.css']\n})\nexport class WesternUnionApprovalsComponent extends BaseApprovalComponent implements OnInit, OnChanges {\n\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n @Input() _activeTab: string;\n _activeRequestCount = 0;\n\n accountList: CustomerAccount[];\n requestList: StagedWesternUnionRedemptionRequestObject[] = [];\n requestListBackup: StagedWesternUnionRedemptionRequestObject[] = [];\n pageSize = 5;\n _selectedRequestCount = 0;\n requestDetailModalData = {\n currentRequestAction: '',\n currentApprovalAction: '',\n data: null,\n requestMeta: {} as any\n };\n oneTimePassCode: string;\n _otpReferenceId: string;\n filterIsActive: boolean;\n userRoleEnum = Role;\n allCheckboxesSelected: boolean;\n\n _requestApprovalHistory: Array = [];\n _availableApprovalStages: Array = [];\n _selectedApprovalStage: ApprovalStage;\n\n _paymentApprovalCompleted: boolean;\n @ViewChild('westerUnionApprovalModal') _requestApprovalModalTemplate: TemplateRef;\n public requestDetailModal: MatDialogRef;\n hwtFormGroup:FormGroup;\n isOTPStepperVisible: any;\n isCustomerHWTEnabled: any;\n accountNoSet: Set;\n\n constructor(private _transferStagingService: TransferStagingService, private _snackbar: MatSnackBar,\n private _dialog: MatDialog, private _miscService: MiscService, authService: AuthService,\n private _approvalService: TransferApprovalService, private formBuilder:FormBuilder) {\n super(authService);\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n this.pageTitle = this._loggedInUser && this._authService.loggedInUserHasSMEProfile() && this._loggedInUserIsApprover ?\n 'Authorize Western Union Redemption Requests' : '';\n\n UtilService.onPageLoadCallback();\n \n this.hwtFormGroup = formBuilder.group({\n hwt: ['', Validators.required]\n });\n }\n\n ngOnInit() {\n this.isCustomerHWTEnabled = VariablesService.CustomerHWTEnabled;\n\n this.accountNoSet = new Set();\n VariablesService.CustomerAccounts.forEach(element => {\n this.accountNoSet.add(element.accountNumber);\n })\n // this.isCustomerHWTEnabled = true;\n if (this.isCustomerHWTEnabled) {\n this.isOTPStepperVisible = false;\n } else {\n this.isOTPStepperVisible = true;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'wester_union_redemption') {\n this.loadWesternUnionPaymentRequests();\n }\n }\n }\n\n returnToOTPStepper(){\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating redemption request .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE WESTERN UNION REDEMPTION').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n const errorMsg = !response || !response.ResponseFriendlyMessage ?\n `Oops .. One time passcode request was not sucessful. Please retry` : `We encountered a technical error while \n sending one time passcode. Server responded with -> ${response.ResponseFriendlyMessage}. Please try again`;\n \n return;\n }\n var hardwareTokenStepper = document.getElementById('hardwareTokenStepper');\n hardwareTokenStepper.style.display = 'none';\n this.isOTPStepperVisible = true;\n this.requestDetailModalData['otpIntstruction'] = `Please enter the One time PIN sent to ${response.NotificationAddress}\n to approve request`;\n this._snackbar.open(`${this.requestDetailModalData['otpIntstruction']}`, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n loadWesternUnionPaymentRequests(loaderMsg = 'fetching pending western union redemption requests. please wait',\n lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._transferStagingService.getPendingWesternUnionRedemptionRequest({ PageSize: pageSize, LastFetchId: lastFetchId }).then(\n (response) => {\n this.ownLoaderIsActive = this._activeRequestCount > 0;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n response.PaginatedItems.forEach(request => {\n request['checked'] = false;\n });\n this.requestListBackup = response.PaginatedItems;\n this.requestListBackup = this.requestListBackup.filter(item => this.accountNoSet.has(item.Details.creditAcct));\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }che\n\n onApprovalRequestAction(action: string, data: StagedWesternUnionRedemptionRequestObject) {\n this.requestDetailModalData.requestMeta['BatchId'] = data.BatchId;\n this.requestDetailModalData.requestMeta['Initiator'] = data.Initiator;\n this.requestDetailModalData.requestMeta['ApprovalStageId'] = data.ApprovalStageId;\n this.requestDetailModalData.requestMeta['ApproverId'] = data.ApproverId;\n this.requestDetailModalData.data = data.Details;\n switch (action) {\n case 'approve': {\n this.initRequestApprovalModal(data);\n break;\n }\n case 'reject': {\n const rejectionDialog = this._dialog.open(RejectRequestComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n disableClose: true,\n data: {\n title: 'Reject Western Union Redemption Request',\n payload: {\n OperationType: 'WESTERN_UNION',\n OperationId: data.BatchId\n }\n }\n });\n rejectionDialog.afterClosed()\n .subscribe((result) => {\n if (result) {\n this.loadWesternUnionPaymentRequests('refreshing .. please wait');\n }\n });\n break;\n }\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = {\n OperationType: data.Details['operationType'],\n OperationId: Number(data.Details.Id),\n UserId: '',\n PageSize: 100,\n LastIdFetched: 0\n };\n const approvalHistoryModal = this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n data: {\n operationName: 'western-union',\n requestPayload: requestPayload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n approvalHistoryModal.afterClosed().subscribe(\n (result) => {\n //\n }\n );\n break;\n }\n }\n }\n\n onRequestModalAction(action: string, stepper: MatStepper, form?: NgForm) {\n console.log(action);\n switch (action) {\n case 'approve': {\n this.initiateRequestApprovalOTP(stepper);\n break;\n }\n case 'reject': {\n if (form && !form.valid) {\n this._snackbar.open('Please provode a reason for rejecting request .. ', 'Ok',\n { duration: 10000 });\n return;\n }\n break;\n }\n }\n }\n\n onVerifyApprovalConfirmationOtp(form: NgForm, stepper: MatStepper,useHardwareToken) {\n \n if (useHardwareToken) {\n if (!this.hwtFormGroup.valid || !this.hwtFormGroup.controls.hwt) {\n this._snackbar.open(`Please provide a valid token number`, 'Ok', { duration: 25000 });\n return;\n }\n }\n \n if (!form.valid) {\n this._snackbar.open(`Invalid One Time PIN provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n this.sendWesternUnionRedemptionApprovalRequest(this.requestDetailModalData.data as StagedWesternUnionRedemptionRequestObject, stepper);\n }\n\n oncloseRequestApprovalModal() {\n this.requestDetailModal.close();\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.oneTimePassCode = '';\n this._otpReferenceId = '';\n this.requestDetailModalData.currentApprovalAction = '';\n this.requestDetailModalData.currentRequestAction = '';\n }\n\n onApprovaStageSelected(evtData, stage: ApprovalStage, stageIndex: number) {\n this._availableApprovalStages.forEach(stage_ => stage_['checked'] = false);\n this._availableApprovalStages[stageIndex]['checked'] = evtData.checked;\n this._selectedApprovalStage = evtData.checked ? stage : null;\n }\n\n onAprovalFlowSelected(stepper: MatStepper) {\n if (!this._selectedApprovalStage) {\n this._snackbar.open(`Please select an approval stage.`, 'Ok');\n return;\n }\n const requestPayload = this.buildWesternUnionRedemptionApprovalStageRequestPayload();\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'submitting selected next approval level';\n this._approvalService.approveWesterUnionRedemptionRequestWithNextStageSelection(requestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS && response.ResponseCode !== '70') {\n this._snackbar.open(`Request failed with error -> ${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n if (response.ResponseCode === ResponseCodes.SUCCESS) {\n this.requestDetailModalData.currentApprovalAction = 'approvalComplete';\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n stepper.next();\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this.loadWesternUnionPaymentRequests('refreshing pending bill payment requests .. please wait');\n return;\n }\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (error && error.status != Constants.UnauthorizedStatusCode) {\n this._snackbar.open(Constants.APITechnicalErrorMessage,\n 'Ok', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n }\n );\n\n }\n\n private initRequestApprovalModal(data: StagedWesternUnionRedemptionRequestObject) {\n this.requestDetailModalData.data = data;\n this.requestDetailModal = this._dialog.open(this._requestApprovalModalTemplate,\n { hasBackdrop: false, panelClass: 'beneficiary-details-card' });\n }\n\n private initiateRequestApprovalOTP(stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'initiating redemption request .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC, 'APPROVE WESTERN UNION REDEMPTION').then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownLoaderIsActive = false;\n this.requestDetailModalData['otpIntstruction'] = `Please enter the One time PIN sent to ${response.NotificationAddress}\n to approve request`;\n this._snackbar.open(`${this.requestDetailModalData['otpIntstruction']}`, 'Ok', { duration: 25000 });\n this.requestDetailModalData.currentApprovalAction = 'verify-otp';\n this._otpReferenceId = response.ResponseDescription;\n setTimeout(() => stepper.next(), 25);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private sendWesternUnionRedemptionApprovalRequest(request: StagedWesternUnionRedemptionRequestObject, stepper: MatStepper) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = `Approving request .. please wait`;\n const approvalRequestPayload = this.buildWesternUnionRedemptionApprovalRequestPayload();\n \n if(!this.isOTPStepperVisible){ \n approvalRequestPayload[\"otp\"]= this.hwtFormGroup.controls.hwt.value;\n approvalRequestPayload[\"OTPType\"] = OTPType.HWT;\n }\n else{\n approvalRequestPayload[\"OTPType\"] = !this.isOTPStepperVisible ? OTPType.HWT : this.isOTPStepperVisible ? OTPType.OTP : OTPType.NONE;\n approvalRequestPayload[\"otp\"]= !this.isOTPStepperVisible ? this.hwtFormGroup.controls.hwt.value : this.oneTimePassCode;\n }\n \n this._approvalService.approveWesterUnionRedemptionRequest(approvalRequestPayload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this.handleNonSuccessApprovalResponse(request, response, stepper);\n return;\n }\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.loadWesternUnionPaymentRequests('refreshing bill pending bill payments');\n this.requestDetailModalData.currentRequestAction = 'requestComplete';\n setTimeout(() => stepper.next(), 15);\n },\n (error: any) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while approving request .. Please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n private handleNonSuccessApprovalResponse(request: StagedWesternUnionRedemptionRequestObject, response: any, stepper: MatStepper) {\n switch (response.ResponseCode) {\n case '70': {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 50000 });\n this.requestDetailModalData.currentApprovalAction = 'select-next-approval-stage';\n this._availableApprovalStages = response.Stages;\n setTimeout(() => stepper.next(), 50);\n break;\n }\n default: {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Retry', { duration: 25000 }).onAction().subscribe(\n () => this.sendWesternUnionRedemptionApprovalRequest(request, stepper)\n );\n break;\n }\n }\n }\n\n private buildWesternUnionRedemptionApprovalRequestPayload():\n GenericApprovalPayload {\n return {\n BatchId: Number(this.requestDetailModalData.requestMeta.BatchId),\n UserId: AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '',\n ApproverId: Number(this.requestDetailModalData.requestMeta.ApproverId),\n ApproverStageId: Number(this.requestDetailModalData.requestMeta.ApprovalStageId),\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId\n };\n }\n\n private buildWesternUnionRedemptionApprovalStageRequestPayload() {\n return {\n BatchId: this.requestDetailModalData.requestMeta.BatchId,\n CurrentApprovalStageId: this.requestDetailModalData.requestMeta.ApprovalStageId,\n UserId: AuthService.FullyAuthenticatedUser && AuthService.FullyAuthenticatedUser.UserId ?\n AuthService.FullyAuthenticatedUser.UserId : '',\n NextStages: [this._selectedApprovalStage]\n };\n }\n}\n","module.exports = \".log-out-link:hover {\\n cursor: pointer;\\n}\\n\\n\\n\\n@media screen and (max-width: 1024px) {\\n\\n .mdl-layout__drawer {\\n transform: translateX(0);\\n width: 100px;\\n height: 882px;\\n overflow-x: hidden;\\n border-radius: 10px;\\n background-color: #fff;\\n transition: width .3s;\\n }\\n\\n .mdl-layout__drawer:hover {\\n width: 250px;\\n color: #0033A1;\\n }\\n\\n a.mdl-navigation__link {\\n padding: 16px 40px !important;\\n }\\n\\n .tool-bar-button {\\n display: none;\\n }\\n\\n}\\n\\n\\n\\n.active-menu-link {\\n color: #0033A1 !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvY29udGFpbmVycy9kZWZhdWx0LWxheW91dC9kZWZhdWx0LWxheW91dC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0NBQ2pCOzs7O0FBSUQ7O0VBRUU7SUFDRSx5QkFBeUI7SUFDekIsYUFBYTtJQUNiLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixzQkFBc0I7R0FDdkI7O0VBRUQ7SUFDRSxhQUFhO0lBQ2IsZUFBZTtHQUNoQjs7RUFFRDtJQUNFLDhCQUE4QjtHQUMvQjs7RUFFRDtJQUNFLGNBQWM7R0FDZjs7Q0FFRjs7OztBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvY29udGFpbmVycy9kZWZhdWx0LWxheW91dC9kZWZhdWx0LWxheW91dC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvZy1vdXQtbGluazpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG4gIC5tZGwtbGF5b3V0X19kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA4ODJweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcbiAgfVxuXG4gIC5tZGwtbGF5b3V0X19kcmF3ZXI6aG92ZXIge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBjb2xvcjogIzAwMzNBMTtcbiAgfVxuXG4gIGEubWRsLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIHBhZGRpbmc6IDE2cHggNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRvb2wtYmFyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG4uYWN0aXZlLW1lbnUtbGluayB7XG4gIGNvbG9yOiAjMDAzM0ExICFpbXBvcnRhbnQ7XG59XG4iXX0= */\"","module.exports = \"\\n\\n\\n
\\n\\n
\\n \\n
  

\\n Loading\\n page, please wait...

\\n
\\n
\\n\\n
\\n \\n
  

\\n Clearing your session, please wait...

\\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n\\n \\n\\n\\n\\n\\n\\n
\\n\\n \\n
\\n
\\n
\\n\\n\\n\"","import {\n Component,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n NgZone,\n} from \"@angular/core\";\nimport { Constants } from \"src/app/core/helpers/appConstants\";\nimport { Router } from \"@angular/router\";\nimport { BankAccount } from \"src/app/core/models/bankAccount\";\nimport { TransactionModel } from \"src/app/core/models/transactions/transaction\";\nimport {\n AccountBeneficiary,\n AirtimeBeneficiary,\n} from \"src/app/core/models/beneficiary\";\nimport { MatSnackBar, MatDialog } from \"@angular/material\";\nimport { Keepalive } from \"@ng-idle/keepalive\";\nimport { Idle } from \"@ng-idle/core\";\nimport { AppUser } from \"src/app/core/models/auth\";\nimport { Role } from \"src/app/core/models/Enumerations\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { VariablesService } from \"src/app/core/services/variables.service\";\nimport { EventHandlerService } from \"src/app/core/services/EventHandlerService\";\nimport { Subscription } from \"rxjs\";\nimport { SignalRService } from \"../../../core/services/signalr.service\";\nimport { CreditCardRequestService } from 'src/app/core/services/credit-card-request.service';\n\n\nfunction _window(): any {\n return window;\n}\n\n@Component({\n selector: \"app-default-layout\",\n templateUrl: \"./default-layout.component.html\",\n styleUrls: [\"./default-layout.component.css\"],\n})\nexport class DefaultLayoutComponent implements OnInit, OnDestroy {\n idleState = \"Not started.\";\n timedOut = false;\n lastPing?: Date = null;\n inactiveSessionAlertSent: boolean;\n title = \"smeBankingApp\";\n // @ViewChild('timeoutMsgTemplate') sessionTimeOutModalTemplate: TemplateRef;\n // sessionTimeOutModalDialog: MatDialogRef;\n\n public loggedInUser: AppUser;\n public loggedInUserIsRetailUser: boolean;\n public AppRoleEnum = Role;\n\n userHasFullAccess: boolean;\n\n userHasCreditCardLimit: boolean;\n HasRequestedCreditCard: boolean\n\n appViewChangedSub: any;\n showAppViewChangeLoader: boolean = false;\n activeMenuLink: string;\n logoutSignalrSessionSub: Subscription;\n\n // opened = true;\n // over = 'side';\n // expandHeight = '42px';\n // collapseHeight = '42px';\n // displayMode = 'flat';\n\n // watcher: Subscription;\n\n // 85% 35 25 25 15\n showSidebar: boolean;\n\n instantCashAdvanceMenuLinkVisibilitySub: Subscription;\n logoutSub: Subscription;\n\n constructor(\n private _router: Router,\n private _snackbar: MatSnackBar,\n private _sessionManager: Idle,\n private _keepAlive: Keepalive,\n private _dialog: MatDialog,\n private _authService: AuthService,\n private cdRef: ChangeDetectorRef,\n private _signalRService: SignalRService,\n private ngZone: NgZone,\n private creditCardRequestService: CreditCardRequestService,\n\n ) {\n // try {\n // window['casa']('other'); \n // } catch (error) {}\n // , media: ObservableMedia) {\n this.loggedInUser =\n AuthService.FullyAuthenticatedUser || _authService.getLoggedInUser();\n this.loggedInUserIsRetailUser =\n this.loggedInUser && AuthService.isRetailUser();\n this.userHasFullAccess = true;\n\n if (\n AuthService.FullyAuthenticatedUser &&\n AuthService.FullyAuthenticatedUser.LimitedAccess\n ) {\n this.userHasFullAccess = false;\n }\n\n // this.showAppViewChangeLoader = true;\n\n // this.watcher = media.subscribe((change: MediaChange) => {\n // if (change.mqAlias === 'sm' || change.mqAlias === 'xs') {\n // this.opened = false;\n // this.over = 'over';\n // } else {\n // this.opened = true;\n // this.over = 'side';\n // }\n // });\n }\n\n ngOnInit() {\n // const user = localStorage.getItem(Constants.Auth_Data);\n // if (!user) {\n\n // }\n this.activeMenuLink = \"accounts\";\n let self = this;\n this._signalRService.startConnection();\n this._signalRService.AddSessionOnConnectionMadeListener(\n AuthService.FullyAuthenticatedUser.UserId\n );\n this._signalRService.ReAddSessionConnectionIdListener(\n AuthService.FullyAuthenticatedUser.UserId\n );\n this._signalRService.LogoutSessionMethodListener();\n\n this._signalRService.AllUserSessionsTerminatedExceptSelfListener();\n\n this.fetchVirtualCardByCIFID(AuthService.FullyAuthenticatedUser.CifId)\n\n }\n\n\n fetchVirtualCardByCIFID(cif: any) {\n this.creditCardRequestService.GetCardEligibilityByCif(cif).subscribe(\n (response) => {\n if (response.ResponseCode === \"000\" ) {\n this.userHasCreditCardLimit = true\n this.HasRequestedCreditCard = response.Data['0'].HasRequestedCreditCard\n\n }\n },\n (error) => {\n }\n );\n\n }\n\n showInstantCashAdvanceLink: boolean = false;\n showLogoutLoader: boolean;\n\n ngAfterViewInit() {\n let self = this;\n this.appViewChangedSub = EventHandlerService.OnAppViewChangedEventPublisher.subscribe(\n (object) => {\n self.showAppViewChangeLoader = object.hideAppViewChangeLoader\n ? !(object.hideAppViewChangeLoader as boolean)\n : false;\n self.cdRef.detectChanges();\n }\n );\n\n this.instantCashAdvanceMenuLinkVisibilitySub = EventHandlerService.InstantCashAdvanceLinkControlEventPublisher.subscribe(\n (object) => {\n self.showInstantCashAdvanceLink = object.showLink\n ? (object.showLink as boolean)\n : false;\n self.cdRef.detectChanges();\n }\n );\n\n this._signalRService.hubConnection.on(\"LogoutSession\", () => {\n this._signalRService\n .stopConnection()\n .then(() => {\n self.logoutSignalRSession();\n })\n .catch((err) =>\n console.log(\"Error stopping Connection on logout click: \" + err)\n );\n // this.logoutSignalRSession();\n });\n }\n\n logoutSignalRSession() {\n localStorage.clear();\n sessionStorage.clear();\n AuthService.clearSessionTokenOnLogout = true;\n this._authService.logout();\n VariablesService.SessionInvalid = true;\n this._router.navigate([RouterConstants.LoginURL]);\n }\n\n toggleSidebar(): void {\n this.showSidebar = !this.showSidebar;\n // console.log(this.showSidebar);\n if (this.showSidebar) {\n this.showSideNav();\n } else {\n this.hideSideNav();\n }\n }\n onPageBodyClicked(e) {\n if (this.showSidebar) {\n this.showSidebar = false;\n this.hideSideNav();\n }\n }\n onInvokeFullScreen() {\n const elem = document.documentElement;\n const methodToBeInvoked =\n elem[\"requestFullscreen\"] ||\n elem[\"webkitRequestFullScreen\"] ||\n elem[\"mozRequestFullscreen\"] ||\n elem[\"msRequestFullscreen\"];\n if (methodToBeInvoked) {\n methodToBeInvoked.call(elem);\n }\n }\n\n onLogoutUser(): void {\n let self = this;\n this._router.navigate([RouterConstants.SurveyURL]);\n this.showLogoutLoader = true;\n this.showAppViewChangeLoader = false;\n VariablesService.tokenApiHasBeenCalled = false;\n VariablesService.tokenApiCurrentCif = ''\n if (this.logoutSub) {\n this.logoutSub.unsubscribe();\n }\n\n // this.showLogoutLoader = true;\n // this.showAppViewChangeLoader = false;\n // if (this.logoutSub) {\n // this.logoutSub.unsubscribe();\n // }\n\n (this.logoutSub = this._authService\n .LogoutRequest(AuthService.FullyAuthenticatedUser.UserId)\n .subscribe((response) => {\n // localStorage.clear();\n // sessionStorage.clear();\n // AuthService.clearSessionTokenOnLogout = true;\n // this._authService.logout();\n this.showLogoutLoader = false;\n\n // this._router.navigate([RouterConstants.LoginURL]);\n\n localStorage.clear()\n return;\n })),\n (error: any) => {\n // localStorage.clear();\n // sessionStorage.clear();\n // AuthService.clearSessionTokenOnLogout = true;\n // this._authService.logout();\n this.showLogoutLoader = false;\n // this._router.navigate([RouterConstants.LoginURL]);\n\n this._router.navigate([RouterConstants.SurveyURL]);\n };\n\n this._signalRService\n .stopConnection()\n .then(() => {})\n .catch((err) =>\n console.log(\"Error stopping connection on logout click: \" + err)\n );\n try {\n localStorage.removeItem(\"tokenApiHasBeenCalled\")\n }catch(er){}\n\n\n }\n\n onLogoutUser2(): void {\n this._router.navigate([RouterConstants.SurveyURL]);\n }\n navigateToView(event, url: string) {\n if (event) {\n event.stopPropagation();\n }\n\n if (this.activeMenuLink != url) {\n this.showAppViewChangeLoader = true;\n if (url) {\n this.activeMenuLink = url;\n this.showAppViewChangeLoader = false;\n this._router.navigate([`/${url}`]);\n this.showAppViewChangeLoader = false;//uncomment\n // this.showAppViewChangeLoader = false; //\n }\n this.hideSideNav();\n }\n\n return false;\n }\n\n navigateToUrl(url: string) {\n if (url) {\n this._router.navigate([`/${url}`]);\n }\n }\n\n setupMockStartData() {\n const mockAccounts = localStorage.getItem(Constants.Store_Accounts);\n if (!mockAccounts) {\n localStorage.setItem(\n Constants.Store_Accounts,\n JSON.stringify(this.mockAccountsData())\n );\n }\n const mockTransactions = localStorage.getItem(Constants.Store_trans);\n if (!mockTransactions) {\n localStorage.setItem(\n Constants.Store_trans,\n JSON.stringify(this.mockTransferData())\n );\n }\n const mockAccountsBeneficiaries = localStorage.getItem(\n Constants.Store_AccountBeneficiaries\n );\n if (!mockAccountsBeneficiaries) {\n localStorage.setItem(\n Constants.Store_AccountBeneficiaries,\n JSON.stringify(this.mockAccountBeneficiary())\n );\n }\n const mockAirtimeBeneficiaries = localStorage.getItem(\n Constants.Store_AirtimeBeneficiaries\n );\n if (!mockAirtimeBeneficiaries) {\n localStorage.setItem(\n Constants.Store_AirtimeBeneficiaries,\n JSON.stringify(this.mockAirtimeBeneficiary())\n );\n }\n }\n mockAccountsData(): BankAccount[] {\n return [\n {\n id: \"11111\",\n accountName: \"Adedamola Folarin\",\n accountType: \"Savings\",\n accountNumber: \"0002455029\",\n availableBalance: 2326000,\n ledgerBalance: 2076000,\n cardType: \"Visa\",\n transient: 250000,\n isDefault: true,\n },\n {\n id: \"22222\",\n accountName: \"Adedamola Folarin\",\n accountType: \"Current\",\n accountNumber: \"0001365031\",\n availableBalance: 3500000,\n ledgerBalance: 3500000,\n cardType: \"MasterCard\",\n transient: 0,\n isDefault: true,\n },\n {\n id: \"33333\",\n accountName: \"Adedamola Folarin\",\n accountType: \"Deposit\",\n accountNumber: \"000525029\",\n availableBalance: 95000,\n ledgerBalance: 185000,\n cardType: \"Visa\",\n transient: 0,\n isDefault: false,\n },\n {\n id: \"55555\",\n accountName: \"Adedamola Folarin\",\n accountType: \"Salary\",\n accountNumber: \"0002455369\",\n availableBalance: 25000000,\n ledgerBalance: 25000000,\n cardType: \"Visa\",\n transient: 0,\n isDefault: false,\n },\n ];\n }\n mockTransferData(): TransactionModel[] {\n return [\n {\n transactionId: \"1539856261810\",\n narration:\n \"Recharged +2348135170804_ - 3000 on Thu Oct 18 2018 10:51:01 GMT+0100 (West Africa Standard Time)\",\n amount: \"3000\",\n refAccountId: \"11111\",\n transactionType: \"debit\",\n date: new Date(\"2018-10-18T09:51:01.810Z\"),\n },\n {\n transactionId: \"1539856941940\",\n narration:\n \"Sent 530000 to 2014178029 from 11111 on Thu Oct 18 2018 11:02:21 GMT+0100 (West Africa Standard Time)\",\n amount: \"530000\",\n refAccountId: \"11111\",\n transactionType: \"debit\",\n date: new Date(\"2018-10-18T10:02:21.940Z\"),\n },\n {\n transactionId: \"1539857766596\",\n narration:\n \"Sent 500000 to 1000000000 from 11111 on Thu Oct 18 2018 11:16:06 GMT+0100 (West Africa Standard Time)\",\n amount: \"500000\",\n refAccountId: \"11111\",\n transactionType: \"debit\",\n date: new Date(\"2018-10-18T10:16:06.596Z\"),\n },\n {\n transactionId: \"1539857777985\",\n narration:\n \"Sent 500000 to 1000000000 from 11111 on Thu Oct 18 2018 11:16:17 GMT+0100 (West Africa Standard Time)\",\n amount: \"500000\",\n refAccountId: \"11111\",\n transactionType: \"debit\",\n date: new Date(\"2018-10-18T10:16:17.985Z\"),\n },\n {\n transactionId: \"1539858481388\",\n narration:\n \"Recharged +2348135170804_ - 5000 on Thu Oct 18 2018 11:28:01 GMT+0100 (West Africa Standard Time)\",\n amount: \"5000\",\n refAccountId: \"11111\",\n transactionType: \"debit\",\n date: new Date(\"2018-10-18T10:28:01.388Z\"),\n },\n ];\n }\n\n mockAccountBeneficiary(): AccountBeneficiary[] {\n return [\n {\n beneficiaryName: \"Bassey Simon\",\n accountNumber: \"2014178029\",\n accountTitle: \"Bassey Simon\",\n bankName: \"First Bank\",\n },\n {\n beneficiaryName: \"Jude Frank\",\n accountNumber: \"1000000000\",\n accountTitle: \"Jude Frank\",\n bankName: \"Access Bank\",\n },\n ];\n }\n mockAirtimeBeneficiary(): AirtimeBeneficiary[] {\n return [\n {\n beneficiaryName: \"David Bassey\",\n mobileNetwork: \"9Mobile\",\n mobileNumber: \"+2348135170804\",\n },\n {\n beneficiaryName: \"Vivian Bassey\",\n mobileNetwork: \"MTN NG\",\n mobileNumber: \"+2348103570477\",\n },\n {\n beneficiaryName: \"Airtel Data SIM\",\n mobileNetwork: \"Airtel NG\",\n mobileNumber: \"+2349077432735\",\n },\n ];\n }\n\n reset() {\n this._sessionManager.watch();\n this.idleState = \"Started.\";\n this.timedOut = false;\n }\n\n ngOnDestroy() {\n if (VariablesService.SessionTimeoutInterval) {\n _window().clearInterval(VariablesService.SessionTimeoutInterval);\n }\n\n if (VariablesService.SessionTimedOutSub) {\n VariablesService.SessionTimedOutSub.unsubscribe();\n }\n\n if (VariablesService.SessionTimeoutEventId) {\n _window().clearTimeout(VariablesService.SessionTimeoutEventId);\n }\n\n if (this.appViewChangedSub) {\n this.appViewChangedSub.unsubscribe();\n }\n\n if (this.instantCashAdvanceMenuLinkVisibilitySub) {\n this.instantCashAdvanceMenuLinkVisibilitySub.unsubscribe();\n }\n }\n\n private showSideNav() {\n const sidebar = document.getElementById(\"mdl-layout__drawer\");\n const header = document.getElementById(\"mdl-layout__header-row\");\n if (sidebar) {\n sidebar.classList.remove(\"mdl-layout__drawer_view\");\n }\n if (header) {\n header.classList.add(\"mdl-layout__header-row_with_right_padding\");\n }\n }\n private hideSideNav() {\n const sidebar = document.getElementById(\"mdl-layout__drawer\");\n const header = document.getElementById(\"mdl-layout__header-row\");\n if (sidebar) {\n sidebar.classList.add(\"mdl-layout__drawer_view\");\n }\n if (header) {\n header.classList.remove(\"mdl-layout__header-row_with_right_padding\");\n }\n this.showSidebar = false;\n }\n}\n","module.exports = \".mat-dialog-container {\\n padding: 0 !important;\\n}\\n\\n.mat-dialog-content {\\n display: block;\\n margin: 0 !important; \\n}\\n\\n.mat-form-field { \\n display: block !important;\\n}\\n\\nmat-dialog-actions {\\n justify-content: flex-end !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvZGlhbG9ncy9iZW5lZmljaWFyeS9iZW5lZmljaWFyeS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksc0JBQXNCO0NBQ3pCOztBQUVEO0lBQ0ksZUFBZTtJQUNmLHFCQUFxQjtDQUN4Qjs7QUFDRDtJQUNJLDBCQUEwQjtDQUM3Qjs7QUFFRDtJQUNJLHFDQUFxQztDQUN4QyIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2RpYWxvZ3MvYmVuZWZpY2lhcnkvYmVuZWZpY2lhcnkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWRpYWxvZy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgXG59XG4ubWF0LWZvcm0tZmllbGQgeyBcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5tYXQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbn0iXX0= */\"","module.exports = \"

plus Add Beneficiary

Account Number
{{bank}}
Account Name

plus Add Airtime Beneficiary

Name
Mobile
{{provider}}

plus{{airtimeBeneficiary.name}}

   {{airtimeBeneficiary.phoneNumber}}
{{airtimeBeneficiary.providerId}}
\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MatSnackBar, MAT_DIALOG_DATA } from '@angular/material';\nimport { AirtimeBeneficiary, AccountBeneficiary } from 'src/app/core/models/beneficiary';\n\n@Component({\n selector: 'app-beneficiary',\n templateUrl: './beneficiary.component.html',\n styleUrls: ['./beneficiary.component.css']\n})\nexport class BeneficiaryDialogComponent implements OnInit {\n public transferBeneficiary = {\n accountNumber: '',\n accountName: ''\n };\n public airtimeBeneficiary = {\n name: '',\n phoneNumber: '',\n providerId: ''\n };\n\n\n public loaderIsActive: boolean;\n loaderMsg: string;\n\n networkProviders: string[] = ['MTN NG', 'Glo NG', '9Mobile', 'Airtel NG'];\n selectedNetworkProvider: string ;\n\n bankList: string [] = this.loadMockBankList();\n selectedBank: string;\n\n constructor(private dialogInstance: MatDialogRef,\n private snackBarInstance: MatSnackBar, @Inject(MAT_DIALOG_DATA) public data: BeneficiaryDialogData\n ) {\n this.selectedNetworkProvider = this.networkProviders[0];\n \n }\n\n ngOnInit() {\n if (this.data && this.data.dialogAction === 'view-beneficiary') {\n if (this.data.dialogType === 'airtime') {\n const beneficiary = this.data.extras as AirtimeBeneficiary;\n this.airtimeBeneficiary = {name: beneficiary.beneficiaryName,\n phoneNumber: beneficiary.mobileNumber, providerId: beneficiary.mobileNetwork};\n }\n if (this.data.dialogType === 'transfer') {\n const beneficiary = this.data.extras as AccountBeneficiary;\n this.airtimeBeneficiary = {name: beneficiary.beneficiaryName,\n phoneNumber: beneficiary.accountNumber, providerId: beneficiary.bankName};\n }\n }\n }\n\n close() {\n this.dialogInstance.close();\n }\n\n onSelectedBankChanged(eventData) {\n this.selectedBank = eventData['value'] as string;\n }\n\n onSelectedNetworkProviderChanged(eventData) {\n console.log('selected -> ', eventData);\n this.selectedNetworkProvider = eventData['value'] as string;\n }\n\n onViewBeneficiaryAction(action: string): void {\n switch (action) {\n case 'send-airtime': {\n this.dialogInstance.close(this.data.extras);\n break;\n }\n case 'send-money': {\n this.dialogInstance.close(this.data.extras);\n }\n }\n }\n\n loadMockBankList(): string[] {\n return [\n 'Zenth Bank PLC',\n 'Access Bank',\n 'Stanbic IBTC Bank',\n 'United Bank For Africa',\n 'First Bank',\n 'Diamond Bank',\n 'GT Bank'\n ];\n }\n\n}\n\nexport interface BeneficiaryDialogData {\n dialogType: string;\n dialogAction: string;\n extras: object;\n}\n","module.exports = \"
\\n
\\n
\\n \\n Confirm Cancel Request\\n \\n
\\n \\n This action cannot be undone, are you sure you want to cancel your FX request\\n \\n
\\n\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n      \\n \\n
\\n \\n
\"","import { Component, Inject } from \"@angular/core\";\nimport { MatDialogRef, MatSnackBar, MAT_DIALOG_DATA } from \"@angular/material\";\nimport { FxRequestHistoryService } from \"src/app/core/services/FxRequestHistory.service\";\n\n@Component({\n selector:\"cancel-fx-request\",\n templateUrl: \"./cancel-fx-request.component.html\"\n})\nexport class CancelFxRequestComponent {\n constructor(\n private _service: FxRequestHistoryService,\n private _snackBar: MatSnackBar,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private _dialogRef: MatDialogRef\n ){\n \n }\n\n\n cancel() {\n this._dialogRef.close();\n }\n loading = false;\n\n CanCelFxRequest() {\n this.loading = true;\n this._service.CancelFxRequesr(this.data)\n .then(res=>{\n this.loading = false;\n this._dialogRef.close('1');\n\n })\n .catch(er=> {\n this.loading = false;\n this._snackBar.open(er, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n })\n }\n}\n\n\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-breadcrumb {\\n align-items: center;\\n margin: 0;\\n padding: 5px 0;\\n}\\n.transactions-breadcrumb span {\\n padding: 0px 5px;\\n}\\n.transactions-breadcrumb a {\\n color: #2a56c6 !important;\\n}\\n.transactions-breadcrumb a:hover {\\n text-decoration: underline;\\n}\\n.card-actions-pane .button-row button {\\n margin-right: 5px;\\n}\\n.transactions-search-form {\\n flex: 1 1 auto !important;\\n padding-left: 20px;\\n padding-right: 20px;\\n}\\n.container {\\n padding: 5px !important;\\n}\\n.active-interval {\\n background-color: rgba(0,0,0,0.20) !important;\\n}\\n.simpleButton {\\n border: 2px solid #005CC8;\\n box-sizing: border-box;\\n border-radius: 4px;\\n \\n \\n}\\n.editButton {\\n border: 2px solid #005CC8;\\n color:#FFFFFF;\\n background-color: #005CC8;\\n border-radius: 4px;\\n}\\n.hrl {\\n width: 100%;\\n height: 1px;\\n background-color: black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvZngtdHJhbnNhY3Rpb25zL2Z4LXRyYW5zYWN0aW9uLXJlcXVlc3QtaGlzdG9yeS9meC10cmFuc2FjdGlvbi1yZXF1ZXN0LWhpc3RvcnkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHdCQUF3QjtJQUN4Qiw2QkFBNkI7Q0FDaEM7QUFDRDtJQUNJLGlCQUFpQjtJQUNqQix1QkFBdUI7Q0FDMUI7QUFDRDtJQUNJLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFDRDtJQUNJLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIscUJBQXFCO0NBQ3hCO0FBRUQ7Ozs7O0lBS0ksNkNBQTZDO0NBQ2hEO0FBQ0Q7SUFDSSw2Q0FBNkM7Q0FDaEQ7QUFFRDtJQUNJLDZDQUE2QztDQUNoRDtBQUNEO0lBQ0ksMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7Q0FDaEM7QUFDRDtJQUNJLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFFRDs7O0lBR0ksNkJBQTZCO0lBQzdCLGdDQUFnQztDQUNuQztBQUNEO0lBQ0ksb0JBQW9CO0lBQ3BCLFVBQVU7SUFDVixlQUFlO0NBQ2xCO0FBRUQ7SUFDSSxpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJLDBCQUEwQjtDQUM3QjtBQUNEO0lBQ0ksMkJBQTJCO0NBQzlCO0FBRUQ7SUFDSSxrQkFBa0I7Q0FDckI7QUFFRDtJQUNJLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsb0JBQW9CO0NBQ3ZCO0FBQ0Q7SUFDSSx3QkFBd0I7Q0FDM0I7QUFDRDtJQUNJLDhDQUE4QztDQUNqRDtBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixtQkFBbUI7OztDQUd0QjtBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLGNBQWM7SUFDZCwwQkFBMEI7SUFDMUIsbUJBQW1CO0NBQ3RCO0FBRUQ7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLHdCQUF3QjtDQUMzQiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2Z4LXRyYW5zYWN0aW9ucy9meC10cmFuc2FjdGlvbi1yZXF1ZXN0LWhpc3RvcnkvZngtdHJhbnNhY3Rpb24tcmVxdWVzdC1oaXN0b3J5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjdHJhbnNhY3Rpb25zLXRhYmxlLm1hdC10b29sYmFyLXJvdywgI3RyYW5zYWN0aW9ucy10YWJsZSAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjg3KTtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUgdHIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGgsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKSAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy1wYW5lIC5tYXQtY2FyZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRoZWFkIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLCBcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwgXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAwO1xufVxuXG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIgc3BhbiB7XG4gICAgcGFkZGluZzogMHB4IDVweDtcbn1cbi50cmFuc2FjdGlvbnMtYnJlYWRjcnVtYiBhIHtcbiAgICBjb2xvcjogIzJhNTZjNiAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy1icmVhZGNydW1iIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2FyZC1hY3Rpb25zLXBhbmUgLmJ1dHRvbi1yb3cgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnRyYW5zYWN0aW9ucy1zZWFyY2gtZm9ybSB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cbi5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xufVxuLmFjdGl2ZS1pbnRlcnZhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjIwKSAhaW1wb3J0YW50O1xufVxuXG4uc2ltcGxlQnV0dG9uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA1Q0M4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgXG4gICAgXG59XG5cbi5lZGl0QnV0dG9uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA1Q0M4O1xuICAgIGNvbG9yOiNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNUNDODtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5ocmwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufSJdfQ== */\"","module.exports = \"\\n \\n
\\n
\\n \\n \\n Request History\\n \\n \\n
\\n See all your log request\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
S/NFX AMOUNTFX CURRENCYBANK BRANCHSTATUS\\n ACTION\\n
{{index+1}}\\n {{ h.amount | number:'1.2-2' }}\\n {{ h['Fx_Currency'] || 'USD'}} \\n \\n {{h.branchName}}\\n \\n \\n \\n {{GetStatusInfo(h['status']) }}\\n \\n\\n \\n {{GetStatusInfo(h['status']) }}\\n \\n \\n \\n {{GetStatusInfo(h['status']) }}\\n \\n\\n \\n {{ GetStatusInfo(h['status']) }}\\n \\n\\n \\n {{ GetStatusInfo(h['status']) }}\\n \\n \\n    \\n \\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n \\n \\n
\\n    Go Back\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n check_circle\\n
Success
\\n Your request has been successfully cancelled !\\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n

\\n FX Request Details \\n
\\n View your FX request here\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n Request ID
\\n {{ currentFxObject[\\\"id\\\"]}}\\n
\\n \\n
\\n
\\n
\\n
\\n \\n FX Amount\\n
\\n {{ currentFxObject[\\\"amount\\\"] | number:'1.2-2'}}\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n FX Currency
\\n {{currentFxObject['currency'] || 'USD' }} \\n
\\n \\n
\\n
\\n
\\n
\\n \\n Status\\n
\\n {{GetStatusInfo(currentFxObject[\\\"status\\\"])}}\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n Bank Branch
\\n {{currentFxObject[\\\"branchName\\\"]}}\\n
\\n \\n
\\n
\\n
\\n
\\n\\n \\n Transaction Type\\n
\\n {{currentFxObject[\\\"transactionTypeName\\\"]}}\\n
\\n \\n
\\n
\\n
\\n \\n \\n\\n
\\n
\\n
\\n
\\n Date | Time
\\n {{ currentFxObject[\\\"dateTimeString\\\"] }} \\n
\\n \\n
\\n
\\n
\\n
\\n \\n Purchase Type\\n
\\n {{currentFxObject[\\\"purchaseTypeName\\\"] || 'None'}}\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n   \\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\\n \\n \\n
\\n    Go Back\\n
\\n
\\n
\\n
'\\n \\n
Edit Request
\\n Edit your FX request here\\n\\n
\\n
\\n
\\n
\\n \\n Transaction Type\\n \\n \\n
\\n \\\"Loading....\\\"\\n
\\n
\\n\\n 0\\\">\\n
\\n Select an option\\n
\\n
\\n \\n
\\n {{k.fxType}}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Purchase Type\\n \\n \\n
\\n \\\"Loading....\\\"\\n
\\n
\\n\\n 0\\\">\\n
\\n \\\"Select an option\\\"\\n
\\n
\\n \\n
\\n {{k.fxType}}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Amount\\n \\n \\n \\n
\\n
\\n \\n Branch\\n \\n \\n
\\n Select an option\\n
\\n
\\n \\n
\\n {{k.branchName}}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n\"","import { FlexibleConnectedPositionStrategy } from \"@angular/cdk/overlay\";\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { AbstractControl, FormControl, FormGroup, Validators } from \"@angular/forms\";\nimport { MatDialog, MatPaginator, MatSnackBar, PageEvent } from \"@angular/material\";\nimport { Router } from \"@angular/router\";\nimport { AppMaterialModule } from \"src/app/app.material.module\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { EditRequest, FxBranch, FxRequestHistoryResponse, GetFxTypesResponse } from \"src/app/core/models/GetFxTypesResponse\";\nimport { NIBBSBranch } from \"src/app/core/models/service-request/branch\";\nimport { FXPaymentService } from \"src/app/core/services/fx-payment.service\";\nimport { FxRequestHistoryService } from \"src/app/core/services/FxRequestHistory.service\";\nimport { VariablesService } from \"src/app/core/services/variables.service\";\nimport { CancelFxRequestComponent } from \"../cancel-fx-request/cancel-fx-request.component\";\n\n@Component({\n selector: \"fx-transaction-request-history\",\n templateUrl: \"./fx-transaction-request-history.component.html\",\n styleUrls: [\"./fx-transaction-request-history.component.css\"]\n})\nexport class FxTransactionRequestHistory implements OnInit {\n \n constructor(private _service: FxRequestHistoryService,\n private _snackBar: MatSnackBar,\n private fx: FXPaymentService,\n private router:Router,\n private _dialog: MatDialog)\n {\n \n \n this.editFxForm = new FormGroup({\n amount: new FormControl('', [Validators.required]),\n bankBranch: new FormControl('', [Validators.required]),\n requestId: new FormControl()\n })\n \n \n }\n\n fxTypes: GetFxTypesResponse[]=[]\n fxBranches: any[] = []\n documentsUploaded = [];\n history: any[] = [];\n editFxForm: FormGroup;\n isLoading = false;\n fxRequestHistory: FxRequestHistoryResponse[] = [];\n fxRequestHistoryBackup: FxRequestHistoryResponse[] = [];\n loadingFxTypes = false;\n currentFxObject: FxRequestHistoryResponse;\n customerBvn: any;\n rowDef = [\"SN\", \"Amount\", \"Currency\", \"Branch\", \"STATUS\", \"ACTION\"]\n purchaseTypes: any[] = [];\n tranTypes: any[] = [];\n searchFilter: any = ''\n\n ngOnInit(): void {\n this.historyStage = true;\n this.editStage = false;\n this.viewStage = false;\n this.stage = '1';\n //console.log(VariablesService.CustomerBVN)\n this.LoadFxInformation();\n\n }\n\n @ViewChild(\"paginator\") paginator: MatPaginator;\n\n ngAfterViewInit() {\n // this.dataSource.paginator = this.paginator;\n // this.dataSource.sort = this.sort;\n }\n\n \n LoadPurchaseTYpe() {\n this.fx.getPurchaseType().subscribe(res=>{\n console.log(res)\n this.purchaseTypes = res[\"data\"]\n })\n }\n\n LoadTranType() {\n this.fx.getFxTypes().subscribe(res=>{\n console.log(res)\n this.tranTypes = res[\"data\"]\n })\n }\n\n onRequestedPageChanged(pageEvent: PageEvent) {\n \n const start = pageEvent.pageIndex * pageEvent.pageSize\n const end = start + pageEvent.pageSize\n //console.log(pageEvent.pageIndex)\n const filtered = this.fxRequestHistoryBackup.slice(start, end)\n console.log(filtered)\n this.fxRequestHistory = filtered;\n this.history = filtered\n //console.log(\"history\", this.history)\n }\n\n isTruthy(haystack: FxRequestHistoryResponse, needle: any): boolean {\n return (\n haystack.status && haystack.status.toLowerCase().includes(needle.toLowerCase()) ||\n haystack.amountUSD && haystack.amountUSD == needle || \n haystack.branchName && haystack.branchName.toLowerCase().includes(needle.toLowerCase())\n )\n }\n\n searchTable(event) {\n // console.log(event)\n let searchFilter = event.target.value\n console.log(this.searchFilter)\n if(this.searchFilter == '' || this.searchFilter.length == 0) {\n this.fxRequestHistory = this.fxRequestHistoryBackup\n }\n else {\n var result = this.fxRequestHistoryBackup.filter(x=>x[\"status\"].toLowerCase().includes(searchFilter.toLowerCase()))\n // var result = this.fxRequestHistory.filter(x=>{\n // return (\n // x=>this.isTruthy(x, this.searchFilter)\n // )\n // })\n // this.history = result.slice(0, this.pageSize)\n // this.paginator.pageIndex = 0;\n\n // console.log(result)\n if(result != null && result.length > 0) {\n this.history =this.SortOutBranchName(result)\n }\n else {\n result = this.fxRequestHistoryBackup.filter(x=>x[\"branchName\"].toLowerCase().includes(searchFilter.toLowerCase()))\n //console.log(result)\n if(result != null && result.length > 0) {\n this.history =this.SortOutBranchName(result)\n }\n else {\n result = this.fxRequestHistoryBackup.filter(x=>x[\"amountUSD\"] == searchFilter)\n console.log(result)\n if(result != null && result.length > 0) {\n console.log(result)\n this.history =result\n }\n }\n\n // this.history = this.fxRequestHistory\n }\n }\n\n \n \n }\n\n SortOutBranchName(data: FxRequestHistoryResponse[]) {\n let rep = []\n\n for(let k of data) {\n const _branchInfo = this.fxBranches.filter(x=>x[\"branchCode\"] == k[\"brancH_CODE\"])\n let branchName = \"\"\n if(_branchInfo != null && _branchInfo.length > 0) {\n // console.log(_branchInfo[0])\n branchName = String(_branchInfo[0].branchName)\n }\n\n const fxHistory: FxRequestHistoryResponse = this.Copy(k, {})\n fxHistory[\"branchNameInfo\"] = branchName\n // fxHistory[\"status\"] = \"PENDING\"\n const dt = new Date(k['requesT_DATE'])\n const date = dt.toDateString();\n const time = dt.toTimeString()\n fxHistory[\"dateTimeString\"] = `${date} | ${time}`\n const purChaseType = this.purchaseTypes.filter(x=>x[\"id\"] == k[\"purchasE_TYPE\"])\n if(purChaseType != null) {\n console.log(purChaseType)\n if(purChaseType.length > 0) {\n fxHistory[\"purhcaseType\"] = (purChaseType[0])[\"typeName\"]\n }\n }\n\n const tranTypes = this.tranTypes.filter(x=>x[\"id\"] == k[\"transactioN_TYPE\"]);\n if(tranTypes != null) {\n console.log(tranTypes)\n if(tranTypes.length > 0) {\n fxHistory[\"transactionType\"] = (tranTypes[0])[\"typeName\"]\n }\n }\n rep.push(fxHistory)\n }\n\n return rep;\n }\n\n Copy(source, target) {\n return Object.assign(target, source)\n }\n \n progressColor = 'primary'\n pageSize =10;\n stage = '1';\n prevStage = '0';\n editStage = false;\n viewStage = false;\n historyStage = false;\n \n currobject = {}\n processingEdit = false;\n statusInfo = {\n \"N\":\"New Request\",\n \"I\" : \"initiated in branch\",\n \"P\" : \"Processed\",\n \"E\": \"Error\",\n \"R\":\"Rejected\"\n\n }\n prevAmount: any;\n GoToNext(Id, stage) {\n //const obj = this._historyFiltered.filter(x=>x[\"Id\"] == Id);\n // this.currobject = obj\n this.prevStage = stage\n this.stage = stage\n if(this.stage == '3') {\n \n\n const find = this.FindById(Id)\n\n if(find != undefined) {\n this.currentFxObject = this.SortOutBranchName([find])[0];\n this.prevAmount = this.currentFxObject[\"amount\"]\n this.get('amount').setValue(this.currentFxObject['amount'])\n //this.get('bankBranch').setValue(this.currentFxObject['branchCode'])\n }\n }\n\n if(this.stage == '2') {\n const find = this.FindById(Id)\n\n if(find != undefined) {\n this.currentFxObject = find;\n \n (this.editFxForm.get('bankBranch')).setValue(this.currentFxObject[\"branchCode\"])\n }\n }\n\n\n }\n\n get(formName): AbstractControl {\n return (this.editFxForm.get(formName)) as AbstractControl\n }\n\n \n\n LoadFxInformation() {\n if (!VariablesService.CustomerBVN) {\n this.router.navigate([RouterConstants.FullDashboardURL]);\n return;\n }\n \n \n \n this.customerBvn = VariablesService.CustomerBVN;\n\n\n this.isLoading = true;\n setTimeout(()=>{\n \n this.loadingFxTypes = true;\n this._service.LoadFxTypes()\n .then(res=>{\n this.fxTypes = res[\"data\"];\n //VariablesService\n //VariablesService\n this.loadingFxTypes = false;\n })\n .catch(er=>{\n this.loadingFxTypes = false;\n this._snackBar.open(er, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n })\n \n this._service.LoadFxBranches()\n .then(res=>{\n console.log(res)\n this.fxBranches = res[\"data\"]\n this.fxBranches = this.sortBranches(res[\"data\"]);\n })\n .catch(er=>{\n this._snackBar.open(er, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n })\n \n \n this.LoadPurchaseTYpe();\n this.LoadTranType();\n this._service.LoadFxRequestHistory({\"bvn\":this.customerBvn})\n .then(res=>\n {\n this.fxRequestHistory = this.SortOutBranchName(res[\"data\"])\n this.isLoading = false;\n //this.fxRequestHistoryBackup = res[\"data\"]\n this.fxRequestHistoryBackup = this.fxRequestHistory;\n this.history = this.fxRequestHistory.slice(0, this.pageSize)\n \n //console.log(this.fxRequestHistory)\n //this.fxBranches\n }).catch(er=>{\n this.isLoading = false;\n this._snackBar.open(er, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n })\n }, 2000)\n }\n\n submitRequest() {\n const amt = this.get('amount').value;\n\n\n console.log(\"amt\",amt)\n console.log(\"prev_amount\",this.prevAmount)\n\n\n //if(amt == null || amt == '') {\n // if(this.prevAmount) {\n // this.get('amount').setErrors(null)\n // }\n // }\n\n if(this.editFxForm.valid) {\n const editObject: EditRequest = {\n requestId: this.currentFxObject['id'],\n amount: this.get('amount').value,\n branchCode: this.get('bankBranch').value\n }\n this.processingEdit = true;\n this._service.EditRequest(editObject)\n .then(res=>{\n this.processingEdit = false;\n //console.log(res)\n this.LoadFxInformation();\n this.prevAmount = null;\n this.stage = '1'\n this._snackBar.open(res[\"responseDescription\"], \"OK\", \n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 3500,\n })\n\n \n })\n .catch(er=>{\n this.processingEdit = false;\n const _er = new Error(er)\n this._snackBar.open(_er.message, \"OK\", \n\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 3500,\n })\n })\n }\n else {\n return ''\n }\n }\n\n FindById(Id: Number): FxRequestHistoryResponse {\n const response = this.fxRequestHistory.filter(x=>x[\"id\"] == Id)\n if (response != null && response.length > 0) {\n return response[0];\n }\n\n return undefined\n }\n\n GetStatusInfo(code) {\n if(code == \"N\" || code == \"I\") {\n return \"PENDING\"\n }\n\n if(code == \"P\" || code == \"p\") {\n return \"COLLECTED\"\n }\n\n if(code == \"E\") {\n return \"ERROR\"\n }\n\n if(code == \"R\") {\n return \"REJECTED\"\n }\n\n if(code == \"C\") {\n return \"CANCELLED\"\n }\n }\n\n successfullCanceled = false;\n CancelRequest(id) {\n const res = this._dialog.open(CancelFxRequestComponent, {\n hasBackdrop: true,\n disableClose: true,\n width: \"500px\",\n data: id\n })\n\n //this._dialog.afterAllClosed()\n\n res.afterClosed().subscribe(res=>{\n if(res != null) {\n //this.GoToNext('', res);\n //this.stage = res;\n this.successfullCanceled = true;\n }\n })\n }\n\n sortBranches(branchArr): NIBBSBranch[] {\n return branchArr.sort((a: NIBBSBranch, b: NIBBSBranch) => {\n // var textA = a.branchName.toUpperCase();\n // var textB = b.branchName.toUpperCase();\n // textA < textB ? -1 : textA > textB ? 1 : 0;\n var nameA = a.branchName.toUpperCase(); // ignore upper and lowercase\n var nameB = b.branchName.toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n \n // names must be equal\n return 0;\n });\n }\n\n goBack() {\n\n this.LoadFxInformation();\n if(this.stage == '3') {\n if(this.prevStage == '2') {\n this.stage = '2'\n }\n else {\n this.stage = '1'\n }\n \n }\n if(this.stage == '2') {\n this.stage = '1'\n this.successfullCanceled = false;\n }\n }\n\n}","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Navigate To\\n \\n \\n \\n
\\n New Request\\n
\\n
\\n \\n
\\n Request History\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
Manage Fx Transaction
\\n
\\n
    \\n
  • \\n \\n New Request\\n \\n \\n \\n \\n \\n \\n
  • \\n \\n
  • \\n \\n Request History\\n \\n \\n \\n \\n \\n \\n
  • \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \"","import { Component, OnInit } from \"@angular/core\";\nimport { EventHandlerService } from \"src/app/core/services/EventHandlerService\";\n\n@Component({\n selector:\"fx-transaction-request\",\n templateUrl: \"./fx-transaction-request.html\",\n styleUrls:['./fx-transactions.component.css']\n})\nexport class FxTransactionRequest implements OnInit {\n activeTransferForm\n loaderIsActive\n ngOnInit(): void {\n this.loaderIsActive = false;\n EventHandlerService.emitOnAppViewChangedEvent();\n this.activeTransferForm ='new-request'\n\n \n try {\n window['casa']('transaction'); \n} catch (error) {}\n }\n \n\n\n onTabSelected(activeTransferForm: string) {\n this.activeTransferForm = activeTransferForm\n }\n\n onNavigationOptionChange(event) {\n console.log(event)\n }\n\n}","import { RouterModule } from \"@angular/router\";\nimport { FxTransactionRequest } from \"./fx-transaction-request\";\n\n\nexport const fxRequestRoutes = RouterModule.forChild([\n {\n path: '',\n component: FxTransactionRequest,\n },\n]);","module.exports = \"#transfers-page .ben-swiper .swiper-slide {\\n margin-right: auto !important;\\n }\\n \\n #transactions-table.mat-toolbar-row,\\n #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n }\\n \\n .transactions-table table {\\n background: #fff;\\n color: rgba(0, 0, 0, .87);\\n }\\n \\n .transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n }\\n \\n .transactions-table .table>tr>td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n }\\n \\n .table-bordered>tbody>tr>th,\\n .table-bordered>tfoot>tr>th,\\n .table-bordered>thead>tr>td,\\n .table-bordered>tbody>tr>td,\\n .table-bordered>tfoot>tr>td {\\n border: 1px solid rgba(0, 0, 0, .12) !important;\\n }\\n \\n .table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n }\\n \\n .transactions-table .table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n }\\n \\n .transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n \\n .transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n }\\n \\n .transactions-table .table>thead>tr>th,\\n .transactions-table .table>tbody>tr>th,\\n .transactions-table .table>tfoot>tr>th,\\n .transactions-table .table>thead>tr>td,\\n .transactions-table .table>tbody>tr>td,\\n .table>tfoot>tr>td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n }\\n \\n .fileUpload {\\n position: relative;\\n overflow: hidden;\\n margin: 10px;\\n margin-left: 0 !important;\\n }\\n \\n .fileUpload input.upload {\\n position: absolute;\\n top: 0;\\n right: 0;\\n margin: 0;\\n padding: 0;\\n font-size: 20px;\\n cursor: pointer;\\n opacity: 0;\\n filter: alpha(opacity=0);\\n }\\n \\n #transfers-page .transfer-types li {\\n padding-left: 10px !important;\\n justify-content: start !important;\\n }\\n \\n #transfers-page .transfer-types li strong {\\n padding-left: 6px !important;\\n }\\n \\n #transfers-page .transfer-types li span {\\n margin-left: auto !important;\\n }\\n \\n #transfers-page .transfer-types li:hover span {\\n visibility: visible\\n }\\n \\n #transfers-page .transfer-types li.active span {\\n visibility: visible\\n }\\n \\n #transfers-page .transfer-types li.active {\\n background: #F8F8FC;\\n color: #0033A1;\\n border-left: 5px solid;\\n }\\n \\n .payment-time-warning {\\n padding-left: 25px;\\n padding-right: 25px;\\n font-weight: 500;\\n opacity: 0.5;\\n }\\n \\n .tran-links {\\n font-weight: 100 !important;\\n }\\n \\n .tran-links:hover {\\n font-weight: 600 !important;\\n }\\n \\n @media screen and (min-width: 1024px) {\\n #navigateDDl {\\n display: none;\\n }\\n }\\n \\n @media screen and (max-width: 1023px) {\\n #navigateMain {\\n display: none;\\n }\\n }\\n \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvZngtdHJhbnNhY3Rpb25zL2Z4LXRyYW5zYWN0aW9ucy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksOEJBQThCO0dBQy9COztFQUVEOztJQUVFLHdCQUF3QjtJQUN4Qiw2QkFBNkI7R0FDOUI7O0VBRUQ7SUFDRSxpQkFBaUI7SUFDakIsMEJBQTBCO0dBQzNCOztFQUVEO0lBQ0Usa0JBQWtCO0lBQ2xCLHFCQUFxQjtHQUN0Qjs7RUFFRDtJQUNFLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIscUJBQXFCO0dBQ3RCOztFQUVEOzs7OztJQUtFLGdEQUFnRDtHQUNqRDs7RUFFRDtJQUNFLGdEQUFnRDtHQUNqRDs7RUFFRDtJQUNFLGdEQUFnRDtHQUNqRDs7RUFFRDtJQUNFLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNkJBQTZCO0dBQzlCOztFQUVEO0lBQ0Usa0JBQWtCO0lBQ2xCLHFCQUFxQjtHQUN0Qjs7RUFFRDs7Ozs7O0lBTUUsNkJBQTZCO0lBQzdCLGdDQUFnQztHQUNqQzs7RUFFRDtJQUNFLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLDBCQUEwQjtHQUMzQjs7RUFFRDtJQUNFLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsU0FBUztJQUNULFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gseUJBQXlCO0dBQzFCOztFQUVEO0lBQ0UsOEJBQThCO0lBQzlCLGtDQUFrQztHQUNuQzs7RUFFRDtJQUNFLDZCQUE2QjtHQUM5Qjs7RUFFRDtJQUNFLDZCQUE2QjtHQUM5Qjs7RUFFRDtJQUNFLG1CQUFtQjtHQUNwQjs7RUFFRDtJQUNFLG1CQUFtQjtHQUNwQjs7RUFFRDtJQUNFLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsdUJBQXVCO0dBQ3hCOztFQUVEO0lBQ0UsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsYUFBYTtHQUNkOztFQUVEO0lBQ0UsNEJBQTRCO0dBQzdCOztFQUdEO0lBQ0UsNEJBQTRCO0dBQzdCOztFQUlEO0lBQ0U7TUFDRSxjQUFjO0tBQ2Y7R0FDRjs7RUFHRDtJQUNFO01BQ0UsY0FBYztLQUNmO0dBQ0YiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9meC10cmFuc2FjdGlvbnMvZngtdHJhbnNhY3Rpb25zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjdHJhbnNmZXJzLXBhZ2UgLmJlbi1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LFxuICAjdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAudHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC44Nyk7XG4gIH1cbiAgXG4gIC50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUgdHIge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG4gIFxuICAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50cj50ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB9XG4gIFxuICAudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGgsXG4gIC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aCxcbiAgLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLFxuICAudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQsXG4gIC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xMikgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnRyYW5zYWN0aW9ucy1wYW5lIC5tYXQtY2FyZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC50cmFuc2FjdGlvbnMtdGFibGUgdGhlYWQgdHIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG4gIFxuICAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50aGVhZD50cj50aCxcbiAgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dGJvZHk+dHI+dGgsXG4gIC50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlPnRmb290PnRyPnRoLFxuICAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50aGVhZD50cj50ZCxcbiAgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dGJvZHk+dHI+dGQsXG4gIC50YWJsZT50Zm9vdD50cj50ZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAuZmlsZVVwbG9hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5maWxlVXBsb2FkIGlucHV0LnVwbG9hZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICB9XG4gIFxuICAjdHJhbnNmZXJzLXBhZ2UgLnRyYW5zZmVyLXR5cGVzIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICN0cmFuc2ZlcnMtcGFnZSAudHJhbnNmZXItdHlwZXMgbGkgc3Ryb25nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAjdHJhbnNmZXJzLXBhZ2UgLnRyYW5zZmVyLXR5cGVzIGxpIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICN0cmFuc2ZlcnMtcGFnZSAudHJhbnNmZXItdHlwZXMgbGk6aG92ZXIgc3BhbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZVxuICB9XG4gIFxuICAjdHJhbnNmZXJzLXBhZ2UgLnRyYW5zZmVyLXR5cGVzIGxpLmFjdGl2ZSBzcGFuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlXG4gIH1cbiAgXG4gICN0cmFuc2ZlcnMtcGFnZSAudHJhbnNmZXItdHlwZXMgbGkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEZDO1xuICAgIGNvbG9yOiAjMDAzM0ExO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQ7XG4gIH1cbiAgXG4gIC5wYXltZW50LXRpbWUtd2FybmluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbiAgXG4gIC50cmFuLWxpbmtzIHtcbiAgICBmb250LXdlaWdodDogMTAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIFxuICAudHJhbi1saW5rczpob3ZlciB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICBcbiAgXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNuYXZpZ2F0ZUREbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICNuYXZpZ2F0ZU1haW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgIl19 */\"","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatLabel, MatTable } from \"@angular/material\";\nimport { AppMaterialModule } from \"src/app/app.material.module\";\nimport { InitateFxTransactionComponent } from \"../manage-fx-transaction/initate-fx-transaction/initate-fx-transaction.component\";\nimport { CancelFxRequestComponent } from \"./cancel-fx-request/cancel-fx-request.component\";\nimport { FxTransactionRequest } from \"./fx-transaction-request\";\nimport { FxTransactionRequestHistory } from \"./fx-transaction-request-history/fx-transaction-request-history.component\";\nimport { fxRequestRoutes } from \"./fx-transactions-route\";\n\n@NgModule({\n declarations:[\n FxTransactionRequest,\n InitateFxTransactionComponent,\n FxTransactionRequestHistory,\n CancelFxRequestComponent\n ],\n imports:[CommonModule,fxRequestRoutes, \n AppMaterialModule, \n FormsModule,\n ReactiveFormsModule],\n exports: [ FxTransactionRequest ],\n entryComponents:[\n CancelFxRequestComponent\n ]\n})\nexport class FxRequestModule{}","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { LoanRequestPayload, LoanRequestResponse, LoanRepaymentScheduleRequestPayload, LoanRepaymentScheduleResponse, UPLLoanRequestPayload } from 'src/app/core/models/loan.request.model';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { AppConfigService } from 'src/app/core/services/appconfig.service';\nimport { HttpClient } from '@angular/common/http';\nimport { ApiURLConstants } from 'src/app/core/helpers/apiURLConstants';\n\n@Injectable()\nexport class LoanRequestService {\n _apiBaseUrl: string;\n baseURL: string;\n constructor(\n private _authService: AuthService,\n _settings: AppConfigService,\n private _httpClient: HttpClient\n ) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n this.baseURL = _settings.EZCash;\n }\n\n verifyBVN(payload: any): Observable {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_CASH_ADVANCE_LIMIT}`,\n payload\n );\n }\n\n BookLoan(payload: LoanRequestPayload): Observable {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.CASH_ADVANCE_REQUEST}`,\n payload\n );\n }\n\n private updateRequestPayload(payload: any) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload[\"cifId\"] =\n loggedInUser && loggedInUser.CifId ? loggedInUser.CifId : \"\";\n payload[\"userId\"] =\n loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : \"\";\n return payload;\n }\n\n termsAndCondition(payload) {\n console.log('object service: ' + JSON.stringify(payload));\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n \"https://appsgw.stanbicibtc.com:8443/omni-channel/consent-management/api/v1/omni/Customer/create\",\n payload\n );\n };\n\n GetLoanRepaymentSchedules(\n payload: LoanRepaymentScheduleRequestPayload\n ): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_UPL_LOAN_REPAYMENT_SCHEDULES}`,\n payload\n );\n }\n\n BookUPLLoan(payload: UPLLoanRequestPayload): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.BOOK_UPL_LOAN}`,\n payload\n );\n }\n\n GetEzCashInsuranceTypes(): Observable {\n return this._httpClient.get(\n `${this.baseURL}/mobile-banking/api/CashAdvance/GetEzCashInsuranceTypes`\n );\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport {\n TopUpRequestPayload,\n TopUpRequestResponse,\n TopUpRepaymentScheduleRequestPayload,\n TopUpRepaymentScheduleResponse,\n TopUpLoanRequestPayload,\n} from \"src/app/core/models/loan-topup.model\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { AppConfigService } from \"src/app/core/services/appconfig.service\";\nimport { HttpClient } from \"@angular/common/http\";\nimport { ApiURLConstants } from \"src/app/core/helpers/apiURLConstants\";\n\n@Injectable()\nexport class LoanTopUpService {\n _apiBaseUrl: string;\n constructor(\n private _authService: AuthService,\n _settings: AppConfigService,\n private _httpClient: HttpClient\n ) {\n this._apiBaseUrl = _settings.APIBaseUrl;\n }\n\n verifyBVN(payload: any): Observable {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_CASH_ADVANCE_LIMIT}`,\n payload\n );\n }\n\n BookLoan(payload: TopUpRequestPayload): Observable {\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.CASH_ADVANCE_REQUEST}`,\n payload\n );\n }\n\n private updateRequestPayload(payload: any) {\n const loggedInUser = this._authService.getLoggedInUser();\n payload[\"cifId\"] =\n loggedInUser && loggedInUser.CifId ? loggedInUser.CifId : \"\";\n payload[\"userId\"] =\n loggedInUser && loggedInUser.UserId ? loggedInUser.UserId : \"\";\n return payload;\n }\n\n termsAndCondition(payload) {\n console.log(\"object service: \" + JSON.stringify(payload));\n payload = this.updateRequestPayload(payload);\n return this._httpClient.post(\n \"https://appsgw.stanbicibtc.com:8443/omni-channel/consent-management/api/v1/omni/Customer/create\",\n payload\n );\n }\n\n GetLoanRepaymentSchedules(\n payload: TopUpRepaymentScheduleRequestPayload\n ): Observable {\n // payload = this.updateRequestPayload(payload);\n console.log(payload);\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.INSTANT_TOPUP_LOAN_REPAYMENT_SCHEDULES}`,\n payload\n );\n }\n\n BookLoanTopup(\n payload: TopUpLoanRequestPayload\n ): Observable {\n return this._httpClient.post(\n `${this._apiBaseUrl}/${ApiURLConstants.BOOK_TOPUP_LOAN}`,\n payload\n );\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL21hbmFnZS1meC10cmFuc2FjdGlvbi9meC10cmFuc2FjdGlvbi1oaXN0b3J5L2Z4LXRyYW5zYWN0aW9uLWhpc3RvcnkuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\n fx-transaction-history works!\\n

\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-fx-transaction-history',\n templateUrl: './fx-transaction-history.component.html',\n styleUrls: ['./fx-transaction-history.component.css']\n})\nexport class FxTransactionHistoryComponent implements OnInit {\n\n constructor() {\n // try {\n // window['casa']('transaction');\n // } catch (error) {}\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"@media only screen and (min-width: 200px) and (max-width: 500px) {\\n .box {\\n margin-right: 6% !important;\\n }\\n}\\n.padding-container {\\n padding: 4rem;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.border {\\n border: 1px solid #e5e5e5;\\n border-radius: 8px;\\n}\\n.box {\\n padding: 1.5%;\\n width: 30%;\\n text-align: center;\\n display: inline-block;\\n}\\n.box-bal {\\n padding: 1%;\\n margin: 1%;\\n width: 30%;\\n text-align: center;\\n display: inline-block;\\n}\\n/*\\n input#fileToUpload {\\n display: inline-block;\\n width: 100%;\\n padding: 59px 0 0 0;\\n height: 100px;\\n overflow: hidden;\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n background: url('https://cdn1.iconfinder.com/data/icons/hawcons/32/698394-icon-130-cloud-upload-512.png') center center no-repeat #fff;\\n border-radius: 4px;\\n background-size: 35px 29px;\\n }\\n #custom-button {\\n padding: 10px;\\n color: white;\\n background-color: #009578;\\n border: 1px solid #000;\\n border-radius: 5px;\\n cursor: pointer;\\n }\\n\\n #custom-button:hover {\\n background-color: #00b28f;\\n }\\n\\n #custom-text {\\n margin-left: 10px;\\n font-family: sans-serif;\\n color: #aaa;\\n }\\n input#fakeInput {\\n width: 100%;\\n background-color: #f8f8f8;\\n border-radius: 8px;\\n display:block;\\n padding: 11px 0;\\n box-sizing: border-box;\\n border:initial;\\n height: 3em;\\n }\\n #buttonImage {\\n float: right;\\n position: absolute;\\n right: 0;\\n top: 0;\\n background: #02a39c;\\n padding:10px;\\n color: white;\\n font-weight: bold;\\n border-radius: 0px 8px 8px 0px;\\n height:1.25em;\\n }\\n #fakeDiv {\\n width: 500px;\\n position: relative;\\n display: inline-block;\\n }\\n #selectedFile {\\n opacity:0;\\n position:absolute;\\n left: 0;\\n top: 0;\\n } */\\n/* test */\\n.fileUpload {\\n position: relative;\\n overflow: hidden;\\n margin: 10px !important;\\n\\n background-color: #d7d2d2;\\n font-family: \\\"Libre Franklin\\\" !important;\\n}\\n.useExistingFileTemplatePreviewModal {\\n width: 441px;\\n height: 493px;\\n left: 762px;\\n top: 135px;\\n\\n background: #ffffff;\\n border-radius: 2px;\\n}\\na:link {\\n color: #151515 !important;\\n}\\nh1 {\\n font-size: 14px !important;\\n font-family: \\\"Libre Franklin\\\" !important;\\n}\\n/* a[_ngcontent-c27] {\\n font-size: 20px !important;\\n font-family: \\\"Libre Franklin\\\" !important;\\n font-weight: 500;\\n color: #000000 !important;\\n}\\nabbr[_ngcontent-c27], p[_ngcontent-c27], pre[_ngcontent-c27], span[_ngcontent-c27] {\\n font-family: \\\"Libre Franklin\\\";\\n font-weight: 800;\\n} */\\n.useExistingFileTemplatePreviewModal {\\n /* width:450px !important; */\\n height: 100% !important;\\n}\\n.viewFile {\\n font-size: 14px !important;\\n margin-top: 3px !important;\\n}\\n.useExisting {\\n color: black !important;\\n}\\n.existingFile {\\n width: 150px !important;\\n height: 40px !important;\\n background-color: white !important;\\n margin: 10px !important;\\n}\\n.existingFileItem {\\n color: #000000 !important;\\n font-family: \\\"Libre Franklin\\\" !important;\\n font-size: 18px !important;\\n}\\n.fileUpload input.upload {\\n position: absolute;\\n top: 0;\\n right: 0;\\n margin: 0;\\n padding: 0;\\n font-size: 20px;\\n cursor: pointer;\\n opacity: 0;\\n filter: alpha(opacity=0);\\n}\\n/* test */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbWFuYWdlLWZ4LXRyYW5zYWN0aW9uL2luaXRhdGUtZngtdHJhbnNhY3Rpb24vaW5pdGF0ZS1meC10cmFuc2FjdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7SUFDRSw0QkFBNEI7R0FDN0I7Q0FDRjtBQUNEO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7QUFDRDtFQUNFLDBCQUEwQjtFQUMxQixtQkFBbUI7Q0FDcEI7QUFFRDtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHNCQUFzQjtDQUN2QjtBQUNEO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHNCQUFzQjtDQUN2QjtBQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BZ0VNO0FBQ04sVUFBVTtBQUNWO0VBQ0UsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQix3QkFBd0I7O0VBRXhCLDBCQUEwQjtFQUMxQix5Q0FBeUM7Q0FDMUM7QUFDRDtFQUNFLGFBQWE7RUFDYixjQUFjO0VBQ2QsWUFBWTtFQUNaLFdBQVc7O0VBRVgsb0JBQW9CO0VBQ3BCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0UsMEJBQTBCO0NBQzNCO0FBQ0Q7RUFDRSwyQkFBMkI7RUFDM0IseUNBQXlDO0NBQzFDO0FBRUQ7Ozs7Ozs7OztJQVNJO0FBQ0o7RUFDRSw2QkFBNkI7RUFDN0Isd0JBQXdCO0NBQ3pCO0FBQ0Q7RUFDRSwyQkFBMkI7RUFDM0IsMkJBQTJCO0NBQzVCO0FBQ0Q7RUFDRSx3QkFBd0I7Q0FDekI7QUFDRDtFQUNFLHdCQUF3QjtFQUN4Qix3QkFBd0I7RUFDeEIsbUNBQW1DO0VBQ25DLHdCQUF3QjtDQUN6QjtBQUNEO0VBQ0UsMEJBQTBCO0VBQzFCLHlDQUF5QztFQUN6QywyQkFBMkI7Q0FDNUI7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsU0FBUztFQUNULFVBQVU7RUFDVixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gseUJBQXlCO0NBQzFCO0FBQ0QsVUFBVSIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL21hbmFnZS1meC10cmFuc2FjdGlvbi9pbml0YXRlLWZ4LXRyYW5zYWN0aW9uL2luaXRhdGUtZngtdHJhbnNhY3Rpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjAwcHgpIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAuYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5wYWRkaW5nLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRyZW07XG59XG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYm94IHtcbiAgcGFkZGluZzogMS41JTtcbiAgd2lkdGg6IDMwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uYm94LWJhbCB7XG4gIHBhZGRpbmc6IDElO1xuICBtYXJnaW46IDElO1xuICB3aWR0aDogMzAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qXG4gIGlucHV0I2ZpbGVUb1VwbG9hZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDU5cHggMCAwIDA7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vY2RuMS5pY29uZmluZGVyLmNvbS9kYXRhL2ljb25zL2hhd2NvbnMvMzIvNjk4Mzk0LWljb24tMTMwLWNsb3VkLXVwbG9hZC01MTIucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzNXB4IDI5cHg7XG4gIH1cbiAgI2N1c3RvbS1idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk1Nzg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgI2N1c3RvbS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGIyOGY7XG4gIH1cblxuICAjY3VzdG9tLXRleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjYWFhO1xuICB9XG4gIGlucHV0I2Zha2VJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwYWRkaW5nOiAxMXB4IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6aW5pdGlhbDtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgfVxuICAjYnV0dG9uSW1hZ2Uge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICMwMmEzOWM7XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggOHB4IDhweCAwcHg7XG4gICAgaGVpZ2h0OjEuMjVlbTtcbiAgfVxuICAjZmFrZURpdiB7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgI3NlbGVjdGVkRmlsZSB7XG4gICAgb3BhY2l0eTowO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9ICovXG4vKiB0ZXN0ICovXG4uZmlsZVVwbG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAxMHB4ICFpbXBvcnRhbnQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZDJkMjtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiAhaW1wb3J0YW50O1xufVxuLnVzZUV4aXN0aW5nRmlsZVRlbXBsYXRlUHJldmlld01vZGFsIHtcbiAgd2lkdGg6IDQ0MXB4O1xuICBoZWlnaHQ6IDQ5M3B4O1xuICBsZWZ0OiA3NjJweDtcbiAgdG9wOiAxMzVweDtcblxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5hOmxpbmsge1xuICBjb2xvcjogIzE1MTUxNSAhaW1wb3J0YW50O1xufVxuaDEge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiAhaW1wb3J0YW50O1xufVxuXG4vKiBhW19uZ2NvbnRlbnQtYzI3XSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbmFiYnJbX25nY29udGVudC1jMjddLCBwW19uZ2NvbnRlbnQtYzI3XSwgcHJlW19uZ2NvbnRlbnQtYzI3XSwgc3Bhbltfbmdjb250ZW50LWMyN10ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxpYnJlIEZyYW5rbGluXCI7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn0gKi9cbi51c2VFeGlzdGluZ0ZpbGVUZW1wbGF0ZVByZXZpZXdNb2RhbCB7XG4gIC8qIHdpZHRoOjQ1MHB4ICFpbXBvcnRhbnQ7ICovXG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnZpZXdGaWxlIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDNweCAhaW1wb3J0YW50O1xufVxuLnVzZUV4aXN0aW5nIHtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG4uZXhpc3RpbmdGaWxlIHtcbiAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDEwcHggIWltcG9ydGFudDtcbn1cbi5leGlzdGluZ0ZpbGVJdGVtIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbn1cbi5maWxlVXBsb2FkIGlucHV0LnVwbG9hZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xufVxuLyogdGVzdCAqL1xuIl19 */\"","module.exports = \"
\\n \\n
\\n\\n    \\n {{tabTitle}}\\n
\\n
\\n \\n
\\n
\\n
\\n check_circle\\n
Success
\\n Your request has been completed !\\n\\n
\\n\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Please your balaces are loading\\n \\n
\\n
0\\\" class=\\\"row padding-container\\\">\\n \\n
\\n
\\n
{{b.transactionTypeName.length > 14? b.transactionTypeName.substring(0, 15)+ '...':b.transactionTypeName}}
\\n

Balance: {{b.balance | number:'1.2-2' }}

\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n

Select Transaction type

\\n\\n \\n Transaction Type\\n\\n \\n \\n {{type.typeName}}\\n \\n \\n \\n
\\n\\n
\\n

Select Purchase type

\\n\\n \\n Purchase Type\\n\\n \\n \\n {{purchaseType.typeName}}\\n \\n \\n \\n
\\n
\\n
0\\\" style=\\\"padding-left: 4rem;\\\" class=\\\" w-100 row\\\">\\n\\n

Please upload with the following documents (Optional)

\\n
\\n
\\n\\n\\n
\\n \\n
\\n

{{doc.name}}

\\n\\n
\\n
\\n
\\n \\n \\n \\n
\\n

\\n Please select a file.\\n

\\n
\\n
\\n \\n\\n\\n\\n
\\n
0\\\">\\n

NB: Please come to the branch with the following documents

\\n
    \\n
  • \\n

    {{doc.name}}

    \\n
  • \\n
\\n \\n
\\n
\\n\\n\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n
\\n

Amount

\\n\\n\\n\\n \\n \\n \\n\\n \\n
\\n
\\n

Select Branch

\\n \\n\\n \\n \\n {{branch.branchName}}\\n \\n \\n \\n
\\n\\n
\\n

Beneficiary BVN

\\n \\n Beneficiary BVN\\n \\n Are you requesting FX on behalf of someone else? (Optional field)\\n\\n \\n
\\n
\\n\\n
\\n\\n
\\n

Passport No

\\n \\n Passport No\\n \\n\\n \\n
\\n\\n
\\n

Tax Certification No

\\n \\n Tax Certification No\\n \\n \\n\\n \\n
\\n\\n\\n
\\n

Purpose

\\n \\n Purpose\\n \\n\\n \\n
\\n
\\n\\n
\\n\\n
\\n

Date of Birth

\\n \\n Date of Birth \\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\"","import { Component, OnInit, Input, SimpleChanges } from \"@angular/core\";\nimport { VariablesService } from \"src/app/core/services/variables.service\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { FxPaymentApprovalsComponent } from \"../../approvals/fx-payment-approvals/fx-payment-approvals.component\";\nimport { FXPaymentService } from \"src/app/core/services/fx-payment.service\";\nimport { DatePipe, DecimalPipe } from \"@angular/common\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\nimport { MatSnackBar } from \"@angular/material\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { RouterConstants } from \"src/app/core/helpers/routerConstants\";\nimport { Router } from \"@angular/router\";\nimport { ResponseCodes } from \"src/app/core/models/Enumerations\";\nimport {\n BranchListResponse,\n NIBBSBranch,\n} from \"src/app/core/models/service-request/branch\";\n\nvar $: any;\nclass BaseString {\n base64String: string;\n id: number;\n}\n@Component({\n selector: \"app-initate-fx-transaction\",\n templateUrl: \"./initate-fx-transaction.component.html\",\n styleUrls: [\"./initate-fx-transaction.component.css\"],\n})\nexport class InitateFxTransactionComponent implements OnInit {\n @Input() tab: string = \"\";\n tabTitle: string;\n _trnsDetailReqType: string;\n customerBvn: string;\n purchaseTypes = [];\n transferTypes = [];\n selectedTransferType: any;\n selectedPurchaseType: any;\n initiateForm: FormGroup;\n documents = [];\n noOfCompleteRows = [];\n remainder = 0;\n balance = [];\n _selectedFileToUpload: File;\n _fileError: string;\n _uploadedFileData: any;\n branches: any;\n beneficiaryBVN: number;\n initiateRequestForm: FormBuilder;\n selectedBranchCode: any;\n amount: any;\n _selectedFileName = \"\";\n file = \"093993\";\n passportNo: any;\n purpose: any;\n transactionTypes: any;\n taxCertificationNumber: any;\n dob: any;\n selectedTransactionType: any;\n purchseTypeObj: {\n id: null;\n };\n selectedTransactionTypeObj: {\n id: null;\n };\n selectedBranchObj: {\n branchCode: null;\n };\n base64StrArr: any[] = [];\n loaderIsActive: boolean;\n constructor(\n private formBuilder: FormBuilder,\n private fxService: FXPaymentService,\n private decimalPipe: DecimalPipe,\n private _snackbar: MatSnackBar,\n private router: Router,\n private datePicker: DatePipe\n ) {\n // try {\n // window['casa']('transaction');\n // } catch (error) {}\n }\n\n ngOnInit() {\n if (!VariablesService.CustomerBVN) {\n this.router.navigate([RouterConstants.FullDashboardURL]);\n return;\n }\n\n this.customerBvn = VariablesService.CustomerBVN;\n this.getCustomerBalance(this.customerBvn);\n this.getFxTypes();\n this.getBranches();\n this.getPurchaseTypes();\n }\n onSelectedBranchChanged(evt) {\n this.selectedBranchCode = evt.value.name;\n this.selectedBranchObj = evt.value;\n }\n\n onFormControlClicked(event: any, i) {\n console.log(i, \"index\");\n const element = event.target as HTMLInputElement;\n element.value = \"\";\n }\n ngOnChanges(changes: SimpleChanges): void {\n this.setTabTitle(this.tab);\n }\n\n getCustomerBalance(customerBvn: string) {\n this.loaderBranchIsActive = true;\n\n this.fxService.getFxBalance(customerBvn).subscribe(\n (res) => {\n this.loaderBranchIsActive = false;\n\n if (res.responseCode === \"00\") {\n this.balance = res.data;\n }\n },\n (err) => {\n // this.balance = [0.00]\n this.loaderBranchIsActive = false;\n }\n );\n }\n\n getFxTypes() {\n this.loaderIsActive = true;\n\n this.fxService.getFxTypes().subscribe(\n (res) => {\n this.loaderIsActive = false;\n\n if (res.responseCode === \"000\") {\n this.transactionTypes = res.data;\n }\n },\n (err) => {\n this.loaderIsActive = false;\n }\n );\n }\n\n getPurchaseTypes() {\n this.loaderIsActive = true;\n\n this.fxService.getPurchaseType().subscribe(\n (res) => {\n this.loaderIsActive = false;\n\n if (res.responseCode === \"000\") {\n this.purchaseTypes = res.data;\n }\n },\n (err) => {\n this.loaderIsActive = false;\n }\n );\n }\n\n getBranches() {\n this.loaderIsActive = true;\n this.fxService.getFxBranches().subscribe(\n (res) => {\n this.loaderIsActive = false;\n if (res.responseCode === \"000\") {\n let unsortedBranches = res.data;\n // unsortedBranches;\n this.branches = this.sortBranches(unsortedBranches);\n // console.log(x, \"sorted\");\n }\n },\n (err) => {\n this.loaderIsActive = false;\n }\n );\n }\n\n sortBranches(branchArr): NIBBSBranch[] {\n return branchArr.sort((a: NIBBSBranch, b: NIBBSBranch) => {\n // var textA = a.branchName.toUpperCase();\n // var textB = b.branchName.toUpperCase();\n // textA < textB ? -1 : textA > textB ? 1 : 0;\n var nameA = a.branchName.toUpperCase(); // ignore upper and lowercase\n var nameB = b.branchName.toUpperCase(); // ignore upper and lowercase\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n \n // names must be equal\n return 0;\n });\n }\n successful = false;\n GotoDashboard() {\n this.router.navigate([RouterConstants.FullDashboardURL]);\n }\n\n createnewRequest() {\n this.successful = false;\n this.documents = [];\n this.base64StrArr = [];\n this.filetoBase64 = \"\";\n this.amount = 0;\n this.passportNo = \"\";\n this.beneficiaryBVN = null;\n this.selectedBranchCode = \"\";\n this.purpose = \"\";\n this.taxCertificationNumber = \"\";\n this.dob = null;\n this.selectedPurchaseType = null;\n this.selectedTransactionType = null;\n }\n SubmitRequest() {\n this.loaderIsActive = true;\n const payload = this.buildPayload();\n if (!payload) {\n this._snackbar.open(\"Please Fill all the required fields\");\n this.loaderIsActive = false;\n }\n this.fxService.SubmitFxRequest(payload).subscribe(\n (res) => {\n if (res.responseCode === \"000\") {\n this.loaderIsActive = false;\n this.successful = true;\n this._snackbar.open(\n \"Your request has been submitted successfully\",\n \"Success\",\n {\n duration: 5000,\n }\n );\n } else {\n this.loaderIsActive = false;\n\n this._snackbar.open(res.responseDescription, \"Failed\", {\n duration: 5000,\n });\n }\n },\n (err) => {\n this.loaderIsActive = false;\n if (err.status === 400) {\n this._snackbar.open(\"Please validate all input fields\", \"Error\", {\n duration: 5000,\n });\n return;\n }\n }\n );\n }\n\n amountInputKeyup() {\n // Only allow digits on amount alone.\n let amountEntered = this.amount;\n amountEntered = UtilService.getSanitizedAmount(amountEntered);\n\n this.amount = amountEntered;\n }\n\n amountInputFocus() {\n let amountEntered = this.amount;\n\n if (amountEntered) {\n //remove .00 if exist\n if ((amountEntered as string).indexOf(\".00\") != -1) {\n amountEntered = (amountEntered as string).replace(\".00\", \"\");\n }\n\n amountEntered = amountEntered.replace(/,/g, \"\");\n }\n\n this.amount = amountEntered;\n }\n\n amountInputBlur() {\n let amount = this.amount as number;\n\n if (amount > 0) {\n this.amount = this.decimalPipe.transform(amount, \"1.2-2\");\n }\n }\n uploadDoc(evt, item, index) {\n console.log(item, index, evt);\n this._uploadedFileData = null;\n this._selectedFileToUpload = null;\n this._snackbar.dismiss();\n this._fileError = \"\";\n if (!evt.target.files || evt.target.files.length < 1) {\n this._fileError =\n \"No file selected. Please select a valid excel of csv file to upload\";\n this._snackbar.open(this._fileError, \"Ok\", { duration: 15000 });\n return;\n }\n if (evt.target.files.length > 1) {\n this._fileError =\n \"Multiple file upload is not supported. please select a single file and retry\";\n this._snackbar.open(this._fileError, \"Ok\", { duration: 15000 });\n return;\n }\n const _fileToUpload: File = evt.target.files[0];\n if (_fileToUpload.size / (1000 * 1024) > 20) {\n this._fileError =\n \"File size is more than 20 MB. Cannot upload a bulk-payment-file larger in size that 20MB\";\n this._snackbar.open(this._fileError, \"Ok\", { duration: 15000 });\n return;\n }\n this._selectedFileToUpload = _fileToUpload;\n this._selectedFileName = _fileToUpload.name;\n // }\n const fileReader = new FileReader();\n fileReader.readAsBinaryString(this._selectedFileToUpload);\n fileReader.onload = (e: any) => {\n this.ToBase64(this._selectedFileToUpload).then((res) => {\n this.filetoBase64 = res;\n if (this.filetoBase64) {\n const strObj = { base64String: this.filetoBase64 };\n if (this.base64StrArr.length === 0) {\n this.base64StrArr.push(strObj);\n return;\n }\n if (this.base64StrArr.length > 0) {\n const findObj = this.base64StrArr.findIndex(\n (el) => el.id === index\n );\n console.log(findObj);\n if (findObj === -1) {\n this.base64StrArr.push(strObj);\n }\n if (findObj != -1) {\n this.base64StrArr.splice(findObj, 1);\n this.base64StrArr.push(strObj);\n }\n }\n }\n });\n this.filetoBase64 = \"\";\n\n var filename = this._selectedFileName;\n console.log(document.getElementById(\"file-name-\" + index));\n document.getElementById(\"file-name-\" + index).innerText = filename;\n };\n }\n\n filetoBase64: string;\n validateFileContents(data: string) {\n this.ConvertToBase64(this._selectedFileToUpload).then(\n (result) => (this.filetoBase64 = this.transformBase64String(result))\n );\n }\n\n ToBase64(file: File): any {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n }\n\n ConvertToBase64(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n }\n transformBase64String(base64String: string) {\n if (base64String && base64String.indexOf(\"base64\") > -1) {\n const hay = base64String.indexOf(\"base64\");\n return base64String.substr(hay + 7);\n }\n return base64String;\n }\n\n private setTabTitle(_title) {\n switch (_title) {\n case \"initiate-fx-transaction\": {\n this.tabTitle = \"FX Purchase Request\";\n break;\n }\n default: {\n break;\n }\n }\n }\n\n showNB = false;\n loaderBranchIsActive = false;\n\n onSelectedPurchaseTypeChanged(option) {\n console.log(option);\n this.selectedPurchaseType = option.value.name;\n this.purchseTypeObj = option.value;\n }\n onSelectedTransactionTypeChanged(option) {\n console.log(option);\n this.documents = option.value.requiredFxDocuments;\n this.selectedTransactionType = option.value.name;\n this.selectedTransactionTypeObj = option.value;\n this.showNB = true;\n }\n\n //refactor\n buildPayload() {\n return {\n passportNumber: this.passportNo,\n accountNumber: AuthService.FullyAuthenticatedUser.UserId,\n bvn: this.customerBvn ? this.customerBvn : null,\n purpose: this.purpose ? this.purpose : null,\n amount: this.amount ? this.amount : 0.0,\n branchCode: this.selectedBranchObj\n ? this.selectedBranchObj.branchCode\n : null,\n beneficiaryBVN: this.beneficiaryBVN\n ? this.beneficiaryBVN\n : this.customerBvn,\n transactionType: this.selectedTransactionTypeObj\n ? this.selectedTransactionTypeObj.id\n : null,\n purchaseType: this.purchseTypeObj ? this.purchseTypeObj.id : null,\n taxCertificationNumber: this.taxCertificationNumber\n ? this.taxCertificationNumber\n : null,\n documents: this.getBaseString(this.base64StrArr),\n dateOfBirth: this.dob\n ? this.datePicker.transform(this.dob, \"yyyy-MM-dd\")\n : null,\n };\n }\n\n getBaseString(base64StrArr: BaseString[]) {\n let newArray = [];\n base64StrArr.forEach((item) => {\n newArray.push({ base64String: item.base64String });\n });\n return newArray;\n }\n}\n","module.exports = \"#transactions-table.mat-toolbar-row,\\n#transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0, 0, 0, .87);\\n}\\n\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n\\n.transactions-table .table>tr>td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n\\n.table-bordered>tbody>tr>th,\\n.table-bordered>tfoot>tr>th,\\n.table-bordered>thead>tr>td,\\n.table-bordered>tbody>tr>td,\\n.table-bordered>tfoot>tr>td {\\n border: 1px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.transactions-table .table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n\\n.transactions-table .table>thead>tr>th,\\n.transactions-table .table>tbody>tr>th,\\n.transactions-table .table>tfoot>tr>th,\\n.transactions-table .table>thead>tr>td,\\n.transactions-table .table>tbody>tr>td,\\n.table>tfoot>tr>td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n\\n#transactions-table.mat-toolbar-row,\\n#transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0, 0, 0, .87);\\n}\\n\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n\\n.transactions-table .table>tr>td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n\\n.table-bordered>tbody>tr>th,\\n.table-bordered>tfoot>tr>th,\\n.table-bordered>thead>tr>td,\\n.table-bordered>tbody>tr>td,\\n.table-bordered>tfoot>tr>td {\\n border: 1px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.transactions-table .table-bordered>thead>tr>th {\\n border: 0px solid rgba(0, 0, 0, .12) !important;\\n}\\n\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n\\n.transactions-table .table>thead>tr>th,\\n.transactions-table .table>tbody>tr>th,\\n.transactions-table .table>tfoot>tr>th,\\n.transactions-table .table>thead>tr>td,\\n.transactions-table .table>tbody>tr>td,\\n.table>tfoot>tr>td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n\\n.tab {\\n border: 1px solid #eeeeee;\\n background-color: #fff;\\n margin-left: 5px;\\n}\\n\\n/* Style the buttons inside the tab */\\n\\n.tab button {\\n display: block;\\n background-color: inherit;\\n color: #616161;\\n padding: 15px 16px;\\n width: 100%;\\n border: none;\\n outline: none;\\n text-align: left;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 12px;\\n}\\n\\n/* Change background color of buttons on hover */\\n\\n.tab button:hover {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n/* Create an active/current \\\"tab button\\\" class */\\n\\n.tab button.active {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n border-left: 5px solid #0033A1;\\n}\\n\\n.tab button.active :nth-child(2n) {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n.tab button i {\\n margin-right: 10px;\\n}\\n\\n/* Style the tab content */\\n\\n.tabcontent {\\n float: left;\\n border: 1px solid #eeeeee;\\n min-height: 300px;\\n background: #fff;\\n width: 99%;\\n}\\n\\n.tab-title {\\n background-color: inherit;\\n color: #616161;\\n padding: 0px 16px;\\n width: 100%;\\n outline: none;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 14px;\\n min-height: 40px;\\n line-height: 40px;\\n border-bottom: 1px solid #eeeeee;\\n}\\n\\n.transactions-breadcrumb {\\n align-items: center;\\n margin: 0;\\n padding: 5px 0;\\n margin-left: 5px;\\n}\\n\\n.transactions-breadcrumb span {\\n padding: 0px 5px;\\n}\\n\\n.transactions-breadcrumb a {\\n color: #2a56c6 !important;\\n}\\n\\n.transactions-breadcrumb a:hover {\\n text-decoration: underline;\\n}\\n\\n@media screen and (min-width: 1024px) {\\n #navigateDDl {\\n display: none;\\n }\\n }\\n\\n@media screen and (max-width: 1023px) {\\n #navigateMain {\\n display: none;\\n }\\n}\\n\\n@media screen and (max-width: 1023px) {\\n #ben-list {\\n min-width: 486px;\\n }\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbWFuYWdlLWZ4LXRyYW5zYWN0aW9uL21hbmFnZS1meC10cmFuc2FjdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLHdCQUF3QjtFQUN4Qiw2QkFBNkI7Q0FDOUI7O0FBRUQ7RUFDRSxpQkFBaUI7RUFDakIsMEJBQTBCO0NBQzNCOztBQUVEO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtDQUN0Qjs7QUFFRDtFQUNFLGtDQUFrQztFQUNsQyxrQkFBa0I7RUFDbEIscUJBQXFCO0NBQ3RCOztBQUVEOzs7OztFQUtFLGdEQUFnRDtDQUNqRDs7QUFFRDtFQUNFLGdEQUFnRDtDQUNqRDs7QUFFRDtFQUNFLGdEQUFnRDtDQUNqRDs7QUFFRDtFQUNFLDJCQUEyQjtFQUMzQiw0QkFBNEI7RUFDNUIsNkJBQTZCO0NBQzlCOztBQUVEO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtDQUN0Qjs7QUFFRDs7Ozs7O0VBTUUsNkJBQTZCO0VBQzdCLGdDQUFnQztDQUNqQzs7QUFJRDs7RUFFRSx3QkFBd0I7RUFDeEIsNkJBQTZCO0NBQzlCOztBQUVEO0VBQ0UsaUJBQWlCO0VBQ2pCLDBCQUEwQjtDQUMzQjs7QUFFRDtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7Q0FDdEI7O0FBRUQ7RUFDRSxrQ0FBa0M7RUFDbEMsa0JBQWtCO0VBQ2xCLHFCQUFxQjtDQUN0Qjs7QUFFRDs7Ozs7RUFLRSxnREFBZ0Q7Q0FDakQ7O0FBRUQ7RUFDRSxnREFBZ0Q7Q0FDakQ7O0FBRUQ7RUFDRSxnREFBZ0Q7Q0FDakQ7O0FBRUQ7RUFDRSwyQkFBMkI7RUFDM0IsNEJBQTRCO0VBQzVCLDZCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7Q0FDdEI7O0FBRUQ7Ozs7OztFQU1FLDZCQUE2QjtFQUM3QixnQ0FBZ0M7Q0FDakM7O0FBQ0Q7SUFDSSwwQkFBMEI7SUFDMUIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtDQUNwQjs7QUFFRCxzQ0FBc0M7O0FBQ3RDO0lBQ0ksZUFBZTtJQUNmLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtDQUNuQjs7QUFFRCxpREFBaUQ7O0FBQ2pEO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2xCOztBQUVELGlEQUFpRDs7QUFDakQ7SUFDSSwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZiwrQkFBK0I7Q0FDbEM7O0FBRUQ7SUFDSSwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBQ2xCLGVBQWU7Q0FDbEI7O0FBQ0Q7SUFDSSxtQkFBbUI7Q0FDdEI7O0FBQ0QsMkJBQTJCOztBQUMzQjtJQUNJLFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixXQUFXO0NBQ2Q7O0FBQ0Q7SUFDSSwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUNBQWlDO0NBQ3BDOztBQUVEO0lBQ0ksb0JBQW9CO0lBQ3BCLFVBQVU7SUFDVixlQUFlO0lBQ2YsaUJBQWlCO0NBQ3BCOztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0lBQ0ksMEJBQTBCO0NBQzdCOztBQUNEO0lBQ0ksMkJBQTJCO0NBQzlCOztBQUNEO0lBQ0k7TUFDRSxjQUFjO0tBQ2Y7R0FDRjs7QUFHRDtJQUNFO01BQ0UsY0FBYztLQUNmO0NBQ0o7O0FBSUQ7RUFDRTtJQUNFLGlCQUFpQjtHQUNsQjtDQUNGIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbWFuYWdlLWZ4LXRyYW5zYWN0aW9uL21hbmFnZS1meC10cmFuc2FjdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3RyYW5zYWN0aW9ucy10YWJsZS5tYXQtdG9vbGJhci1yb3csXG4jdHJhbnNhY3Rpb25zLXRhYmxlIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuODcpO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHRyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50cj50ZCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGgsXG4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGgsXG4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsXG4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQsXG4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xMikgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoIHtcbiAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoIHtcbiAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtcGFuZSAubWF0LWNhcmQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIHRoZWFkIHRyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50aGVhZD50cj50aCxcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlPnRib2R5PnRyPnRoLFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dGZvb3Q+dHI+dGgsXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50aGVhZD50cj50ZCxcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlPnRib2R5PnRyPnRkLFxuLnRhYmxlPnRmb290PnRyPnRkIHtcbiAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbn1cblxuXG5cbiN0cmFuc2FjdGlvbnMtdGFibGUubWF0LXRvb2xiYXItcm93LFxuI3RyYW5zYWN0aW9ucy10YWJsZSAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgLjg3KTtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSB0YWJsZSB0ciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dHI+dGQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoLFxuLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoLFxuLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLFxuLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkLFxuLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aCB7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aCB7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjEyKSAhaW1wb3J0YW50O1xufVxuXG4udHJhbnNhY3Rpb25zLXBhbmUgLm1hdC1jYXJkIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSB0aGVhZCB0ciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dGhlYWQ+dHI+dGgsXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50Ym9keT50cj50aCxcbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlPnRmb290PnRyPnRoLFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGU+dGhlYWQ+dHI+dGQsXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZT50Ym9keT50cj50ZCxcbi50YWJsZT50Zm9vdD50cj50ZCB7XG4gIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG59XG4udGFiIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLyogU3R5bGUgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSB0YWIgKi9cbi50YWIgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGNvbG9yOiAjNjE2MTYxO1xuICAgIHBhZGRpbmc6IDE1cHggMTZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogQ2hhbmdlIGJhY2tncm91bmQgY29sb3Igb2YgYnV0dG9ucyBvbiBob3ZlciAqL1xuLnRhYiBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4RkM7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDMzQTE7XG59XG5cbi8qIENyZWF0ZSBhbiBhY3RpdmUvY3VycmVudCBcInRhYiBidXR0b25cIiBjbGFzcyAqL1xuLnRhYiBidXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEZDO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAzM0ExO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwMzNBMTtcbn1cblxuLnRhYiBidXR0b24uYWN0aXZlIDpudGgtY2hpbGQoMm4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEZDO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAzM0ExO1xufVxuLnRhYiBidXR0b24gaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLyogU3R5bGUgdGhlIHRhYiBjb250ZW50ICovXG4udGFiY29udGVudCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiA5OSU7XG59XG4udGFiLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGNvbG9yOiAjNjE2MTYxO1xuICAgIHBhZGRpbmc6IDBweCAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7XG59XG5cbi50cmFuc2FjdGlvbnMtYnJlYWRjcnVtYiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLnRyYW5zYWN0aW9ucy1icmVhZGNydW1iIHNwYW4ge1xuICAgIHBhZGRpbmc6IDBweCA1cHg7XG59XG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIgYSB7XG4gICAgY29sb3I6ICMyYTU2YzYgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICNuYXZpZ2F0ZUREbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICNuYXZpZ2F0ZU1haW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgI2Jlbi1saXN0IHtcbiAgICBtaW4td2lkdGg6IDQ4NnB4O1xuICB9XG59XG4iXX0= */\"","module.exports = \"\\n
\\n
\\n Dashboard\\n \\n FX Payments\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Navigate To\\n \\n\\n\\n \\n
\\n Initiate FX transaction\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { EventHandlerService } from 'src/app/core/services/EventHandlerService';\nimport { VariablesService } from 'src/app/core/services/variables.service';\nimport { RouterConstants } from 'src/app/core/helpers/routerConstants';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-manage-fx-transaction',\n templateUrl: './manage-fx-transaction.component.html',\n styleUrls: ['./manage-fx-transaction.component.css']\n})\nexport class ManageFxTransactionComponent implements OnInit {\n activeTab: any;\n\n constructor(private router: Router) { \n // try {\n // window['casa']('transaction');\n // } catch (error) {}\n\n\n try {\n window['casa']('transaction'); \n} catch (error) {}\n \n }\n\n ngOnInit() {\n \n if (!VariablesService.CustomerBVN) {\n this.router.navigate([RouterConstants.FullDashboardURL]);\n return;\n }\n EventHandlerService.emitOnAppViewChangedEvent();\n this.activeTab = \"initiate-fx-transaction\";\n\n }\n\n openTab(evt, tabName) {\n let i, tablinks;\n this.activeTab = tabName;\n \n tablinks = document.getElementsByClassName('tablinks');\n for (i = 0; i < tablinks.length; i++) {\n tablinks[i].className = tablinks[i].className.replace(' active', '');\n }\n evt.currentTarget.className += ' active';\n }\n \n onNavigationOptionChange(evtData) {\n this.activeTab = evtData.value as string;\n this.openTab('', this.activeTab);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe, DecimalPipe } from '@angular/common';\nimport { AppMaterialModule } from 'src/app/app.material.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ReceiptService } from 'src/app/core/services/receipt.service';\nimport { DocumentHelperService } from 'src/app/core/services/document.helper.service';\nimport { ManageFxTransactionComponent } from './manage-fx-transaction.component';\nimport { routes } from './manage-fx-transaction.routes';\nimport { InitateFxTransactionComponent } from './initate-fx-transaction/initate-fx-transaction.component';\nimport { FxTransactionHistoryComponent } from './fx-transaction-history/fx-transaction-history.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\n\n@NgModule({\n declarations: [\n ManageFxTransactionComponent,\n // InitateFxTransactionComponent,\n FxTransactionHistoryComponent\n ],\n imports: [CommonModule, AppMaterialModule, FormsModule, ReactiveFormsModule,SharedModule, routes],\n exports: [\n ManageFxTransactionComponent,\n //InitateFxTransactionComponent,\n FxTransactionHistoryComponent \n ],\n providers: [\n DocumentHelperService,\n DecimalPipe,\n DatePipe\n ]\n})\nexport class ManageFxTransactionModule { }\n","\n\nimport { RouterModule } from \"@angular/router\";\nimport { ManageFxTransactionComponent } from \"./manage-fx-transaction.component\";\n \nexport const routes = RouterModule.forChild([\n {\n path: '',\n component: ManageFxTransactionComponent,\n },\n]);","import { BaseApprovalComponent } from '../approvals/base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MatDialog, MatDialogRef, PageEvent } from '@angular/material';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\n\nexport class BasePendingRequestComponent extends BaseApprovalComponent {\n\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n constructor(authService: AuthService, public _dialog: MatDialog) {\n super(authService);\n }\n\n protected buildRequestApprovalHistoryPayload(data: any, operationType: string, pageSize: number = 100, start: number = 0 ) {\n return {\n OperationType: operationType,\n OperationId: data.Id,\n UserId: '',\n PageSize: pageSize,\n LastIdFetched: start\n };\n }\n\n protected launchRequestHistoryModal(payload: any, operationName: string, title: string, extra: any = {}):\n MatDialogRef {\n return this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n data: {\n operationName: operationName,\n requestPayload: payload,\n title: title,\n extra: extra\n }\n });\n }\n\n public onTransactionsPageChanged(pageChangedEvent: PageEvent, iterableCollection: Array, metaCollection: Array) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n iterableCollection = metaCollection.slice(start, end);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9iaWxsLXBheW1lbnQtcmVxdWVzdHMvYmlsbC1wYXltZW50LXJlcXVlc3RzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
{{ownloaderMsg || 'loading pending bill payment requests .. please wait'}}
\\n
\\n
\\n
\\n
\\n
You apparently do not have any pending bill payment requests this moment.\\n
\\n
\\n {{_requestErrorMessage || 'We encountered an unknown error while retrieving your pending bill-payment requests'}}\\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n
\\n \\n    \\n {{'Pending Bill Payment Requests'}}\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Source AccountTypeBeneficiaryStatusTransaction DateAmount
{{paymentRequest.sourceAccountNo}}{{paymentRequest.operationType}}{{paymentRequest.billerName}} \\n {{paymentRequest.Status | titlecase}} {{paymentRequest.CreatedDate | date}}{{paymentRequest.amount | currency:'N'}} \\n \\n
loading pending bill payment requests .. please wait\\n
You have no pending bill\\n payment requests
\\n \\n
\\n
\\n
\\n {{ownloaderMsg}} \\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { PendingBillPaymentRequestObject } from 'src/app/core/models/pending-request.models';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\n\n@Component({\n selector: 'app-bill-payment-requests',\n templateUrl: './bill-payment-requests.component.html',\n styleUrls: ['./bill-payment-requests.component.css']\n})\nexport class BillPaymentRequestsComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) {\n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'bill_payments') {\n this.loadPendingBillPaymentRequests();\n }\n }\n }\n\n loadPendingBillPaymentRequests(loaderMsg = 'fetching pending bill payment requests. please wait ..' , lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'BILLER_PAYMENT' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', {duration: 25000});\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, pageSize);\n },\n (error) => { \n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an error while loading pending bill payment request for your profile';\n this._snackbar.open(`We encountered an error while loading pending bill-payment request`, 'Ok', {duration: 25000});\n }\n );\n }\n\n onRequestAction(action: string, data: PendingBillPaymentRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, data.operationType);\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload, 'biller-payments', 'Bill Payments Approval History');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9idWxrLXBheW1lbnQtcmVxdWVzdHMvYnVsay1wYXltZW50LXJlcXVlc3RzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
{{ownloaderMsg || 'loading pending bulk-payment requests .. please wait'}}
\\n
\\n
\\n
\\n
\\n
\\n {{_requestErrorMessage || 'We encountered an unknown error while retrieving pending bulk-payment requests for your account'}}\\n
\\n
You apparently do not have any pending bulk payment requests, this moment.\\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n
\\n \\n    \\n {{'Pending Bulk-Payment Requests'}}\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdDescriptionFrom AccountTotalStatusDate
{{request.Id}} \\n {{(request.PaymentDescription || '').substr(0, 15)+ ' ..'}}{{request.SourceAccount}}{{request.TotalAmount | currency: (request.SourceCurrency || 'N')}} \\n {{request.BatchStatus.toLowerCase()}} {{request.CreatedDate | date}} \\n \\n
loading pending bulk-payment requests .. please wait\\n
You have no pending\\n bulk-payment requests
\\n \\n
\\n
\\n
\\n {{ownloaderMsg}} \\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog, PageEvent } from '@angular/material';\nimport { PendingBillPaymentRequestObject, PendingBulkPaymentRequestObject } from 'src/app/core/models/pending-request.models';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-bulk-payment-requests',\n templateUrl: './bulk-payment-requests.component.html',\n styleUrls: ['./bulk-payment-requests.component.css']\n})\nexport class PendingBulkPaymentRequestsComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) {\n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'fileuploads') {\n this.loadStagedBulkPaymentRequests();\n }\n }\n }\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n loadStagedBulkPaymentRequests(loaderMsg = 'fetching pending bulk-payment requests. please wait', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'BULK_UPLOAD' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', {duration: 25000});\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while loading your pending bulk-payment. Please retry';\n this._snackbar.open(`We encountered an error while loading pending bulk-payment request`, 'Ok', {duration: 25000});\n }\n );\n }\n\n onRequestAction(action: string, data: PendingBillPaymentRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, 'BULK_UPLOAD');\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload, 'bulk-transfer', 'Bulk Payments Approval History');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n}\n","module.exports = \"#transactions-table.mat-toolbar-row, #transactions-table .mat-toolbar-single-row {\\n height: 60px !important;\\n background: white !important;\\n}\\n.transactions-table table {\\n background: #fff;\\n color: rgba(0,0,0,.87);\\n}\\n.transactions-table table tr {\\n padding-top: 40px;\\n padding-bottom: 40px;\\n}\\n.transactions-table .table > tr > td {\\n border-bottom-width: 0 !important;\\n padding-top: 15px;\\n padding-bottom: 15px;\\n}\\n.table-bordered > tbody > tr > th, \\n.table-bordered > tfoot > tr > th, \\n.table-bordered > thead > tr > td, \\n.table-bordered > tbody > tr > td, \\n.table-bordered > tfoot > tr > td {\\n border: 1px solid rgba(0,0,0,.12) !important;\\n}\\n.table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-table .table-bordered > thead > tr > th {\\n border: 0px solid rgba(0,0,0,.12) !important;\\n}\\n.transactions-pane .mat-card {\\n padding-left: 0 !important;\\n padding-right: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n.transactions-table thead tr {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.transactions-table .table > thead > tr > th, .transactions-table .table > tbody > tr > th, \\n.transactions-table .table > tfoot > tr > th, .transactions-table .table > thead > tr > td, \\n.transactions-table .table > tbody > tr > td, .table > tfoot > tr > td {\\n padding-top: 15px !important;\\n padding-bottom: 15px !important;\\n}\\n.transactions-table .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {\\n border-top: 1px solid #f9f9f9 !important;\\n}\\n.request-detail-summary {\\n}\\n/********** Timeline related syles *******/\\n.timeline-item .timeline-content {\\n position: relative;\\n width: 40%;\\n padding: 0 !important;\\n border-radius: 4px;\\n background: #f5f5f5;\\n box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);\\n min-height: 10em;\\n}\\nvertical-timeline-card .date {\\n background: #3F51B5;\\n display: inline-block;\\n color: #FFFFFF;\\n padding: 10px;\\n position: relative !important;\\n /* top: 0; */\\n /* right: 0; */\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdHJhbnNhY3Rpb24tc3RhdHVzL3BheW1lbnQtcmVxdWVzdHMvcGF5bWVudC1yZXF1ZXN0cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksd0JBQXdCO0lBQ3hCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLHVCQUF1QjtDQUMxQjtBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUNEO0lBQ0ksa0NBQWtDO0lBQ2xDLGtCQUFrQjtJQUNsQixxQkFBcUI7Q0FDeEI7QUFFRDs7Ozs7SUFLSSw2Q0FBNkM7Q0FDaEQ7QUFDRDtJQUNJLDZDQUE2QztDQUNoRDtBQUVEO0lBQ0ksNkNBQTZDO0NBQ2hEO0FBQ0Q7SUFDSSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtDQUNoQztBQUNEO0lBQ0ksa0JBQWtCO0lBQ2xCLHFCQUFxQjtDQUN4QjtBQUVEOzs7SUFHSSw2QkFBNkI7SUFDN0IsZ0NBQWdDO0NBQ25DO0FBQ0Q7SUFDSSx5Q0FBeUM7Q0FDNUM7QUFFRDtDQUNDO0FBQ0QsMkNBQTJDO0FBQzNDO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixpREFBaUQ7SUFDakQsaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGFBQWE7SUFDYixlQUFlO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvdHJhbnNhY3Rpb24tc3RhdHVzL3BheW1lbnQtcmVxdWVzdHMvcGF5bWVudC1yZXF1ZXN0cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3RyYW5zYWN0aW9ucy10YWJsZS5tYXQtdG9vbGJhci1yb3csICN0cmFuc2FjdGlvbnMtdGFibGUgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLC44Nyk7XG59XG4udHJhbnNhY3Rpb25zLXRhYmxlIHRhYmxlIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCBcbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCwgXG4udGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsIFxuLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgcmdiYSgwLDAsMCwuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCByZ2JhKDAsMCwwLC4xMikgIWltcG9ydGFudDtcbn1cbi50cmFuc2FjdGlvbnMtcGFuZSAubWF0LWNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSB0aGVhZCB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi50cmFuc2FjdGlvbnMtdGFibGUgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAudHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgXG4udHJhbnNhY3Rpb25zLXRhYmxlIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIFxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy10YWJsZSAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Y5ZjlmOSAhaW1wb3J0YW50O1xufVxuXG4ucmVxdWVzdC1kZXRhaWwtc3VtbWFyeSB7XG59XG4vKioqKioqKioqKiBUaW1lbGluZSByZWxhdGVkIHN5bGVzICoqKioqKiovXG4udGltZWxpbmUtaXRlbSAudGltZWxpbmUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCAyNXB4IC0xNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtaW4taGVpZ2h0OiAxMGVtO1xufVxudmVydGljYWwtdGltZWxpbmUtY2FyZCAuZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogIzNGNTFCNTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAvKiB0b3A6IDA7ICovXG4gICAgLyogcmlnaHQ6IDA7ICovXG59XG4iXX0= */\"","module.exports = \"
\\n
\\n
\\n \\n
{{ownloaderMsg || 'loading pending payment requests .. please wait'}}
\\n
\\n
\\n
\\n
\\n
You apparently do not have any pending payment requests, this moment.
\\n
\\n {{_requestErrorMessage || 'We encountered an unknown error while retrieving your pending payment requests'}}\\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n
\\n \\n    \\n {{pageTitle || 'Pending Payment Requests'}}\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Ref. IdTransaction TypeStatusSource AccountTransaction DateTotal Amount
{{paymentRequest.Id}} {{paymentRequest && paymentRequest.transferType && paymentRequest.transferType.toLowerCase() == \\\"self\\\" ? 'Transfer To Self'\\n : paymentRequest && paymentRequest.transferType && paymentRequest.transferType.toLowerCase() == \\\"one-off\\\" ? 'Transfer To Others'\\n : paymentRequest && paymentRequest.transferType && paymentRequest.transferType.toLowerCase() == \\\"vb\\\" ? '@Ease'\\n : paymentRequest && paymentRequest.transferType && paymentRequest.transferType.toLowerCase() == \\\"beneficiary\\\" ? 'Beneficiary Transfer'\\n : paymentRequest && paymentRequest.transferType ? paymentRequest.transferType : 'N/A'\\n }} \\n {{paymentRequest['Status'] | titlecase}} {{paymentRequest.sourceAccountNo}}{{paymentRequest['CreatedDate'] | date}}{{paymentRequest.SourceAccountCurrency}} {{(paymentRequest.amount || 0) | number : '1.2-2'}} \\n \\n
loading pending payment requests .. please wait
\\n You have no pending payment requests\\n
\\n \\n
\\n
\\n
\\n {{ownloaderMsg}} \\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { BaseApprovalComponent } from '../../approvals/base.approval.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { PendingSingleTransferObject } from 'src/app/core/models/pending-request.models';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { MatSnackBar, MatDialog, MatDialogRef, PageEvent } from '@angular/material';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\n\n@Component({\n selector: 'app-payment-requests',\n templateUrl: './payment-requests.component.html',\n styleUrls: ['./payment-requests.component.css']\n})\nexport class PaymentRequestsComponent extends BaseApprovalComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n ownLoaderIsActive: boolean;\n ownloaderMsg: string;\n\n requestList: Array = [];\n requestListBackup: Array = [];\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, private _dialog: MatDialog) {\n super(authService);\n }\n\n ngOnInit() {\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'payments') {\n this.loadPendingPaymentRequests();\n }\n }\n }\n\n loadPendingPaymentRequests(loaderMsg = 'fetching pending payment requests .. please wait', start: number = 0, pageSize: number = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: start, OperationType: 'SINGLE_TRANSFER' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while loading your pending payment requests. Please retry';\n this._snackbar.open(`We encountered an error while loading pending payment request`, 'Ok', { duration: 25000 });\n }\n );\n }\n\n onRequestAction(action: string, data: PendingSingleTransferObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data);\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload);\n approvalHistoryModal.afterClosed().subscribe(\n (result) => {}\n );\n break;\n }\n }\n }\n\n onTransactionsPageChanged(pageChangedEvent: PageEvent) {\n const start = pageChangedEvent.pageIndex * pageChangedEvent.pageSize;\n const end = start + pageChangedEvent.pageSize;\n this.requestList = this.requestListBackup.slice(start, end);\n }\n private buildRequestApprovalHistoryPayload(data: PendingSingleTransferObject, pageSize: number = 100, start: number = 0 ) {\n return {\n OperationType: data.OperationType,\n OperationId: data.Id,\n UserId: '',\n PageSize: pageSize,\n LastIdFetched: start\n };\n }\n\n private launchRequestHistoryModal(payload: RequestApprovalHistoryPayload): MatDialogRef {\n return this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n data: {\n operationName: 'single-transfer',\n requestPayload: payload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9wZW5kaW5nLWJlbmVmaWNpYXJ5LW1ndC1yZXF1ZXN0L3BlbmRpbmctYmVuZWZpY2lhcnktbWd0LXJlcXVlc3QuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
{{ownloaderMsg || 'loading pending beneficiary requests .. please wait'}}
You apparently do not have any pending beneiciary management requests, this moment..
{{_requestErrorMessage || 'We encountered an unknown error while retrieving your pending beneficiary requests'}}
0\\\">
    {{'Pending Beneficiary Management Requests'}}
Name BeneficiaryID Request Type Request Date Party Type Status
{{request.beneficiaryName | titlecase}}{{request.Id}} {{request['requestType'] | titlecase}} {{request.createdDate | date:'short'}}{{'Beneficiary'}} {{request.status}}
loading pending beneficiary management requests .. please wait
There are no pending beneficiary management request awaiting your approval You have no pending beneficiary-management requests
\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { PendingBillPaymentRequestObject, PendingBeneficiaryOperationRequestObject } from 'src/app/core/models/pending-request.models';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-pending-beneficiary-mgt-request',\n templateUrl: './pending-beneficiary-mgt-request.component.html',\n styleUrls: ['./pending-beneficiary-mgt-request.component.css']\n})\nexport class PendingBeneficiaryMgtRequestComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) {\n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'beneficiaries') {\n this.loadPendingBeneficiaryMgtRequests();\n }\n }\n }\n\n loadPendingBeneficiaryMgtRequests(\n loaderMsg = 'fetching pending beneficiary requests. please wait ..' , lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId};\n this.fetchAggregatePendingBeneficiaryRequests(payload).then(\n (responseArray) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this.handlePendingBeneficiaryFetchResponse(responseArray);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while loading your pending beneficiary requests. Please retry';\n this._snackbar.open(`We encountered an error while loading pending beneficiary request`, 'Ok', {duration: 25000});\n }\n );\n }\n\n onRequestAction(action: string, data: PendingBillPaymentRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, data.operationType);\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload, 'biller-payments', 'Bill Payments Approval History');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n fetchAggregatePendingBeneficiaryRequests(payload) {\n const pendinAddReqs = this._miscService.getPendingRequest>(\n this.buildPendingRequestPayload('ADD_BENEFICIARY', payload)).catch(error => {console.log(error); return null; });\n\n const pendingUpdateReqs = this._miscService.getPendingRequest>(\n this.buildPendingRequestPayload('EDIT_BENEFICIARY', payload)).catch(error => {console.log(error); return null; });\n\n const pendingRemovalReqs = this._miscService.getPendingRequest>(\n this.buildPendingRequestPayload('REMOVE_BENEFICIARY', payload)).catch(error => {console.log(error); return null; });\n\n return Promise.all([pendinAddReqs, pendingUpdateReqs, pendingRemovalReqs]);\n }\n\n private handlePendingBeneficiaryFetchResponse(responseArray: Array) {\n this.requestListBackup = [];\n responseArray.forEach((response, index) => {\n if (response && response.ResponseCode && response.ResponseCode === '00' && response.PaginatedItems) {\n if (index === 0) { response.PaginatedItems.forEach(obj => obj['operationType'] = 'ADD_BENEFICIARY');\n this.requestListBackup = this.requestListBackup.concat(response.PaginatedItems);\n }}\n });\n this.requestListBackup.forEach(req => req['requestType'] = this.getOperationName(req['operationType']));\n this.requestList = this.requestListBackup.slice(0, this._pageSize);\n console.log(this.requestListBackup);\n }\n private getOperationName(operationType) {\n switch (operationType) {\n case 'ADD_BENEFICIARY':\n return ' Addition';\n case 'EDIT_BENEFICIARY':\n return 'Update';\n case 'REMOVE_BENEFICIARY':\n return 'Removal';\n }\n }\n\n private buildPendingRequestPayload(operationType, payload) {\n payload['OperationType'] = operationType;\n return payload;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9wZW5kaW5nLWJpbGxlci1tZ3QtcmVxdWVzdC9wZW5kaW5nLWJpbGxlci1tZ3QtcmVxdWVzdC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
{{ownloaderMsg || 'loading pending bill payment requests .. please wait'}}
You apparently do not have any pending biller operation requests this moment.
{{_requestErrorMessage || 'We encountered an unknown error while retrieving your pending biller requests'}}
0\\\">
    {{'Pending Biller Management Requests'}}
Subscription ID Biller Name Biller NickName Request Type Requested By Request Date Status
{{request.billerID | titlecase}}{{request.billerName}}{{request.billerBeneficiaryAlias}} {{request['operationTypeText'] | titlecase}} {{request.intiator}}{{request.CreatedDate | date:'short'}} {{request.Status | titlecase}}
loading pending biller-management requests .. please wait
You have no pending biller-management requests
{{ownloaderMsg || 'processing .. please wait'}}
\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { PendingBillPaymentRequestObject, PendingBillerOperationRequestObject } from 'src/app/core/models/pending-request.models';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-pending-biller-mgt-request',\n templateUrl: './pending-biller-mgt-request.component.html',\n styleUrls: ['./pending-biller-mgt-request.component.css']\n})\nexport class PendingBillerMgtRequestComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) {\n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'billers') {\n this.loadPendingBillerOperationRequests();\n }\n }\n }\n\n loadPendingBillerOperationRequests(loaderMsg = 'fetching pending biller operation requests. please wait ..',\n lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = !this._requestErrorMessage ? this._requestErrorMessage : '';\n const payload = { PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'BILLER_BENEFICIARY_OPERATION' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 25000 });\n this._requestErrorMessage = response && response.ResponseFriendlyMessage ? response.ResponseFriendlyMessage :\n 'We encountered an unknown error while loading loading pending biller requests';\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestListBackup.forEach( r => r['operationTypeText'] = this.getOperationType(r.operationType));\n this.requestList = this.requestListBackup.slice(0, pageSize);\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while loading your pending biller requests. Please retry';\n this._snackbar.open(`We encountered an error while loading pending biller request`, 'Ok', { duration: 25000 });\n }\n\n );\n }\n\n onRequestAction(action: string, data: PendingBillerOperationRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, data.operationType);\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload,\n 'biller-management', 'Biller Operation Approval History');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n private getOperationType(typeText: string) {\n switch (typeText) {\n case 'EDIT_BILLER_BENEFICIARY':\n return 'EDIT-BILLER';\n case 'ADD_BILLER_BENEFICIARY':\n return 'ADD-BILLER';\n case 'REMOVE_BILLER_BENEFICIARY':\n return 'REMOVE-BILLER';\n default:\n return 'N/A';\n }\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9wZW5kaW5nLWZ4LXBheW1lbnQtcmVxdWVzdHMvcGVuZGluZy1meC1wYXltZW50LXJlcXVlc3RzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\n
\\n
\\n \\n
{{ownloaderMsg || 'loading pending bill payment requests .. please wait'}}
\\n
\\n
\\n
\\n
\\n
You apparently do not have any pending international-paymemt requests this moment.
\\n
{{_requestErrorMessage || 'We encountered an unknown error while retrieving international payment requests for your account'}}
\\n
\\n
\\n \\n
\\n
\\n
\\n
0\\\">\\n
\\n \\n
\\n \\n     Pending International Payment Requests\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Receiving BankBank Sort CodeCurrencyAmountPurposeStatus
{{(paymentRequest.beneficiaryBankName || '')}}{{(paymentRequest.beneficiaryBankSortCode || '')}}{{paymentRequest.currency}}{{(paymentRequest.amount || 0) | currency:paymentRequest.currency}}{{paymentRequest.purpose}} {{paymentRequest['Status'].toLowerCase()}} \\n \\n \\n \\n \\n
loading pending international-payment requests .. please wait
You have no pending international payment requests
\\n \\n
\\n
\\n
\\n {{ownloaderMsg}} \\n
\\n
\\n
\"","import { Component, OnInit, SimpleChanges, Input, OnChanges } from '@angular/core';\nimport { PendingBillPaymentRequestObject, PendingInternationalPaymentRequestObject } from 'src/app/core/models/pending-request.models';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog, MatDialogRef } from '@angular/material';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { ApprovalHistoryComponent } from 'src/app/shared/approval-history/approval-history.component';\n\n@Component({\n selector: 'app-pending-fx-payment-requests',\n templateUrl: './pending-fx-payment-requests.component.html',\n styleUrls: ['./pending-fx-payment-requests.component.css']\n})\nexport class PendingFxPaymentRequestsComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) {\n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'international-payments') {\n this.loadPendingInternationalPaymentRequests();\n }\n }\n }\n\n loadPendingInternationalPaymentRequests(loaderMsg = 'fetching pending international transfer requests. please wait ..' ,\n lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'INTERNATIONAL_TRANSFER' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS || !response.PaginatedItems) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', {duration: 25000});\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, pageSize);\n this._pageSize = this.requestList.length > this._pageSize ? this._pageSize : this.requestList.length;\n },\n (error) => {\n console.log(error);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while retrieving pending international payments requests for your account';\n this._snackbar.open(`We encountered an error while loading pending payment request`, 'Ok', {duration: 25000});\n }\n );\n }\n\n onRequestAction(action: string, data: PendingInternationalPaymentRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, data.operationType);\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload);\n approvalHistoryModal.afterClosed().subscribe(\n (result) => {}\n );\n break;\n }\n }\n }\n/*\n private buildRequestApprovalHistoryPayload(data: PendingInternationalPaymentRequestObject, pageSize: number = 100, start: number = 0 ) {\n return {\n OperationType: data.operationType,\n OperationId: data.Id,\n UserId: '',\n PageSize: pageSize,\n LastIdFetched: start\n };\n }\n*/\n launchRequestHistoryModal(payload: RequestApprovalHistoryPayload): MatDialogRef {\n return this._dialog.open(\n ApprovalHistoryComponent,\n {\n hasBackdrop: false,\n closeOnNavigation: true,\n data: {\n operationName: 'international-transfer',\n requestPayload: payload,\n title: 'Request Approval History',\n extra: {}\n }\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy9zZXJ2aWNlLXJlcXVlc3RzL3NlcnZpY2UtcmVxdWVzdHMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
{{ownloaderMsg || 'loading pending western-union redemption requests .. please wait'}}
You apparently do not have any pending service request this moment.
{{_requestErrorMessage || 'We encountered an unknown error while loading pending service request for your account'}}
0\\\">
    {{'Pending Service Requests'}}
Ref. Id Type Status Account Date
{{request.Id}} {{request['OperationType']}} {{request.Status | titlecase}} {{'--'}}{{(request.CreatedDate || _now) | date}}
loading pending service-requests .. please wait
You have no pending service requests
\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { PendingWesternUnionRedemptionRequestObject, PendingServiceRequestObject } from 'src/app/core/models/pending-request.models';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-service-requests',\n templateUrl: './service-requests.component.html',\n styleUrls: ['./service-requests.component.css']\n})\nexport class PendingServiceRequestsComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _now: Date = new Date();\n _pageSize = 5;\n _requestErrorMessage: string;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) { \n super(authService, _dialog);\n }\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'service-requests') {\n this.loadPendingServiceRequests();\n }\n }\n }\n\n loadPendingServiceRequests(lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = 'retrieving pending service requests .. please wait';\n this._requestErrorMessage = '';\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'SERVICE_REQUEST' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || !response.ResponseCode || response.ResponseCode !== ResponseCodes.SUCCESS) {\n const statusMsg = response && response.ResponseFriendlyMessage ? response.ResponseFriendlyMessage :\n 'Failed to load pending service requests';\n this._snackbar.open(`${statusMsg}`, 'Ok', { duration: 25000 }); return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, this._pageSize);\n\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n this._requestErrorMessage = 'We encountered an unknown error while retrieving pending service-requests for your account';\n console.log(error);\n }\n );\n\n }\n\n\n onRequestAction(action: string, data: PendingServiceRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, 'SERVICE_REQUEST');\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload,\n 'service-request', 'Request Approval Hisytory');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n\n}\n","module.exports = \".tab {\\n border: 1px solid #eeeeee;\\n background-color: #fff;\\n margin-left: 5px;\\n}\\n\\n/* Style the buttons inside the tab */\\n\\n.tab button {\\n display: block;\\n background-color: inherit;\\n color: #616161;\\n padding: 15px 16px;\\n width: 100%;\\n border: none;\\n outline: none;\\n text-align: left;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 12px;\\n}\\n\\n/* Change background color of buttons on hover */\\n\\n.tab button:hover {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n/* Create an active/current \\\"tab button\\\" class */\\n\\n.tab button.active {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n border-left: 5px solid #0033A1;\\n}\\n\\n.tab button.active :nth-child(2n) {\\n background-color: #F8F8FC;\\n font-weight: bold;\\n color: #0033A1;\\n}\\n\\n.tab button i {\\n margin-right: 10px;\\n}\\n\\n/* Style the tab content */\\n\\n.tabcontent {\\n float: left;\\n border: 1px solid #eeeeee;\\n min-height: 300px;\\n background: #fff;\\n width: 99%;\\n}\\n\\n.tab-title {\\n background-color: inherit;\\n color: #616161;\\n padding: 0px 16px;\\n width: 100%;\\n outline: none;\\n cursor: pointer;\\n transition: 0.3s;\\n font-size: 14px;\\n min-height: 40px;\\n line-height: 40px;\\n border-bottom: 1px solid #eeeeee;\\n}\\n\\n.transactions-breadcrumb {\\n align-items: center;\\n margin: 0;\\n padding: 5px 0;\\n margin-left: 5px;\\n}\\n\\n.transactions-breadcrumb span {\\n padding: 0px 5px;\\n}\\n\\n.transactions-breadcrumb a {\\n color: #2a56c6 !important;\\n}\\n\\n.transactions-breadcrumb a:hover {\\n text-decoration: underline;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdHJhbnNhY3Rpb24tc3RhdHVzL3RyYW5zYWN0aW9uLXN0YXR1cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixpQkFBaUI7Q0FDcEI7O0FBRUQsc0NBQXNDOztBQUN0QztJQUNJLGVBQWU7SUFDZiwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osYUFBYTtJQUNiLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7Q0FDbkI7O0FBRUQsaURBQWlEOztBQUNqRDtJQUNJLDBCQUEwQjtJQUMxQixrQkFBa0I7SUFDbEIsZUFBZTtDQUNsQjs7QUFFRCxpREFBaUQ7O0FBQ2pEO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsK0JBQStCO0NBQ2xDOztBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2xCOztBQUNEO0lBQ0ksbUJBQW1CO0NBQ3RCOztBQUNELDJCQUEyQjs7QUFDM0I7SUFDSSxZQUFZO0lBQ1osMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsV0FBVztDQUNkOztBQUNEO0lBQ0ksMEJBQTBCO0lBQzFCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlDQUFpQztDQUNwQzs7QUFFRDtJQUNJLG9CQUFvQjtJQUNwQixVQUFVO0lBQ1YsZUFBZTtJQUNmLGlCQUFpQjtDQUNwQjs7QUFFRDtJQUNJLGlCQUFpQjtDQUNwQjs7QUFDRDtJQUNJLDBCQUEwQjtDQUM3Qjs7QUFDRDtJQUNJLDJCQUEyQjtDQUM5QiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy90cmFuc2FjdGlvbi1zdGF0dXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4vKiBTdHlsZSB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIHRhYiAqL1xuLnRhYiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgcGFkZGluZzogMTVweCAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBDaGFuZ2UgYmFja2dyb3VuZCBjb2xvciBvZiBidXR0b25zIG9uIGhvdmVyICovXG4udGFiIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGQztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMzNBMTtcbn1cblxuLyogQ3JlYXRlIGFuIGFjdGl2ZS9jdXJyZW50IFwidGFiIGJ1dHRvblwiIGNsYXNzICovXG4udGFiIGJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4RkM7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDMzQTE7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDAzM0ExO1xufVxuXG4udGFiIGJ1dHRvbi5hY3RpdmUgOm50aC1jaGlsZCgybikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4RkM7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDMzQTE7XG59XG4udGFiIGJ1dHRvbiBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4vKiBTdHlsZSB0aGUgdGFiIGNvbnRlbnQgKi9cbi50YWJjb250ZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDk5JTtcbn1cbi50YWItdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgY29sb3I6ICM2MTYxNjE7XG4gICAgcGFkZGluZzogMHB4IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbn1cblxuLnRyYW5zYWN0aW9ucy1icmVhZGNydW1iIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4udHJhbnNhY3Rpb25zLWJyZWFkY3J1bWIgc3BhbiB7XG4gICAgcGFkZGluZzogMHB4IDVweDtcbn1cbi50cmFuc2FjdGlvbnMtYnJlYWRjcnVtYiBhIHtcbiAgICBjb2xvcjogIzJhNTZjNiAhaW1wb3J0YW50O1xufVxuLnRyYW5zYWN0aW9ucy1icmVhZGNydW1iIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufSJdfQ== */\"","module.exports = \"
\\n \\n
\\n
\\n
Dashboard Approval Requests \\n {{(_activeTab || '') | titlecase}}\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\"","import { Component, OnInit } from \"@angular/core\";\nimport { EventHandlerService } from \"src/app/core/services/EventHandlerService\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\n\n@Component({\n selector: \"app-transaction-status\",\n templateUrl: \"./transaction-status.component.html\",\n styleUrls: [\"./transaction-status.component.css\"],\n})\nexport class TransactionStatusComponent implements OnInit {\n public _activeTab: string;\n // _requestApprovalHistory: Array = [];\n loaderIsActive: boolean;\n loaderMsg: string;\n\n pendingRequestList: Array;\n pendingRequestListBackup: Array;\n\n constructor() {\n UtilService.onPageLoadCallback();\n }\n\n ngOnInit() {\n EventHandlerService.emitOnAppViewChangedEvent();\n if (!this._activeTab) {\n this._activeTab = \"fileuploads\";\n }\n this.openTab(null, this._activeTab);\n }\n\n openTab(evt, tabName) {\n this._activeTab = tabName;\n }\n\n buildRequestHistoryPayload(requestType: string) {\n switch (requestType) {\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { AppMaterialModule } from 'src/app/app.material.module';\nimport { VerticalTimelineModule } from 'angular-vertical-timeline';\nimport { TransactionStatusComponent } from './transaction-status.component';\nimport { ApprovalsModule } from '../approvals/approvals.module';\nimport { PaymentRequestsComponent } from './payment-requests/payment-requests.component';\nimport { BillPaymentRequestsComponent } from './bill-payment-requests/bill-payment-requests.component';\nimport { PendingBulkPaymentRequestsComponent } from './bulk-payment-requests/bulk-payment-requests.component';\nimport { WesternUnionPaymentRequestsComponent } from './western-union-payment-requests/western-union-payment-requests.component';\nimport { PendingServiceRequestsComponent } from './service-requests/service-requests.component';\nimport { PendingFxPaymentRequestsComponent } from './pending-fx-payment-requests/pending-fx-payment-requests.component';\nimport { PendingBillerMgtRequestComponent } from './pending-biller-mgt-request/pending-biller-mgt-request.component';\nimport { PendingBeneficiaryMgtRequestComponent } from './pending-beneficiary-mgt-request/pending-beneficiary-mgt-request.component';\n\nexport const transactionStatusRoutes = RouterModule.forChild([\n {\n path: '',\n component: TransactionStatusComponent,\n }\n]);\n\n@NgModule({\n declarations: [\n TransactionStatusComponent,\n PaymentRequestsComponent,\n BillPaymentRequestsComponent,\n PendingBulkPaymentRequestsComponent,\n WesternUnionPaymentRequestsComponent,\n PendingServiceRequestsComponent,\n PendingFxPaymentRequestsComponent,\n PendingBillerMgtRequestComponent,\n PendingBeneficiaryMgtRequestComponent\n ],\n imports: [CommonModule, FormsModule, RouterModule, transactionStatusRoutes, ReactiveFormsModule,\n AppMaterialModule, ApprovalsModule, VerticalTimelineModule],\n exports: [\n TransactionStatusComponent\n ],\n providers: [\n ],\n})\nexport class TransactionsStatusModule { }\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3RyYW5zYWN0aW9uLXN0YXR1cy93ZXN0ZXJuLXVuaW9uLXBheW1lbnQtcmVxdWVzdHMvd2VzdGVybi11bmlvbi1wYXltZW50LXJlcXVlc3RzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
{{ownloaderMsg || 'loading pending western-union redemption requests .. please wait'}}
You apparently do not have any pending western-union redemption requests, this moment.
0\\\">
    {{'Pending Western Union Redemption Requests'}}
Ref. Id Amount Currency Credit Account Status Transaction Date
{{request.Id}} {{request.amount | currency: request.redemptionCurrency || 'N'}}{{request.redemptionCurrency}}{{request.creditAcct}} {{request.Status | titlecase}} {{request.CreatedDate | date}}
loading pending western union redemption requests .. please wait
You have no pending redemption requests
{{ownloaderMsg}}
\"","import { Component, OnInit, Input, SimpleChanges, OnChanges } from '@angular/core';\nimport { PendingWesternUnionRedemptionRequestObject } from 'src/app/core/models/pending-request.models';\nimport { BasePendingRequestComponent } from '../base.pending-request.component';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { BasePagedRequestResponse, RequestApprovalHistoryPayload } from 'src/app/core/models/misc-requests-model';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-western-union-payment-requests',\n templateUrl: './western-union-payment-requests.component.html',\n styleUrls: ['./western-union-payment-requests.component.css']\n})\nexport class WesternUnionPaymentRequestsComponent extends BasePendingRequestComponent implements OnInit, OnChanges {\n\n @Input() _activeTab: string;\n requestList: Array = [];\n requestListBackup: Array = [];\n _pageSize = 5;\n\n constructor(authService: AuthService, private _miscService: MiscService, private _snackbar: MatSnackBar, _dialog: MatDialog) { \n super(authService, _dialog);\n }\n\n ngOnInit() {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['_activeTab']) {\n this._activeTab = changes['_activeTab'].currentValue;\n if (this._activeTab === 'wester_union_redemption') {\n this.loadStagedWesternUnionRedemptionRequests();\n }\n }\n }\n\n loadStagedWesternUnionRedemptionRequests(loaderMsg = 'fetching pending western-union requests. please wait', lastFetchId = 0, pageSize = 100) {\n this.ownLoaderIsActive = true;\n this.ownloaderMsg = loaderMsg;\n const payload = {PageSize: pageSize, LastFetchId: lastFetchId, OperationType: 'WESTERN_UNION' };\n this._miscService.getPendingRequest>(payload).then(\n (response) => {\n console.log(response);\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', {duration: 25000});\n return;\n }\n this.requestListBackup = response.PaginatedItems;\n this.requestList = this.requestListBackup.slice(0, 5);\n },\n (error) => {\n this.ownLoaderIsActive = false;\n this.ownloaderMsg = '';\n }\n );\n }\n\n onRequestAction(action: string, data: PendingWesternUnionRedemptionRequestObject) {\n switch (action) {\n case 'view-history': {\n const requestPayload: RequestApprovalHistoryPayload = this.buildRequestApprovalHistoryPayload(data, 'WESTERN_UNION');\n const approvalHistoryModal = this.launchRequestHistoryModal(requestPayload,\n 'western-union', 'Western-Union Redemption Approval History');\n approvalHistoryModal.afterClosed().subscribe((result) => {});\n break;\n }\n }\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3Vuc2NoZWR1bGVkLXJlcGF5bWVudC9UZW51cmUtTW9kYWwvdGVudXJlLW1vZGFsLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"

New Tenure for {{data.name}} Months

\\n
\\n

This feature is coming soon.

\\n \\n
\\n
\\n \\n \\n
\\n\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-tenure-modal',\n templateUrl: './tenure-modal.component.html',\n styleUrls: ['./tenure-modal.component.css']\n})\nexport class TenureModalComponent {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {}\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n\n}\n\nexport interface DialogData{\n name:string,\n amount:string\n}\n","import { MatDialogModule } from '@angular/material';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TenureModalComponent } from './tenure-modal.component';\nimport { RouterModule } from '@angular/router';\nimport { AppMaterialModule } from 'src/app/app.material.module';\nimport {MatButtonModule} from '@angular/material/button';\n\nconst tenureModuleRoute = RouterModule.forChild([\n {\n path: '',\n component: TenureModalComponent,\n },\n]);\n@NgModule({\n imports: [\n CommonModule,MatDialogModule,RouterModule,AppMaterialModule,MatButtonModule,\n tenureModuleRoute\n ],\n declarations: [TenureModalComponent]\n})\nexport class TenureModalModule { }\n","import {isDevMode, Pipe, PipeTransform} from '@angular/core';\n\n\n\n@Pipe({ name: 'cardFormart' })\n\nexport class CardFormartPipe implements PipeTransform {\n transform(value: string, targetUnits: string): string {\n let pinPan : any\n if(value && targetUnits === 'cf'){\n pinPan = (('' + value).slice(0, 12).replace(/./g, '*')+ ('' + value).slice(12, -1) + ('' + value).slice(-1));\n return pinPan.replace(/\\./gi, '').replace(/(.{4})/g, '$1 ')\n }else{\n }\n\n if(value && targetUnits === 'cfs'){\n return value.replace(/\\W/gi, ' ').replace(/(.{4})/g, '$1 ')\n }else{\n }\n\n\n if(value && targetUnits === 'df'){\n console.log(\"Date format\")\n return value.replace(/(\\w{2})(\\w{2})/, '$1/$2')\n }else{\n }\n }\n\n}\n\n\n","module.exports = \"/* .mat-card {\\n min-height: 500px;\\n}\\n.hotlistCard {\\n display: grid;\\n width: 336.24px;\\n height: 199.41px;\\n border-radius: 18.1873px;\\n background: linear-gradient(106.15deg, #001444 6.17%, #7084B0 102.88%);\\n padding: 30px 20px;\\n align-content: space-between;\\n font-family: \\\"Libre Franklin\\\", serif;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 10.9124px;\\n line-height: 22px;\\n color: #FFFFFF;\\n}\\n.hotlistCard img {\\n width: 21px;\\n height: 26px;\\n} */\\n/* .hotlistCard .hotlistCardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n.hotlistCard .hotlistCardRow span {\\n font-family: \\\"Libre Franklin\\\", serif;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 9.09366px;\\n line-height: 15px;\\n color: rgba(255, 255, 255, 0.5);\\n}\\n.hotlistCard .cardNumber {\\n display: flex;\\n gap: 20px;\\n}\\n\\n.cardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n.cardRow .cardRowSpace {\\nmargin-right: 10px;\\n\\n}\\n\\n.clickDescription {\\n font-family: 'Libre Franklin', serif;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: center;\\n color: #005CC8;\\n}\\n\\n.title {\\n font-family: \\\"Libre Franklin\\\", serif;\\n font-style: normal;\\n font-weight: 900;\\n font-size: 18px;\\n line-height: 32px;\\n padding: 0;\\n color: #1D1D1D;\\n}\\n\\n.subTitle {\\n font-family: \\\"Libre Franklin\\\", serif;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n color: #777777;\\n margin-bottom: 30px;\\n} */\\n.success {\\n text-align: center;\\n}\\n.success #done {\\n margin-block: 30px;\\n}\\n.sphere {\\n width: 54px;\\n height: 54px;\\n background-color: rgba(6, 222, 157, 0.16);\\n margin: 20px auto;\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.mat-dialog-container{\\n /* padding: 0 !important;\\n background-color: red; */\\n /* background-color: red; */\\n}\\n/* .dialog-container {\\n border-radius: 10px !important;\\n margin: 0 !important;\\n padding: 0 !important;\\n} */\\nmat-dialog-content {\\n margin: 0 !important;\\n padding: 0 !important;\\n min-width: 450px;\\n\\n}\\n.dialog-header {\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 40px;\\n /* padding: 30px 20px; */\\n}\\n.dialog-body {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n margin-bottom: 20px;\\n /* padding: 5px 20px; */\\n}\\ndialog-body mat-icon {\\n margin-right: 20px;\\n}\\n.dialog-action {\\n width: 100%;\\n margin-bottom: 20px;\\n /* padding: 5px 20px; */\\n}\\nbutton#confirm {\\n margin-right: 10px ;\\n}\\n/*# sourceMappingURL=retrieve-pin.component.css.map */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC1tYW5hZ2VtZW50L2hvdGxpc3QtY2FyZC9ob3RsaXN0LWNhcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBcUJJO0FBQ0o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXlESTtBQUVKO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBRUQ7RUFDRSxtQkFBbUI7Q0FDcEI7QUFFRDtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsMkNBQTJDO0VBQzNDLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLG9CQUFvQjtFQUNwQix3QkFBd0I7Q0FDekI7QUFFRDtFQUNFOzJCQUN5QjtFQUN6Qiw0QkFBNEI7Q0FDN0I7QUFFRDs7OztJQUlJO0FBRUo7RUFDRSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGlCQUFpQjs7Q0FFbEI7QUFFRDtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2QsK0JBQStCO0VBQy9CLG9CQUFvQjtFQUNwQix5QkFBeUI7Q0FDMUI7QUFFRDtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQix3QkFBd0I7Q0FDekI7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjtBQUVEO0VBQ0UsWUFBWTtFQUNaLG9CQUFvQjtFQUNwQix3QkFBd0I7Q0FDekI7QUFFRDtJQUNJLG9CQUFvQjtDQUN2QjtBQUdELHNEQUFzRCIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3ZpcnR1YWwtY2FyZC92aXJ0dWFsLWNhcmQtbWFuYWdlbWVudC9ob3RsaXN0LWNhcmQvaG90bGlzdC1jYXJkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAubWF0LWNhcmQge1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbn1cbi5ob3RsaXN0Q2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAzMzYuMjRweDtcbiAgaGVpZ2h0OiAxOTkuNDFweDtcbiAgYm9yZGVyLXJhZGl1czogMTguMTg3M3B4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTA2LjE1ZGVnLCAjMDAxNDQ0IDYuMTclLCAjNzA4NEIwIDEwMi44OCUpO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtZmFtaWx5OiBcIkxpYnJlIEZyYW5rbGluXCIsIHNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTAuOTEyNHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uaG90bGlzdENhcmQgaW1nIHtcbiAgd2lkdGg6IDIxcHg7XG4gIGhlaWdodDogMjZweDtcbn0gKi9cbi8qIC5ob3RsaXN0Q2FyZCAuaG90bGlzdENhcmRSb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uaG90bGlzdENhcmQgLmhvdGxpc3RDYXJkUm93IHNwYW4ge1xuICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDkuMDkzNjZweDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uaG90bGlzdENhcmQgLmNhcmROdW1iZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIwcHg7XG59XG5cbi5jYXJkUm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY2FyZFJvdyAuY2FyZFJvd1NwYWNlIHtcbm1hcmdpbi1yaWdodDogMTBweDtcblxufVxuXG4uY2xpY2tEZXNjcmlwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAnTGlicmUgRnJhbmtsaW4nLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDA1Q0M4O1xufVxuXG4udGl0bGUge1xuICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLnN1YlRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiwgc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59ICovXG5cbi5zdWNjZXNzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VjY2VzcyAjZG9uZSB7XG4gIG1hcmdpbi1ibG9jazogMzBweDtcbn1cblxuLnNwaGVyZSB7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICByZ2JhKDYsIDIyMiwgMTU3LCAwLjE2KTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYXQtZGlhbG9nLWNvbnRhaW5lcntcbiAgLyogcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7ICovXG4gIC8qIGJhY2tncm91bmQtY29sb3I6IHJlZDsgKi9cbn1cblxuLyogLmRpYWxvZy1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59ICovXG5cbm1hdC1kaWFsb2ctY29udGVudCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogNDUwcHg7XG5cbn1cblxuLmRpYWxvZy1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAvKiBwYWRkaW5nOiAzMHB4IDIwcHg7ICovXG59XG5cbi5kaWFsb2ctYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAvKiBwYWRkaW5nOiA1cHggMjBweDsgKi9cbn1cblxuZGlhbG9nLWJvZHkgbWF0LWljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5kaWFsb2ctYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIC8qIHBhZGRpbmc6IDVweCAyMHB4OyAqL1xufVxuXG5idXR0b24jY29uZmlybSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4IDtcbn1cblxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1yZXRyaWV2ZS1waW4uY29tcG9uZW50LmNzcy5tYXAgKi9cbiJdfQ== */\"","module.exports = \"
\\n \\n
\\n\\n \\n\\n \\n\\n\\n\\n
\\n
\\n \\n Hotlist Card\\n \\n \\n
\\n\\n
\\n \\n warning\\n \\n

\\n Are you sure you want to unlink this card?
You can't undo this action, this card won't be able to perform any transactions.\\n

\\n
\\n
\\n \\n \\n Confirm\\n \\n \\n Cancel\\n \\n
\\n
\\n\\n\\n
\\n
\\n done \\n
\\n Card Hotlisting done!\\n

\\n You have successfully hotlisted your Virtual card ending with \\n {{lastCardDigits| cardFormart: 'cf' }} ,\\n and further transactions won't happen on this card

\\n \\n Done\\n \\n \\n
\\n
\\n\\n\\n\"","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { VirtualCardService } from 'src/app/core/services/virtual-card.service';\n\n\n@Component({\n selector: 'app-hotlist-card',\n templateUrl: './hotlist-card.component.html',\n styleUrls: ['./hotlist-card.component.css']\n})\nexport class HotlistCardComponent implements OnInit {\n\n cardDetails:any;\n cardDetailsSub: Subscription;\n currentCardDetails: any;\n loaderIsActive: boolean;\n // page = 0;\n // accountOptions =[];\n // cardPans = [];\n // show = false;\n lastCardDigits:string;\n\n success:boolean = false;\n\n constructor (\n private virtualCardService: VirtualCardService,\n private _snackBar: MatSnackBar,\n private route: ActivatedRoute,\n private router: Router,\n @Inject(MAT_DIALOG_DATA) public data\n ) {}\n\n ngOnInit(): void {\n this.cardDetailsSub = this.virtualCardService.cardDetails.subscribe(\n (response) => {\n this.cardDetails = response.card;\n console.log(this.cardDetails)\n }\n );\n }\n\n hotlist() {\n this.loaderIsActive = true;\n\n let hotlistObj: any = {\n \"cardReference\": this.cardDetails.carD_REF,\n \"accountNumber\": this.cardDetails.accounT_NUM,\n }\n\n this.virtualCardService.hotlistCard(hotlistObj, \"b\").subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n console.log(response)\n this._snackBar.open(\"Card Hotlisted Succesfully\",\n '', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 3000 });\n this.success = true;\n\n } else {\n this.loaderIsActive = false;\n console.log(\"else statement\")\n console.log(response.responseDescription)\n this._snackBar.open(response.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n\n },\n (error) => {\n this.loaderIsActive = false\n console.log(\"an error\")\n console.log(error)\n this._snackBar.open(error.error.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n )\n\n\n this.lastCardDigits = this.data.card.pan\n\n }\n}\n","module.exports = \".virtualCard {\\n display: grid;\\n width: 336.24px;\\n height: 199.41px;\\n border-radius: 18.1873px;\\n background: linear-gradient(106.15deg, #001444 6.17%, #7084B0 102.88%);\\n padding: 30px 20px;\\n align-content: space-between;\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 10.9124px;\\n line-height: 22px;\\n color: #FFFFFF;\\n}\\n.virtualCard img {\\n width: 21px;\\n height: 26px;\\n}\\n.virtualCard .virtualCardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n.virtualCard .virtualCardRow span {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 9.09366px;\\n line-height: 15px;\\n color: rgba(255, 255, 255, 0.5);\\n}\\n.virtualCard .cardNumber {\\n display: flex;\\n gap: 20px;\\n}\\n.cardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n.cardRow .cardRowSpace {\\nmargin-right: 10px;\\n\\n}\\n.clickDescription {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: center;\\n color: #005CC8;\\n}\\n.title {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: 900;\\n font-size: 18px;\\n line-height: 32px;\\n padding: 0;\\n color: #1D1D1D;\\n}\\n.subTitle {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n color: #777777;\\n margin-bottom: 30px;\\n}\\n.pinInput {\\n position: relative;\\n}\\n.pinInput mat-icon {\\n position: absolute;\\n right: 0;\\n top: 0;\\n transform: translate(-40%, 50%);\\n}\\n/*# sourceMappingURL=retrieve-pin.component.css.map */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC1tYW5hZ2VtZW50L3JldHJpZXZlLXBpbi9yZXRyaWV2ZS1waW4uY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL3ZpcnR1YWwtY2FyZC92aXJ0dWFsLWNhcmQtbWFuYWdlbWVudC9yZXRyaWV2ZS1waW4vcmV0cmlldmUtcGluLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsdUVBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7Q0NDRDtBRENDO0VBQ0UsWUFBQTtFQUNBLGFBQUE7Q0NDSDtBREVDO0VBQ0UsY0FBQTtFQUNBLG9CQUFBO0VBQ0EsK0JBQUE7Q0NBSDtBREVHO0VBQ0UsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0NDQUw7QURJQztFQUNFLGNBQUE7RUFDQSxVQUFBO0NDRkg7QURNRDtFQUNFLGNBQUE7RUFDQSxvQkFBQTtFQUNBLCtCQUFBO0NDSEQ7QUFFRDtBQUNBLG1CRElFOztDQ0ZEO0FBRUQ7RURNRSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUNKQSxlQUFlO0NBQ2hCO0FBRUQ7RURNRSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQ0pBLGVBQWU7Q0FDaEI7QUFFRDtFQUNFLDhCQUE4QjtFQUM5QixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLG9CQUFvQjtDQUNyQjtBQUVEO0VBQ0UsbUJBQW1CO0NBQ3BCO0FBRUQ7RUFDRSxtQkFBbUI7RUFDbkIsU0FBUztFQUNULE9BQU87RUFDUCxnQ0FBZ0M7Q0FDakM7QUFFRCxzREFBc0QiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy92aXJ0dWFsLWNhcmQvdmlydHVhbC1jYXJkLW1hbmFnZW1lbnQvcmV0cmlldmUtcGluL3JldHJpZXZlLXBpbi5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\n \\n
\\n\\n \\n \\n \\n \\n\\n Go Back\\n
\\n\\n \\n
\\n
\\n\\n
\\n
\\n \\n
NGN {{cardDetails.carD_PROGRAM}}
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n\\n
\\n {{currentCardDetails.pan | cardFormart: 'cf' }} \\n {{currentCardDetails.pan }} \\n
\\n
\\n
\\n VALID
THRU
\\n
**/**
\\n
{{cardDetails.expirY_DATE | cardFormart: 'df' }}
\\n
\\n \\n
\\n CVV \\n
***
\\n
{{currentCardDetails.cvv}}
\\n
\\n
\\n\\n
\\n
\\n
{{cardDetails.namE_ONCARD}}
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
\\n
\\n
\\n
Click on card to see full card details
\\n
Click on card to hide full card details
\\n
\\n\\n
\\n
Virtual Card Management
\\n
See card details below
\\n\\n
\\n
\\n
\\n \\n Enter New Pin\\n \\n \\n Please enter a valid pin\\n \\n \\n \\n \\n {{visibilityStatus[0] == \\\"password\\\"? \\\"visibility_off\\\": \\\"visibility\\\"}}\\n \\n
`\\n\\n\\n
\\n \\n Please Re-Enter Pin\\n \\n \\n \\n\\n \\n {{visibilityStatus[1] == \\\"password\\\"? \\\"visibility_off\\\": \\\"visibility\\\"}}\\n \\n\\n Pins do not match, please check values and re-enter\\n\\n
\\n\\n
\\n \\n Confirm\\n \\n \\n Cancel\\n \\n
\\n
\\n
\\n\\n\\n
\\n
\\n\\n\"","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher, MatSnackBar } from '@angular/material';\nimport { ActivatedRoute, Route, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { VirtualCardService } from 'src/app/core/services/virtual-card.service';\n\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\n }\n}\n\n@Component({\n selector: 'app-retrieve-pin',\n templateUrl: './retrieve-pin.component.html',\n styleUrls: ['./retrieve-pin.component.css']\n})\nexport class RetrievePinComponent implements OnInit, OnDestroy {\n retrievePin: FormGroup;\n cardDetails:any;\n cardDetailsSub: Subscription;\n currentCardDetails: any;\n loaderIsActive: boolean;\n inputedValue: string;\n visibilityStatus: string[] = ['password', 'password'];\n\n show = false;\n\n matcher = new MyErrorStateMatcher();\n\n\n constructor(\n private _formBuilder: FormBuilder,\n private virtualCardService: VirtualCardService,\n private _snackBar: MatSnackBar,\n private route: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit() {\n this.retrievePin = this._formBuilder.group({\n newPin: new FormControl(\"\", [Validators.required, Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]),\n newPinCheck: new FormControl (\"\", [Validators.required, this.pinCheck.bind(this)])\n });\n this.cardDetailsSub = this.virtualCardService.cardDetails.subscribe(\n (response) => {\n this.cardDetails = response.card;\n }\n );\n\n let cardsObj: any = {\n \"cardReference\": this.cardDetails.carD_REF,\n \"accountNumber\": this.cardDetails.accounT_NUM,\n \"clientReference\": this.cardDetails.clienT_REF\n }\n this.loaderIsActive = true;\n this.virtualCardService.fetchCards(cardsObj).subscribe(\n (response) => {\n this.loaderIsActive = false;\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n this.currentCardDetails = response.data.cards[0];\n console.log(this.currentCardDetails )\n } else {\n this.loaderIsActive = false;\n console.log(\"else statement\")\n console.log(response.responseDescription)\n this._snackBar.open(response.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n\n },\n (error) => {\n this.loaderIsActive = false\n console.log(\"an error\")\n console.log(error)\n this._snackBar.open(error.error.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n )\n }\n\n resetPin() {\n this.loaderIsActive = true;\n console.log(this.loaderIsActive)\n let formObj: any = {\n \"cardReference\": this.currentCardDetails.cardReference,\n \"accountNumber\": this.retrievePin.value.accountNum,\n \"oldPin\": this.currentCardDetails.pinInfo,\n \"newPin\": this.retrievePin.value.newPin\n }\n\n this.virtualCardService.changePin(formObj).subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n console.log(response)\n this._snackBar.open(\"Pin Reset Succesful\",\n '', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 3000 });\n this.retrievePin.reset();\n this.router.navigate(['../'], {relativeTo: this.route})\n\n } else {\n this.loaderIsActive = false;\n console.log(\"else statement\")\n console.log(response.responseDescription)\n this._snackBar.open(response.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n\n },\n (error) => {\n this.loaderIsActive = false\n console.log(\"an error\")\n console.log(error)\n this._snackBar.open(error.error.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 2000 });\n }\n );\n\n\n }\n\n onVisibilityChange(index:number) {\n this.visibilityStatus[index] === 'text'? this.visibilityStatus[index] = 'password': this.visibilityStatus[index] = 'text';\n }\n\n\n ngOnDestroy(): void {\n this.cardDetailsSub.unsubscribe();\n }\n\n pinCheck(control: FormControl): {[s: string]: boolean} {\n if (control.value == this.inputedValue) {\n return null\n } else {\n return {'pins do not match': true}\n }\n }\n\n}\n","module.exports = \".title {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: 900;\\n font-size: 18px;\\n line-height: 32px;\\n padding: 0;\\n color: #1D1D1D;\\n padding-inline: 24px;\\n}\\n\\n.subTitle {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n color: #777777;\\n padding-inline: 24px;\\n}\\n\\n.virtualCard {\\n display: grid;\\n width: 336.24px;\\n height: 199.41px;\\n border-radius: 18.1873px;\\n background: linear-gradient(106.15deg, #001444 6.17%, #7084B0 102.88%);\\n padding: 30px 20px;\\n align-content: space-between;\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 10.9124px;\\n line-height: 22px;\\n color: #FFFFFF;\\n filter: grayscale(1) opacity(30%);\\n transition: filter 1s linear;\\n}\\n\\n.swiper-slide .action {\\ndisplay: none;\\n}\\n\\n.virtualCard img {\\n width: 21px;\\n height: 26px;\\n}\\n\\n.virtualCard .virtualCardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n.cardRow {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n.cardRow .cardRowSpace {\\nmargin-right: 10px;\\n\\n}\\n\\n.virtualCard .virtualCardRow span {\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 9.09366px;\\n line-height: 15px;\\n color: rgba(255, 255, 255, 0.5);\\n}\\n\\n.virtualCard .cardNumber {\\n display: flex;\\n gap: 20px;\\n}\\n\\n.clickDescription {\\n font-family: 'Libre Franklin';\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: center;\\n color: #005CC8;\\n}\\n\\n.retrievePin {\\n background: #FFFFFF;\\n border: 1px solid #005CC8;\\n box-sizing: border-box;\\n border-radius: 54px;\\n font-family: \\\"Libre Franklin\\\";\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 16px;\\n text-align: center;\\n color: #005CC8;\\n padding: 14px;\\n margin-inline: auto;\\n margin-top: 30px;\\n width: -moz-fit-content;\\n width: fit-content;\\n cursor: pointer;\\n}\\n\\n.swiper-slide {\\n all: unset !important;\\n width: 356px !important;\\n height: 300px !important;\\n padding: 10px !important;\\n}\\n\\n.swiper-slide-active .virtualCard {\\n filter: grayscale(0) !important;\\n transition: filter 1s linear;\\n}\\n\\n.swiper-slide-active .action {\\n display: block;\\n cursor: pointer;\\n }\\n\\n.responsive {\\n width: 100%;\\n height: auto;\\n }\\n\\n/*# sourceMappingURL=virtual-card-management.component.css.map */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC1tYW5hZ2VtZW50L3ZpcnR1YWwtY2FyZC1tYW5hZ2VtZW50LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9wYWdlcy92aXJ0dWFsLWNhcmQvdmlydHVhbC1jYXJkLW1hbmFnZW1lbnQvdmlydHVhbC1jYXJkLW1hbmFnZW1lbnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0NDQ0Q7O0FERUQ7RUFDRSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHFCQUFBO0NDQ0Q7O0FERUQ7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsdUVBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxrQ0FBQTtFQUNBLDZCQUFBO0NDQ0Q7O0FETUM7QUNBRixjRENJO0NDQUg7O0FBQ0Q7RUFDRSxZQUFZO0VERVYsYUFBQTtDQ0FIOztBQUNEO0VERU0sY0FBQTtFQUNBLG9CQUFBO0VBQ0EsK0JBQUE7Q0NBTDs7QUFHRDtFRElJLGNBQUE7RUNGRixvQkFBb0I7RUFDcEIsK0JBQStCO0NES2pDOztBQ0ZBO0FBQ0EsbUJESUU7O0NDRkQ7O0FEU0Q7RUFDRSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0NBQUE7Q0NIRDs7QUFDRDtFREtFLGNBQUE7RUFDQSxVQUFBO0NDSEQ7O0FBRUQ7RURLRSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUNIQSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VES3BCLG1CQUFBO0VBQ0UsZUFBQTtDQ0hEOztBQUVEO0VBQ0Usb0JBQW9CO0VBQ3BCLDBCQUEwQjtFRE0xQix1QkFBQTtFQUNFLG9CQUFBO0VBQ0EsOEJBQUE7RUNKRixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQix3QkFBbUI7RUFBbkIsbUJBQW1CO0VBQ25CLGdCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLHNCQUFzQjtFQUN0Qix3QkFBd0I7RUFDeEIseUJBQXlCO0VBQ3pCLHlCQUF5QjtDQUMxQjs7QUFFRDtFQUNFLGdDQUFnQztFQUNoQyw2QkFBNkI7Q0FDOUI7O0FBR0Q7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0dBQ2Y7O0FBRUQ7SUFDRSxZQUFZO0lBQ1osYUFBYTtHQUNkOztBQUdILGlFQUFpRSIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL3ZpcnR1YWwtY2FyZC92aXJ0dWFsLWNhcmQtbWFuYWdlbWVudC92aXJ0dWFsLWNhcmQtbWFuYWdlbWVudC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\n \\n
\\n\\n
Virtual Card Management
\\n
See card details below
\\n\\n \\n
\\n
\\n
\\n
\\n \\n
NGN {{ card.carD_PROGRAM }}
\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n\\n
\\n {{ card.pan | cardFormart : \\\"cf\\\" }} \\n \\n {{ card.pan | cardFormart : \\\"cfs\\\" }}\\n \\n \\n {{ card.pan | cardFormart : \\\"cf\\\" }}\\n \\n
\\n\\n
\\n
\\n VALID
\\n THRU\\n
**/**
\\n
\\n {{ card.expirY_DATE | cardFormart : \\\"df\\\" }}\\n
\\n **/**\\n
\\n\\n \\n
\\n CVV \\n
***
\\n
{{ card.cvv }}
\\n ***\\n
\\n
\\n\\n
\\n
\\n
{{ card.namE_ONCARD }}
\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n\\n \\n
\\n
\\n
\\n
\\n
\\n Click on card to see full card details\\n
\\n
\\n \\n Reset Pin\\n
\\n
\\n Unlink Card\\n
\\n
\\n \\n \\n \\n
\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { VirtualCardService } from \"src/app/core/services/virtual-card.service\";\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatDialog, MatSnackBar } from '@angular/material';\nimport { HotlistCardComponent } from './hotlist-card/hotlist-card.component';\n\n\n@Component({\n selector: 'app-virtual-card-management',\n templateUrl: './virtual-card-management.component.html',\n styleUrls: ['./virtual-card-management.component.css']\n})\nexport class VirtualCardManagementComponent implements OnInit {\n\n\n data: any\n cards: any\n @Input() show: Boolean = false\n @Input() showId: Number = 0\n loaderIsActive: Boolean = true\n\n\n constructor( private virtualCardService: VirtualCardService,\n private router: Router,\n private route: ActivatedRoute,\n private _snackBar: MatSnackBar,\n private dialog: MatDialog\n ) { }\n\n\n fetchVirtualCardByCIFID(cif: any) {\n this.data = this.virtualCardService.fetchCardByCif(cif).subscribe(\n (response) => {\n this.loaderIsActive = false;\n if (response.responseCode === \"000\") {\n\n this.cards = response.data.list\n this.loaderIsActive = false;\n\n } else {\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n },\n (error) => {\n this.loaderIsActive = false\n this._snackBar.open(error,\n 'Error', { verticalPosition: 'bottom', horizontalPosition: 'right', duration: 1500 });\n }\n );\n\n }\n\n showCardDetails(id: any){\n this.show= !this.show\n this.showId = id\n }\n\n resetPin(card:any, index: number) {\n this.virtualCardService.cardDetails.next({card, index});\n this.router.navigate(['retrieve-pin'], {relativeTo: this.route})\n\n }\n\n hotlistCard(card: any, index: number) {\n this.virtualCardService.cardDetails.next({card, index});\n // this.router.navigate(['hotlist-card'], {relativeTo: this.route})\n\n this.dialog.open(HotlistCardComponent, {\n backdropClass: 'backdropBackground',\n data: {card: card},\n disableClose: true,\n })\n }\n\n ngOnInit() {\n this.fetchVirtualCardByCIFID(AuthService.FullyAuthenticatedUser.CifId)\n\n // this.fetchVirtualCardByCIFID(AuthService.FullyAuthenticatedUser.CifId)\n\n }\n\n}\n","module.exports = \".title {\\n font-family: 'Libre Franklin';\\n font-style: normal;\\n font-weight: 900;\\n font-size: 18px;\\n line-height: 32px;\\n padding: 0;\\n color: #1D1D1D;\\n padding-inline: 24px;\\n}\\n\\n\\n.subTitle {\\n font-family: 'Libre Franklin';\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 24px;\\n color: #777777;\\n padding-inline: 24px;\\n}\\n\\n\\n.radioGroup {\\n width: 362px;\\n height: 107px;\\n padding: 25px;\\n display: grid;\\n gap: 11px;\\n font-family: 'Libre Franklin';\\n font-size: 14px;\\n line-height: 24px;\\n color: #1D1D1D;\\n background: rgba(229, 229, 229, 1);\\n border-bottom: 1px solid rgba(0, 0, 0, 0.54);;\\n}\\n\\n\\n.primaryButton {\\n width: 150px;\\n height: 42px;\\n background: #005CC8;\\n border-radius: 4px;\\n font-size: 14px;\\n color: #FFFFFF;\\n margin-top: 50px;\\n margin-right: 10px;\\n border: none;\\n}\\n\\n\\n.secondaryButton {\\n width: 150px;\\n height: 42px;\\n background: #FFFFFF;\\n border: 1px solid #484848;\\n box-sizing: border-box;\\n border-radius: 4px;\\n font-size: 14px;\\n color: #484848;\\n margin-top: 50px;\\n}\\n\\n\\n.info {\\n width: 430px;\\n height: 70px;\\n padding: 10px;\\n display: flex;\\n align-items: center;\\n background: #E6F0FC;\\n margin-top: 33px;\\n}\\n\\n\\n.setLimit {\\n width: 100%;\\n display: flex;\\n}\\n\\n\\n.setLimit .limit {\\n padding: 2% 4%;\\n border-radius: 8px;\\n margin-bottom: 5%;\\n background-color: #f6f6f6;\\n margin-right: 2%;\\n cursor: pointer;\\n}\\n\\n\\n.setLimit .limit.active {\\n background-color: #005CC8;\\n color: #fff;\\n}\\n\\n\\n.requestSuccessful {\\n text-align: center;\\n width: 100%;\\n}\\n\\n\\n.requestSuccessful > .title {\\n margin-block: 30px;\\n}\\n\\n\\n.requestSuccessful > button {\\n margin-top: 30px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC1yZXF1ZXN0L3ZpcnR1YWwtY2FyZC1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxlQUFlO0VBQ2YscUJBQXFCO0NBQ3RCOzs7QUFHRDtFQUNFLDhCQUE4QjtFQUM5QixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLHFCQUFxQjtDQUN0Qjs7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsY0FBYztFQUNkLGNBQWM7RUFDZCxjQUFjO0VBQ2QsVUFBVTtFQUNWLDhCQUE4QjtFQUM5QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixtQ0FBbUM7RUFDbkMsNkNBQTZDO0NBQzlDOzs7QUFFRDtFQUNFLGFBQWE7RUFDYixhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsYUFBYTtDQUNkOzs7QUFFRDtFQUNFLGFBQWE7RUFDYixhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLDBCQUEwQjtFQUMxQix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOzs7QUFFRDtFQUNFLGFBQWE7RUFDYixhQUFhO0VBQ2IsY0FBYztFQUNkLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjs7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osY0FBYztDQUNmOzs7QUFFRDtFQUNFLGVBQWU7SUFDYixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25COzs7QUFFRDtFQUNFLDBCQUEwQjtFQUMxQixZQUFZO0NBQ2I7OztBQUdEO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7Q0FDYjs7O0FBQ0Q7RUFDRSxtQkFBbUI7Q0FDcEI7OztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC1yZXF1ZXN0L3ZpcnR1YWwtY2FyZC1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0bGUge1xuICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgcGFkZGluZy1pbmxpbmU6IDI0cHg7XG59XG5cblxuLnN1YlRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdMaWJyZSBGcmFua2xpbic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHBhZGRpbmctaW5saW5lOiAyNHB4O1xufVxuXG4ucmFkaW9Hcm91cCB7XG4gIHdpZHRoOiAzNjJweDtcbiAgaGVpZ2h0OiAxMDdweDtcbiAgcGFkZGluZzogMjVweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxMXB4O1xuICBmb250LWZhbWlseTogJ0xpYnJlIEZyYW5rbGluJztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjI5LCAyMjksIDIyOSwgMSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNTQpOztcbn1cblxuLnByaW1hcnlCdXR0b24ge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogNDJweDtcbiAgYmFja2dyb3VuZDogIzAwNUNDODtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnNlY29uZGFyeUJ1dHRvbiB7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDg0ODQ4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi5pbmZvIHtcbiAgd2lkdGg6IDQzMHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNFNkYwRkM7XG4gIG1hcmdpbi10b3A6IDMzcHg7XG59XG5cbi5zZXRMaW1pdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uc2V0TGltaXQgLmxpbWl0IHtcbiAgcGFkZGluZzogMiUgNCU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZXRMaW1pdCAubGltaXQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNUNDODtcbiAgY29sb3I6ICNmZmY7XG59XG5cblxuLnJlcXVlc3RTdWNjZXNzZnVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5yZXF1ZXN0U3VjY2Vzc2Z1bCA+IC50aXRsZSB7XG4gIG1hcmdpbi1ibG9jazogMzBweDtcbn1cblxuLnJlcXVlc3RTdWNjZXNzZnVsID4gYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbiJdfQ== */\"","module.exports = \"
\\n \\n
\\n\\n
Virtual Card Request
\\n
Make a request for a new virtual card
\\n\\n \\n \\n
\\n Virtual Card Type\\n\\n
Select a Virtual Card Type below
\\n\\n \\n One-TIme Use deactivated after 1-time use \\n Regular Use Valid enabled for multiple use\\n \\n
\\n \\n
\\n
\\n
\\n\\n \\n
\\n Preferred Currency\\n\\n
Select preferred currency
\\n\\n \\n \\n Nigerian Naira NGN\\n\\n \\n\\n \\n US Dollars USD\\n\\n\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n
\\n Preferred Name\\n\\n
Enter preferred name on card
\\n\\n \\n Enter name on card\\n \\n \\n\\n \\n Select Account Number \\n \\n \\n {{ account.accountNumber }}\\n \\n \\n \\n\\n\\n \\n Select Dollar Account Number \\n \\n \\n {{ account.accountNumber }}\\n \\n \\n \\n\\n
\\n\\n report_problem\\n We’d charge N500 + N37.50(7.5% vat) = N537.50 for naira denominated\\n card\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n
\\n Account Details\\n\\n
Provide preferred responses
\\n\\n\\n\\n \\n \\n Verve\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n\\n \\n MasterCard\\n \\\"\\\"\\n \\n \\n\\n \\n Enter Transaction Limit\\n \\n \\n

You can also select from this

\\n\\n
\\n \\n {{ limit }}\\n
\\n \\n\\n
\\n \\n Next\\n \\n \\n
\\n
\\n
\\n\\n \\n Confirm OTP\\n
\\n Confirm OTP\\n
\\n \\n A One Time PIN has been sent to the following email\\n or number\\n \\n\\n
\\n \\n One Time Pin \\n \\n
\\n \\n Verify\\n \\n \\n Resend OTP\\n \\n \\n Cancel\\n \\n
\\n
\\n
\\n\\n \\n Successful\\n\\n
\\n
\\n \\n \\n \\n
\\n\\n
Virtual Card Requested Successfully
\\n\\n
\\n A Virtual card has been successfully requested and your card would be\\n created in about 10 mins. See Virtual Card Management for card details\\n
\\n\\n
Your Pin is {{cardPin}}, kindly reset your pin before using the card
\\n\\n\\n\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatStepper, MatSnackBar, MatCard } from \"@angular/material\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport {\n VariableSingletonService,\n VariablesService,\n} from \"src/app/core/services/variables.service\";\nimport { VirtualCardService } from \"src/app/core/services/virtual-card.service\";\nimport { ActivatedRoute, Router } from \"@angular/router\";\n\n@Component({\n selector: \"app-virtual-card-request\",\n templateUrl: \"./virtual-card-request.component.html\",\n styleUrls: [\"./virtual-card-request.component.css\"],\n})\nexport class VirtualCardRequestComponent implements OnInit {\n @ViewChild(\"stepper\")\n myStepper: MatStepper;\n\n isLinear = false;\n\n virtualCardType: FormGroup;\n currencyType: FormGroup;\n cardName: FormGroup;\n accountDetails: FormGroup;\n otherInfo: FormGroup;\n otpFormGroup: FormGroup;\n isEditable = false;\n setTransLimit: number[] = [100000, 300000, 500000];\n activeSelection: number;\n otpReference: string;\n cardProgramNames: any;\n cardPin: any;\n\n loaderIsActive: boolean;\n noAccountFound: boolean;\n _accountsFetchError: string;\n loaderMsg: string;\n getAccountsByCIFSub: any;\n private _variableService: VariableSingletonService;\n\n accountOptions: any;\n // accountFilters: any[];\n\n accountFilters: Array = [];\n\n accountDollarFilters: Array = [];\n\n isDomiciliary: boolean = false;\n\n isDollarSelect: boolean = false;\n\n constructor(\n private _formBuilder: FormBuilder,\n private virtualCardService: VirtualCardService,\n private _snackBar: MatSnackBar,\n private router: Router,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit() {\n // this.accountOptions = JSON.parse(localStorage.getItem(\"userAccount\"));\n\n // console.log(\"QQQQQQQQQQQQQQQQQQQQQQQQQQQ\",this.accountOptions)\n\n this.accountFilter();\n\n this.virtualCardType = this._formBuilder.group({\n cardProgram: [\"\", Validators.required],\n });\n this.currencyType = this._formBuilder.group({\n currencyCode: [\"\", Validators.required],\n });\n this.cardName = this._formBuilder.group({\n nameOnCard: [\"\", Validators.required],\n accountId: [\"\", Validators.required],\n AccountNumberToDebitForUSD: [\"\"],\n });\n this.accountDetails = this._formBuilder.group({\n cardBrand: [\"\", Validators.required],\n transactionLimit: [\"\", Validators.required],\n });\n\n this.otherInfo = this._formBuilder.group({\n lastName: [\n AuthService.FullyAuthenticatedUser.Lastname,\n Validators.required,\n ],\n city: [null, Validators.required],\n accountType: [null, Validators.required],\n postalCode: [null, Validators.required],\n streetAddressLine2: [null, Validators.required],\n userId: [AuthService.FullyAuthenticatedUser.UserId, Validators.required],\n mobileNr: [null, Validators.required],\n firstName: [\n AuthService.FullyAuthenticatedUser.Firstname,\n Validators.required,\n ],\n emailAddress: [null, Validators.required],\n streetAddress: [null, Validators.required],\n countryCode: [null, Validators.required],\n issuerNr: [null, Validators.required],\n state: [null, Validators.required],\n alias: [\"\", Validators.required],\n clientReference: [\"\", Validators.required],\n });\n\n this.otpFormGroup = this._formBuilder.group({\n otp: [\"\", Validators.required],\n });\n }\n\n setDollar() {\n this.isDollarSelect = true;\n }\n\n setNaira() {\n this.isDollarSelect = false;\n }\n\n accountFilter() {\n // this.accountOptions = JSON.parse(localStorage.getItem(\"userAccount\"));\n this.accountOptions = VariablesService.CustomerAccounts;\n console.log(VariablesService.CustomerAccounts);\n\n this.accountOptions.forEach((item) => {\n if (item.currency === \"USD\") {\n this.isDomiciliary = true;\n this.accountDollarFilters.push({\n accountCategory: item.accountCategory,\n accountName: item.accountName,\n accountNumber: item.accountNumber,\n accountType: item.accountType,\n availableBalance: item.availableBalance,\n creditAllowed: item.creditAllowed,\n currency: item.currency,\n debitAllowed: item.debitAllowed,\n effectiveBalance: item.effectiveBalance,\n });\n }\n\n if (\n item.accountType != \"Loan\" &&\n item.accountType != \"UNSECURED PERSONAL LOAN\" &&\n item.accountType != \"HOME LOAN\" &&\n item.accountCategory != \"ODVIS\" &&\n item.accountCategory != \"CAVIS\" &&\n item.currency === \"NGN\"\n ) {\n console.log(item.currency);\n this.accountFilters.push({\n accountCategory: item.accountCategory,\n accountName: item.accountName,\n accountNumber: item.accountNumber,\n accountType: item.accountType,\n availableBalance: item.availableBalance,\n creditAllowed: item.creditAllowed,\n currency: item.currency,\n debitAllowed: item.debitAllowed,\n effectiveBalance: item.effectiveBalance,\n });\n }\n });\n }\n\n seFormLimit(limit: number, index: number) {\n this.accountDetails.get(\"transactionLimit\").setValue(limit);\n this.activeSelection = index;\n }\n\n onBack(stepper) {\n stepper.previous();\n }\n\n nextClick(): void {\n this.myStepper.selectedIndex = 2;\n setTimeout(() => {\n this.myStepper.linear = true;\n });\n }\n\n initiateOpt(stepper) {\n this.loaderIsActive = true;\n\n this.virtualCardService\n .cardtypeCheckCheck({\n // AccountNumber: \"0026214860\",\n AccountNumber: this.cardName.value.accountId.accountNumber,\n })\n .subscribe((response) => {\n this.loaderIsActive = false;\n\n if (response.responseCode === \"000\") {\n this.cardProgramNames = response.data;\n\n if (\n this.cardProgramNames.some((item: any) =>\n item.cardProgramName.startsWith(\"MASTER\")\n ) ||\n (this.cardProgramNames.some((item: any) =>\n item.cardProgramName.startsWith(\"CB_MC_\")\n ) &&\n this.accountDetails.value.cardBrand === \"MASTERCARD_VIRTUAL\" &&\n this.currencyType.value.currencyCode != \"840\")\n ) {\n this._snackBar.open(\n \"You already have a master card pls select another card type.\",\n \"Error\",\n {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 2500,\n }\n );\n } else {\n // const accountDetail = VariablesService.CustomerAccounts;\n // console.log(\"accountDetail\", accountDetail);\n // const [accountNumber] = accountDetail;\n // .sendOpt(accountNumber.toString())\n this.loaderIsActive = true;\n this.virtualCardService\n .sendOpt(AuthService.FullyAuthenticatedUser.UserId)\n .subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n this.otpReference = response.data;\n stepper.next();\n } else {\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n },\n (error) => {\n this.loaderIsActive = false;\n this._snackBar.open(error, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n );\n }\n } else {\n this._snackBar.open(response.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n });\n }\n\n onValidateOTP(stepper) {\n this.loaderIsActive = true;\n let formObj = {} as any;\n formObj = {\n otpReference: this.otpReference,\n accountNumber: AuthService.FullyAuthenticatedUser.UserId,\n ...this.otpFormGroup.value,\n };\n this.virtualCardService.validateOpt(formObj).subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n this.onSubmit(stepper);\n } else {\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n },\n (error) => {\n this.loaderIsActive = false;\n this._snackBar.open(error, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n );\n }\n\n // onValidateOTP(stepper) {\n // console.log(this.myStepper.next())\n // this.myStepper.next();\n // }\n\n done() {\n // this.router.navigate(['card-management'], {relativeTo: this.route})\n\n this.router.navigate([\"/virtual-card/card-management\"]).then();\n }\n\n ResendOtp(stepper) {\n this.loaderIsActive = true;\n this.virtualCardService\n .sendOpt(AuthService.FullyAuthenticatedUser.UserId)\n .subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n this.loaderIsActive = false;\n this.otpReference = response.data;\n } else {\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n },\n (error) => {\n this.loaderIsActive = false;\n this._snackBar.open(error, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n }\n );\n }\n\n private virtualCardPayload() {\n return {\n CardDetails: {\n lastName: AuthService.FullyAuthenticatedUser.Lastname,\n city: null,\n accountType:\n this.cardName.value.accountType === \"CURRENT\" ? \"20\" : \"10\",\n postalCode: null,\n streetAddressLine2: null,\n userId: \"Virtual Card\",\n mobileNr: \"\",\n cardProgram:\n this.currencyType.value.currencyCode === \"840\"\n ? \"MC_USD_Virtual\"\n : this.accountDetails.value.cardBrand,\n firstName: AuthService.FullyAuthenticatedUser.Firstname,\n accountId: this.cardName.value.AccountNumberToDebitForUSD\n ? this.cardName.value.AccountNumberToDebitForUSD.accountNumber\n : this.cardName.value.accountId.accountNumber,\n emailAddress: null,\n nameOnCard: this.cardName.value.nameOnCard,\n streetAddress: null,\n countryCode: \"NG\",\n issuerNr: this.currencyType.value.currencyCode === \"566\" ? \"1\" : \"3\",\n state: null,\n currencyCode: this.currencyType.value.currencyCode,\n alias: \"1231\",\n clientReference: AuthService.FullyAuthenticatedUser.CifId,\n },\n Limit: this.accountDetails.value.transactionLimit.toString(),\n CIFID: AuthService.FullyAuthenticatedUser.CifId,\n cardVariant: this.virtualCardType.value.cardProgram,\n AccountNumberToDebitForUSD: this.cardName.value.accountId.accountNumber,\n };\n }\n\n accountBalance(stepper) {\n console.log(\"accountType\", this.cardName.value.accountId.accountType);\n\n this.loaderIsActive = true;\n this.virtualCardService\n .accountBalanceCheck({\n AccountNumber: this.cardName.value.accountId.accountNumber,\n })\n .subscribe(\n (response) => {\n this.loaderIsActive = false;\n\n if (response.responseCode === \"999\") {\n this._snackBar.open(response.responseDescription, \"Error\", {\n duration: 30000,\n });\n }\n\n if (response.responseCode === \"000\") {\n if (response.data.availableBalance > 537.5) {\n this._snackBar.open(response.responseDescription, \"Ok\", {\n duration: 30000,\n });\n this.myStepper.next();\n } else {\n this._snackBar.open(\n \"You cannot proceed because of Insufficient funds\",\n \"Ok\",\n { duration: 30000 }\n );\n }\n }\n },\n (error) => {\n this.loaderIsActive = false;\n\n this._snackBar.open(\"Something went wrong\", \"Error\", {\n duration: 30000,\n });\n }\n );\n }\n\n onSubmit(stepper) {\n this.loaderIsActive = true;\n const payload = this.virtualCardPayload();\n this.virtualCardService.requestVirtualCard(payload).subscribe(\n (response) => {\n if (response.responseCode === \"000\") {\n console.log(\"ssssss\", response.data.card.pinInfo);\n this.cardPin = response.data.card.pinInfo;\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 15000,\n });\n this.myStepper.next();\n } else {\n this.loaderIsActive = false;\n this._snackBar.open(response.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 15000,\n });\n }\n },\n (error) => {\n this.loaderIsActive = false;\n this._snackBar.open(error.error.responseDescription, \"Error\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 15000,\n });\n }\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {VirtualCardComponent} from './virtual-card.component';\nimport {VirtualCardManagementComponent} from './virtual-card-management/virtual-card-management.component';\nimport {VirtualCardRequestComponent} from './virtual-card-request/virtual-card-request.component';\nimport {RetrievePinComponent} from './virtual-card-management/retrieve-pin/retrieve-pin.component';\nimport { HotlistCardComponent } from './virtual-card-management/hotlist-card/hotlist-card.component';\n\nexport const VirtualCardRoutingModule = RouterModule.forChild([\n {\n path: '',\n component: VirtualCardComponent,\n children: [\n {\n path: 'card-management',\n component: VirtualCardManagementComponent,\n },\n {\n path: 'card-management/retrieve-pin',\n component: RetrievePinComponent,\n },\n {\n path: 'card-management/hotlist-card',\n component: HotlistCardComponent,\n },\n {\n path: 'request',\n component: VirtualCardRequestComponent,\n }\n ]\n }\n]);\n//\n// const routes: Routes = [\n// {\n// path: '',\n// component: BentoComponent,\n// },\n// ];\n//\n// @NgModule({\n// imports: [RouterModule.forChild(routes)],\n// exports: [RouterModule]\n// })\n// export class BentoRoutingModule { }\n","module.exports = \".transfer-types {\\n display: grid;\\n}\\n\\n.transfer-types .menu {\\n display: grid;\\n gap: 20px;\\n}\\n\\n.transfer-types .menu > div {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 10px 20px;\\n color: #828282;\\n}\\n\\n.transfer-types .menu > div > span {\\n display: flex;\\n gap: 10px;\\n}\\n\\n.transfer-types .menu > div:hover, .active {\\n background: #F8F8FC;\\n color: #0033A1;\\n cursor: pointer;\\n}\\n\\n@media screen and (min-width: 1024px) {\\n #navigateDDl {\\n display: none;\\n }\\n}\\n\\n@media screen and (max-width: 1023px) {\\n #navigateMain {\\n display: none;\\n }\\n}\\n\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n -webkit-backdrop-filter: blur(10px);\\n backdrop-filter: blur(10px);\\n border-radius: 20px;\\n}\\n\\n/*.virtualCard {*/\\n\\n/* width: 100%;*/\\n\\n/* padding: 40px;*/\\n\\n/* display: grid;*/\\n\\n/* grid-template-columns: 400px auto;*/\\n\\n/* gap: 30px;*/\\n\\n/*}*/\\n\\n/*.virtualCard > .nav {*/\\n\\n/* width: 402px;*/\\n\\n/* height: 115px;*/\\n\\n/* background: #FFFFFF;*/\\n\\n/* box-shadow: 0 0 32px rgba(0, 0, 0, 0.08);*/\\n\\n/*}*/\\n\\n/*.virtualCard > .nav > div {*/\\n\\n/* width: 402px;*/\\n\\n/* height: 40px;*/\\n\\n/*}*/\\n\\n/*.virtualCard > .nav > div.active {*/\\n\\n/* background: rgba(0, 92, 200, 0.16);*/\\n\\n/*}*/\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztDQUNmOztBQUVEO0VBQ0UsY0FBYztFQUNkLFVBQVU7Q0FDWDs7QUFFRDtFQUNFLGNBQWM7RUFDZCwrQkFBK0I7RUFDL0Isb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsY0FBYztFQUNkLFVBQVU7Q0FDWDs7QUFFRDtFQUNFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0U7SUFDRSxjQUFjO0dBQ2Y7Q0FDRjs7QUFHRDtFQUNFO0lBQ0UsY0FBYztHQUNmO0NBQ0Y7O0FBRUQ7RUFDRSxvQ0FBNEI7VUFBNUIsNEJBQTRCO0VBQzVCLG9CQUFvQjtDQUNyQjs7QUF5QkQsa0JBQWtCOztBQUNsQixrQkFBa0I7O0FBQ2xCLG9CQUFvQjs7QUFDcEIsb0JBQW9COztBQUNwQix3Q0FBd0M7O0FBQ3hDLGdCQUFnQjs7QUFDaEIsS0FBSzs7QUFFTCx5QkFBeUI7O0FBQ3pCLG1CQUFtQjs7QUFDbkIsb0JBQW9COztBQUNwQiwwQkFBMEI7O0FBQzFCLCtDQUErQzs7QUFDL0MsS0FBSzs7QUFFTCwrQkFBK0I7O0FBQy9CLG1CQUFtQjs7QUFDbkIsbUJBQW1COztBQUNuQixLQUFLOztBQUNMLHNDQUFzQzs7QUFDdEMseUNBQXlDOztBQUN6QyxLQUFLIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvdmlydHVhbC1jYXJkL3ZpcnR1YWwtY2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRyYW5zZmVyLXR5cGVzIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLnRyYW5zZmVyLXR5cGVzIC5tZW51IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAyMHB4O1xufVxuXG4udHJhbnNmZXItdHlwZXMgLm1lbnUgPiBkaXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgY29sb3I6ICM4MjgyODI7XG59XG5cbi50cmFuc2Zlci10eXBlcyAubWVudSA+IGRpdiA+IHNwYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG59XG5cbi50cmFuc2Zlci10eXBlcyAubWVudSA+IGRpdjpob3ZlciwgLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNGOEY4RkM7XG4gIGNvbG9yOiAjMDAzM0ExO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAjbmF2aWdhdGVERGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgI25hdmlnYXRlTWFpbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qLnZpcnR1YWxDYXJkIHsqL1xuLyogIHdpZHRoOiAxMDAlOyovXG4vKiAgcGFkZGluZzogNDBweDsqL1xuLyogIGRpc3BsYXk6IGdyaWQ7Ki9cbi8qICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwMHB4IGF1dG87Ki9cbi8qICBnYXA6IDMwcHg7Ki9cbi8qfSovXG5cbi8qLnZpcnR1YWxDYXJkID4gLm5hdiB7Ki9cbi8qICB3aWR0aDogNDAycHg7Ki9cbi8qICBoZWlnaHQ6IDExNXB4OyovXG4vKiAgYmFja2dyb3VuZDogI0ZGRkZGRjsqL1xuLyogIGJveC1zaGFkb3c6IDAgMCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7Ki9cbi8qfSovXG5cbi8qLnZpcnR1YWxDYXJkID4gLm5hdiA+IGRpdiB7Ki9cbi8qICB3aWR0aDogNDAycHg7Ki9cbi8qICBoZWlnaHQ6IDQwcHg7Ki9cbi8qfSovXG4vKi52aXJ0dWFsQ2FyZCA+IC5uYXYgPiBkaXYuYWN0aXZlIHsqL1xuLyogIGJhY2tncm91bmQ6IHJnYmEoMCwgOTIsIDIwMCwgMC4xNik7Ki9cbi8qfSovXG4iXX0= */\"","module.exports = \"
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Navigate To\\n \\n\\n \\n
\\n \\n Virtual Card Management\\n \\n \\n
\\n
\\n\\n \\n
\\n \\n Virtual Card Request\\n \\n \\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
Virtual Card
\\n
\\n
\\n \\n \\n Virtual Card Management\\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n Virtual Card Request\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-virtual-card',\n templateUrl: './virtual-card.component.html',\n styleUrls: ['./virtual-card.component.css']\n})\nexport class VirtualCardComponent implements OnInit {\n loaderIsActive: boolean;\n\n constructor(\n private router: Router\n ) {\n this.loaderIsActive = false;\n }\n\n ngOnInit() {\n this.router.navigate(['/virtual-card/card-management']).then();\n }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { VirtualCardComponent } from \"./virtual-card.component\";\nimport { VirtualCardManagementComponent } from \"./virtual-card-management/virtual-card-management.component\";\nimport { VirtualCardRequestComponent } from \"./virtual-card-request/virtual-card-request.component\";\nimport { VirtualCardRoutingModule } from \"./virtual-card-routing.module\";\nimport {\n MatButtonModule,\n MatCardModule,\n MatFormFieldModule,\n MatInputModule,\n MatProgressBarModule,\n MatRadioModule,\n MatSelectModule,\n MatIconModule,\n MatStepperModule,\n MatDialogModule\n} from \"@angular/material\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { FormsModule } from \"@angular/forms\";\nimport { SwiperModule } from \"ngx-swiper-wrapper\";\nimport { SWIPER_CONFIG } from \"ngx-swiper-wrapper\";\nimport { SwiperConfigInterface } from \"ngx-swiper-wrapper\";\nimport { RetrievePinComponent } from \"./virtual-card-management/retrieve-pin/retrieve-pin.component\";\nimport { VirtualCardService } from \"src/app/core/services/virtual-card.service\";\nimport { CardFormartPipe } from \"./card-formart.pipe\";\nimport { HotlistCardComponent } from \"./virtual-card-management/hotlist-card/hotlist-card.component\";\nimport { AppMaterialModule } from \"src/app/app.material.module\";\n\n\nconst DEFAULT_SWIPER_CONFIG: SwiperConfigInterface = {\n direction: \"horizontal\",\n slidesPerView: \"auto\",\n};\n@NgModule({\n declarations: [\n VirtualCardComponent,\n VirtualCardManagementComponent,\n VirtualCardRequestComponent,\n RetrievePinComponent,\n CardFormartPipe,\n HotlistCardComponent,\n ],\n imports: [\n CommonModule,\n VirtualCardRoutingModule,\n MatFormFieldModule,\n MatSelectModule,\n MatIconModule,\n MatProgressBarModule,\n MatStepperModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatInputModule,\n MatRadioModule,\n MatCardModule,\n SwiperModule,\n FormsModule,\n MatDialogModule,\n AppMaterialModule\n ],\n providers: [\n {\n provide: SWIPER_CONFIG,\n useValue: DEFAULT_SWIPER_CONFIG,\n },\n VirtualCardService,\n ],\n entryComponents: [],\n})\nexport class VirtualCardModule {}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9haXJ0aW1lL2FpcnRpbWUuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\n airtime works!\\n

\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-airtime',\n templateUrl: './airtime.component.html',\n styleUrls: ['./airtime.component.css']\n})\nexport class AirtimeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".loader-container {\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.loader-container .spinner-holder {\\n padding: 20px 0;\\n}\\n\\n/********** Timeline related syles *******/\\n\\n.timeline-item .timeline-content {\\n position: relative;\\n width: 40%;\\n padding: 0 !important;\\n border-radius: 4px;\\n background: #f5f5f5;\\n box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);\\n min-height: 10em;\\n}\\n\\nvertical-timeline-card .date {\\n background: #3F51B5;\\n display: inline-block;\\n color: #FFFFFF;\\n padding: 10px;\\n position: relative !important;\\n /* top: 0; */\\n /* right: 0; */\\n}\\n\\n.toggleable mat-step-header {\\n -webkit-tap-highlight-color: transparent;\\n cursor: pointer !important;\\n pointer-events: all !important;\\n}\\n\\n.summary-row span {\\n margin-right: 15px;\\n}\\n\\n.summary-row span:last-of-type {\\n margin-right: 1px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FwcHJvdmFsLWhpc3RvcnkvYXBwcm92YWwtaGlzdG9yeS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsb0JBQW9CO0NBQ3ZCOztBQUVEO0lBQ0ksZ0JBQWdCO0NBQ25COztBQUVELDJDQUEyQzs7QUFDM0M7SUFDSSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGlEQUFpRDtJQUNqRCxpQkFBaUI7Q0FDcEI7O0FBQ0Q7SUFDSSxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLGVBQWU7SUFDZixjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGFBQWE7SUFDYixlQUFlO0NBQ2xCOztBQUVEO0lBQ0kseUNBQXlDO0lBQ3pDLDJCQUEyQjtJQUMzQiwrQkFBK0I7Q0FDbEM7O0FBQ0Q7SUFDSSxtQkFBbUI7Q0FDdEI7O0FBQ0Q7SUFDSSxrQkFBa0I7Q0FDckIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYXBwcm92YWwtaGlzdG9yeS9hcHByb3ZhbC1oaXN0b3J5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubG9hZGVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5sb2FkZXItY29udGFpbmVyIC5zcGlubmVyLWhvbGRlciB7XG4gICAgcGFkZGluZzogMjBweCAwO1xufVxuXG4vKioqKioqKioqKiBUaW1lbGluZSByZWxhdGVkIHN5bGVzICoqKioqKiovXG4udGltZWxpbmUtaXRlbSAudGltZWxpbmUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCAyNXB4IC0xNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtaW4taGVpZ2h0OiAxMGVtO1xufVxudmVydGljYWwtdGltZWxpbmUtY2FyZCAuZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogIzNGNTFCNTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAvKiB0b3A6IDA7ICovXG4gICAgLyogcmlnaHQ6IDA7ICovXG59XG5cbi50b2dnbGVhYmxlIG1hdC1zdGVwLWhlYWRlciB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG59XG4uc3VtbWFyeS1yb3cgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuLnN1bW1hcnktcm93IHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbn0iXX0= */\"","module.exports = \"
\\n
\\n

\\n  \\n {{data.title || 'Request Approval History'}}\\n \\n

\\n \\n
\\n
\\n \\n
\\n
{{ownloaderMsg || 'loading approval history'}}
\\n
\\n
0\\\">\\n
\\n
\\n {{_approvalHistorySummary.totalStages}} Approval {{_approvalHistorySummary.totalStages > 1 ? 'stages': 'stage'}}\\n {{_approvalHistorySummary.completedStages}} Complete\\n {{_approvalHistorySummary.pendingStages}} Pending\\n
\\n
\\n {{_approvalHistorySummary.totalApprovals}} {{_approvalHistorySummary.totalApprovals > 1 ? 'Approvals':'Approval'}} Required\\n {{_approvalHistorySummary.completedApprovals}} Complete\\n {{_approvalHistorySummary.pendingApprovals}} Pending\\n
\\n
\\n
\\n
\\n
0\\\">\\n \\n \\n

\\n {{approval.UserId}} \\n \\n {{approval.Status}}\\n \\n

\\n
\\n
\\n
\\n
\\n
0\\\">\\n \\n \\n \\n Stage {{index+1}}: Approval Level - {{stage.Level}} : {{stage.MinimumApprover}} approval(s) Required\\n \\n
\\n \\n \\n

{{approval.UserId}}

\\n \\n {{approval.Status}}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Approval history for this request is empty.
\\n It appears this request has no approvals just yet.
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n \"","import { Component, OnInit, Inject, ViewChild, OnDestroy } from '@angular/core';\nimport { Approval, RequestApprovalStage } from 'src/app/core/models/approvals/payment.approval';\nimport { MatDialogRef, MatSnackBar, MAT_DIALOG_DATA } from '@angular/material';\nimport { ApprovalHistoryDialogData } from 'src/app/core/models/misc-requests-model';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { ApprovalHistoryFactory } from 'src/app/core/services/workflow/approvals.history.service';\nimport { ResponseCodes, Role } from 'src/app/core/models/Enumerations';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { AppUser } from 'src/app/core/models/auth';\nimport { UtilService } from 'src/app/core/services/helpers.service';\n\n@Component({\n selector: 'app-approval-history',\n templateUrl: './approval-history.component.html',\n styleUrls: ['./approval-history.component.css']\n})\nexport class ApprovalHistoryComponent implements OnInit, OnDestroy {\n\n _requestApprovalHistory: Array = [];\n _requestApprovalStages: Array = [];\n _approvalHistorySummary = {\n totalStages: 0,\n completedStages: 0,\n pendingStages: 0,\n totalApprovals: 0,\n completedApprovals: 0,\n pendingApprovals: 0\n };\n ownloaderIsActive: boolean;\n ownloaderMsg: string;\n _requestError: string;\n\n loggedInUser: AppUser;\n loggedInUserIsInitiator: boolean;\n loggedInUserIsApprover: boolean;\n\n constructor(private dialogInstance: MatDialogRef,\n private _snackbar: MatSnackBar, @Inject(MAT_DIALOG_DATA) public data: ApprovalHistoryDialogData,\n private _miscService: MiscService, private _approvalHistoryService: ApprovalHistoryFactory, private _authService: AuthService\n ) {\n this.loggedInUser = _authService.getLoggedInUser();\n this.loggedInUserIsInitiator = this.loggedInUser && this.loggedInUser.Role && this.loggedInUser.Role.roles &&\n this.loggedInUser.Role.roles.includes(Role.Initiator);\n this.loggedInUserIsApprover = this.loggedInUser && this.loggedInUser.Role && this.loggedInUser.Role.roles &&\n this.loggedInUser.Role.roles.includes(Role.Approver);\n if (dialogInstance) {\n UtilService.currentModalRef.push(dialogInstance);\n }\n }\n\n ngOnDestroy(): void {\n //Called once, before the instance is destroyed.\n //Add 'implements OnDestroy' to the class.\n if (this.dialogInstance) {\n this.dialogInstance.close();\n }\n }\n ngOnInit() {\n this.initiatlizeComponent(this.data);\n this.loadRequestApprovalHistory();\n }\n\n private loadRequestApprovalHistory() {\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'fetching .. please wait while we retrieve request approval history ..';\n this._approvalHistoryService.getApprovalHistory(this.data.operationName, this.data.requestPayload)\n .then(\n (response) => {\n console.log(response);\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response || !response.ResponseCode) {\n this._snackbar.open(`We encountered an unknown error while loading approval history. please retry`, 'Ok', { duration: 25000 });\n return;\n }\n if (response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(response.ResponseFriendlyMessage, 'Ok', { duration: 25000 });\n return;\n }\n if (!response.History || !response.History.ApprovalStages) {\n this._snackbar.open(`Could not find approval history for this ${this.data.operationName} );`, 'OK', { duration: 15000 });\n return;\n }\n this._requestApprovalStages = response.History.ApprovalStages;\n this.processApprovalHistory(response.History.ApprovalStages);\n },\n (error) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`Could not load approval history. we encountered an error while loading approval history`,\n 'Ok', { duration: 25000 });\n }\n );\n }\n private initiatlizeComponent(data: ApprovalHistoryDialogData) {\n\n }\n\n private processApprovalHistory(approvalStages: RequestApprovalStage[]) {\n this._requestApprovalHistory = [];\n this._approvalHistorySummary.totalStages = approvalStages.length;\n this._approvalHistorySummary.completedStages = approvalStages.filter(stage => stage.Status.toLowerCase() === 'done').length;\n this._approvalHistorySummary.pendingStages = this._requestApprovalStages.filter(stage => stage.Status.toLowerCase() === 'new' ||\n stage.Status.toLowerCase() === 'active').length;\n this._approvalHistorySummary.totalApprovals = this._requestApprovalStages.length > 0 ?\n this._requestApprovalStages.map(stage => stage.MinimumApprover).reduce((a, b) => a + b) : 0;\n for (let i = 0; i < approvalStages.length; i++) {\n const completedApprovals = approvalStages[i].Approvers.filter(approval => approval.Status.toLowerCase() === 'done');\n this._requestApprovalHistory = this._requestApprovalHistory.concat(completedApprovals);\n }\n this._approvalHistorySummary.completedApprovals = this._requestApprovalHistory.length;\n this._approvalHistorySummary.pendingApprovals = this._approvalHistorySummary.totalApprovals\n - this._approvalHistorySummary.completedApprovals;\n }\n\n onCloseDialog() {\n this.dialogInstance.close(false);\n }\n}\n","module.exports = \".icon {\\n margin-right: 10px;\\n}\\n\\n.primary {\\n background-color: #005CC8 !important;\\n color: white;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n box-sizing: border-box;\\n border-radius: 4px;\\n}\\n\\n.container {\\n margin-top: 20px !important;\\n padding-top: 20px !important;\\n max-height: 220px !important;\\n background: rgba(0, 92, 200, 0.16);\\n /*background-image:url('../../../../assets/img/sitting.jpg');\\n background-repeat: no-repeat;\\n background-position: right; */\\n}\\n\\n.options {\\n width: 500px;\\n height: 100px;\\n left: 774px;\\n top: 446px;\\n background: #FFFFFF;\\n margin-bottom: 20px;\\n padding: 10px;\\n border: 1px solid #005CC8;\\n box-sizing: border-box;\\n border-radius: 4px;\\n}\\n\\n.mat-tab-body-content {\\n height: 100%;\\n overflow: none !important;\\n}\\n\\n.human {\\n position: absolute;\\n left: 70%;\\n right: 2%;\\n top: 20%;\\n bottom: 50%;\\n mix-blend-mode: multiply;\\n}\\n\\n.welcome {\\n font-weight: bolder;\\n font-size: 18px;\\n}\\n\\nul {\\n /* list-style-image: url('../../../../assets/img/Group773.png'); */\\n}\\n\\n.cancel {\\n background-color: white !important;\\n color: #777777;\\n margin-bottom: 30px;\\n margin-top: 30px;\\n background-color: white !important;\\n color: #777777;\\n margin: 20px;\\n border: 1px solid #777777;\\n box-sizing: border-box;\\n border-radius: 4px;\\n}\\n\\n.image {\\n padding-top: 50px;\\n padding-bottom: 50px;\\n}\\n\\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\\n color: rgba(0,0,0,.7) !important;\\n color: #0000007d !important;\\n font-size: 15px !important; \\n}\\n\\n.text-field-color{\\n color: rgba(0,0,0,.9) !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvcnBvcmF0ZS1iaWxsZXItZm9ybXMvY29ycG9yYXRlLWJpbGxlci1keW5hbWljLWZvcm0uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLHFDQUFxQztFQUNyQyxhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQix1QkFBdUI7RUFDdkIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0UsNEJBQTRCO0VBQzVCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsbUNBQW1DO0VBQ25DOzttQ0FFaUM7Q0FDbEM7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsY0FBYztFQUNkLFlBQVk7RUFDWixXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsMEJBQTBCO0VBQzFCLHVCQUF1QjtFQUN2QixtQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxhQUFhO0VBQ2IsMEJBQTBCO0NBQzNCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixVQUFVO0VBQ1YsU0FBUztFQUNULFlBQVk7RUFDWix5QkFBeUI7Q0FDMUI7O0FBRUQ7RUFDRSxvQkFBb0I7RUFDcEIsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0UsbUVBQW1FO0NBQ3BFOztBQUVEO0VBQ0UsbUNBQW1DO0VBQ25DLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLG1DQUFtQztFQUNuQyxlQUFlO0VBQ2YsYUFBYTtFQUNiLDBCQUEwQjtFQUMxQix1QkFBdUI7RUFDdkIsbUJBQW1CO0NBQ3BCOztBQUVEO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtDQUN0Qjs7QUFHRDtFQUNFLGlDQUFpQztFQUNqQyw0QkFBNEI7RUFDNUIsMkJBQTJCO0NBQzVCOztBQUVEO0VBQ0UsaUNBQWlDO0NBQ2xDIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2NvcnBvcmF0ZS1iaWxsZXItZm9ybXMvY29ycG9yYXRlLWJpbGxlci1keW5hbWljLWZvcm0uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVDQzggIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDIyMHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgOTIsIDIwMCwgMC4xNik7XG4gIC8qYmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uLy4uLy4uLy4uL2Fzc2V0cy9pbWcvc2l0dGluZy5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OyAgKi9cbn1cblxuLm9wdGlvbnMge1xuICB3aWR0aDogNTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGxlZnQ6IDc3NHB4O1xuICB0b3A6IDQ0NnB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA1Q0M4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tYXQtdGFiLWJvZHktY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmh1bWFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA3MCU7XG4gIHJpZ2h0OiAyJTtcbiAgdG9wOiAyMCU7XG4gIGJvdHRvbTogNTAlO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG59XG5cbi53ZWxjb21lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG51bCB7XG4gIC8qIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnLi4vLi4vLi4vLi4vYXNzZXRzL2ltZy9Hcm91cDc3My5wbmcnKTsgKi9cbn1cblxuLmNhbmNlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgbWFyZ2luOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Nzc3O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5pbWFnZSB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cblxuXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLC43KSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMDdkICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50OyBcbn1cblxuLnRleHQtZmllbGQtY29sb3J7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLC45KSAhaW1wb3J0YW50O1xufSJdfQ== */\"","module.exports = \"\\n
\\n
\\n
\\n \\n\\n

{{formTitle}}

\\n \\n\\n
\\n
\\n\\n
\\n
\\n \\n \\n\\n \\n {{_formInput.LabelName}}\\n Please enter\\n the 5-digit OTP sent to {{otpNotificationAddress}}\\n\\n
\\n \\n \\n
\\n\\n \\n \\n \\n
\\n\\n\\n \\n \\n \\n
\\n\\n\\n
\\n \\n \\n
\\n\\n\\n
\\n \\n
\\n\\n \\n \\n \\n Avail Bal:\\n {{account.currency}}{{account.availableBalance | number : '1.2-2'}}-{{account.accountNumber}}-{{account.accountType}}\\n \\n \\n
\\n\\n \\n \\n \\n Avail Bal:\\n {{account.currency}}{{account.availableBalance | number : '1.2-2'}}-{{account.accountNumber}}-{{account.accountType}}\\n \\n \\n
\\n\\n\\n\\n 0\\\">\\n \\n \\n {{option.Description}}\\n \\n \\n \\n \\n {{option.Description}}\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n\\n\\n\\n \\n\\n \\n \\n\\n\\n \\n \\n\\n \\n\\n \\n \\n
\\n\"","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n SimpleChanges,\n OnChanges,\n} from \"@angular/core\";\nimport { MatSnackBar } from \"@angular/material\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\nimport {\n FormBuilder,\n FormGroup,\n Validators,\n FormControl,\n} from \"@angular/forms\";\nimport { CustomerAccount } from \"src/app/core/models/account\";\nimport { AuthService } from \"src/app/core/services/auth.service\";\nimport { CorporateBillerCollectionInput } from \"src/app/core/models/payloads/corporate-billers\";\nimport { DecimalPipe } from \"@angular/common\";\n\n@Component({\n selector: \"ng-corporate-biller-dynamic-form\",\n templateUrl: \"./corporate-biller-dynamic-form.component.html\",\n styleUrls: [\"./corporate-biller-dynamic-form.component.css\"],\n})\nexport class CorporateBillerDynamicFormComponent implements OnInit, OnChanges {\n dynamicFormGroup: FormGroup;\n\n @Input() formInputs: CorporateBillerCollectionInput[] = [];\n @Input() accountList: CustomerAccount[] = [];\n @Input() otpNotificationAddress: string = \"\";\n @Input() formTitle: string = \"\";\n @Input() isLastForm: boolean = false; \n @Input() loaderIsActive: boolean = false;\n @Output() formSubmittedEvent = new EventEmitter<\n CorporateBillerCollectionInput[]\n >();\n @Output() showBackBtnEvent = new EventEmitter();\n\n visibleFormInputs: CorporateBillerCollectionInput[] = [];\n\n constructor(\n private _formBuilder: FormBuilder,\n private _snackBar: MatSnackBar,\n private _authService: AuthService,\n private decimalPipe: DecimalPipe\n ) {}\n\n ngOnInit() {\n // this.accountList = VariablesService.CustomerAccounts.filter(\n // (x) => x.debitAllowed == true\n // );\n\n this.InitFormFromCollectionInputs();\n this.visibleFormInputs = this.formInputs.filter((x) => x.Visible);\n if (this.accountList && this.accountList.length > 0) {\n this.accountList = this.accountList.filter((x) => x.debitAllowed);\n }\n\n console.log(this.visibleFormInputs);\n }\n\n InitFormFromCollectionInputs() {\n if (this.formInputs && this.formInputs.length > 0) {\n let group = {};\n\n if(this.dynamicFormGroup){\n this.dynamicFormGroup.reset();\n this.dynamicFormGroup.controls ={};\n }\n \n this.formInputs.forEach((element) => {\n if (\n element.InputType.toLocaleLowerCase() == \"list\" &&\n element.ListItems &&\n element.ListItems.ListItem &&\n element.ListItems.ListItem.length > 0\n ) {\n element.SelectionList = element.ListItems.ListItem;\n }\n\n group[element.Key] = element.Required\n ? new FormControl(\n {\n value: element.Value ? element.Value.trim() : \"\",\n disabled: element.InputType == \"label\",\n \n },\n Validators.required\n )\n : new FormControl({\n value: element.Value ? element.Value.trim() : \"\",\n disabled: element.InputType == \"label\",\n });\n });\n\n this.dynamicFormGroup = new FormGroup(group);\n\n // Nullify error cos of Material\n // for (let cursor in this.dynamicFormGroup.controls) {\n // this.dynamicFormGroup.controls[cursor].setErrors(null);\n // }\n }\n\n console.log(this.dynamicFormGroup)\n }\n\n decimalInputKeyup(formControlName: string) {\n console.log(\"In decimal key up\");\n console.log(formControlName);\n console.log(this.dynamicFormGroup.controls);\n console.log(this.dynamicFormGroup.controls[\"\" + formControlName]);\n\n // Only allow digits on amount alone.\n if (this.dynamicFormGroup.controls[\"\" + formControlName]) {\n let valueEntered = this.dynamicFormGroup.controls[\"\" + formControlName]\n .value;\n\n valueEntered = UtilService.getSanitizedAmount(valueEntered);\n\n this.dynamicFormGroup.controls[\"\" + formControlName].setValue(\n valueEntered\n );\n // console.log(\"ValueEntered\" + valueEntered);\n }\n }\n\n decimalInputFocus(formControlName: string) {\n // console.log(\"In decimal focus\");\n\n console.log(\"In decimal focus\");\n console.log(formControlName);\n console.log(this.dynamicFormGroup.controls);\n console.log(this.dynamicFormGroup.controls[\"\" + formControlName]);\n\n\n if (this.dynamicFormGroup.controls[\"\" + formControlName]) {\n let amountEntered = this.dynamicFormGroup.controls[\"\" + formControlName]\n .value;\n\n if (amountEntered) {\n //remove .00 if exist\n if ((amountEntered as string).indexOf(\".00\") != -1) {\n amountEntered = (amountEntered as string).replace(\".00\", \"\");\n }\n\n amountEntered = amountEntered.replace(/,/g, \"\");\n }\n\n this.dynamicFormGroup.controls[\"\" + formControlName].setValue(\n amountEntered\n );\n\n // console.log(\"Amount entered: \" + amountEntered);\n }\n }\n\n decimalInputBlur(formControlName: string) {\n // console.log(\"In decimal blur\");\n\n console.log(\"In decimal blur\");\n console.log(formControlName);\n console.log(this.dynamicFormGroup.controls);\n console.log(this.dynamicFormGroup.controls[\"\" + formControlName]);\n\n if (this.dynamicFormGroup.controls[\"\" + formControlName]) {\n let amount = 0;\n\n if (this.dynamicFormGroup.controls[\"\" + formControlName]) {\n amount = this.dynamicFormGroup.controls[\"\" + formControlName]\n .value as number;\n }\n\n if (amount > 0) {\n this.dynamicFormGroup.controls[\"\" + formControlName + \"\"].setValue(\n this.decimalPipe.transform(amount, \"1.2-2\")\n );\n }\n // console.log(\"Amount: \" + amount);\n }\n }\n\n submitForm() {\n //console.log(this.dynamicFormGroup);\n // if (!this.dynamicFormGroup.valid) {\n // this._snackBar.open(\"Please fill in all required details\", \"Ok\", {\n // verticalPosition: \"top\",\n // horizontalPosition: \"center\",\n // duration: 1500,\n // });\n // return;\n // }\n \n let fieldsValid = true;\n\n if (this.formInputs && this.formInputs.length > 0) {\n let self = this;\n this.formInputs.forEach((element) => {\n\n if(element.Required == true && self.dynamicFormGroup.controls[\"\" + element.Key] && UtilService.StringIsNullOrEmpty(self.dynamicFormGroup.controls[\"\" + element.Key].value)){\n \n if(element.LabelName.toLowerCase() == \"pin\"){\n this._snackBar.open(\"Please enter your OTP.\", \"Ok\", {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 1500,\n });\n }\n else{\n this._snackBar.open(\"Please enter your \" + element.LabelName.toLowerCase() + \".\", \"Ok\", {\n verticalPosition: \"top\",\n horizontalPosition: \"center\",\n duration: 1500,\n });\n } \n fieldsValid = false; \n }\n \n if(element.InputType.toLowerCase() == \"decimal\"){\n let amountEntered = self.dynamicFormGroup.controls[\"\" + element.Key].value;\n if (amountEntered) {\n //remove .00 if exist\n if ((amountEntered as string).indexOf('.00') != -1) {\n amountEntered = (amountEntered as string).replace('.00', '');\n }\n \n element.Value = amountEntered.replace(/,/g, '');\n }\n }\n else{\n element.Value = self.dynamicFormGroup.controls[\"\" + element.Key].value;\n }\n \n element.IsPinItem = element.InputType.toLowerCase() == \"password\" && element.LabelName.toLowerCase() == \"pin\";\n });\n \n if(fieldsValid == true){\n this.formSubmittedEvent.emit(this.formInputs);\n }\n }\n }\n\n goBack() {\n this.showBackBtnEvent.emit();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes[\"formInputs\"]) {\n this.formInputs = changes[\"formInputs\"].currentValue;\n this.InitFormFromCollectionInputs();\n\n this.visibleFormInputs = this.formInputs.filter((x) => x.Visible);\n }\n\n if (changes[\"isLastForm\"]) {\n this.isLastForm = changes[\"isLastForm\"].currentValue;\n }\n\n if (changes[\"formTitle\"]) {\n this.formTitle = changes[\"formTitle\"].currentValue;\n }\n\n if (changes[\"otpNotificationAddress\"]) {\n this.otpNotificationAddress =\n changes[\"otpNotificationAddress\"].currentValue;\n }\n }\n}\n","\nimport { Pipe, PipeTransform } from \"@angular/core\";\nimport { UtilService } from \"src/app/core/services/helpers.service\";\n\n\n\ndeclare var moment: any;\n\n@Pipe({ name: 'momentFormat' })\nexport class MomentDateFormatPipe implements PipeTransform {\n transform(value: string, format: string) {\n if (!UtilService.StringIsNullOrEmpty(value)) {\n if (value && value.length > 0) {\n return moment(value).format(\"DD MMM 'YY\");\n }\n }\n\n return '';\n }\n}\n \n\n\n\n\n@Pipe({ name: 'htmlDecode' })\nexport class HtmlDecodePipe implements PipeTransform {\n transform(value: string) {\n if (!UtilService.StringIsNullOrEmpty(value)) {\n var e = document.createElement('div');\n e.innerHTML = value;\n return e.childNodes.length === 0 ? \"\" : e.childNodes[0].nodeValue;\n }\n\n return '';\n }\n}\n\n\n\n\n@Pipe({ name: 'AbbreviateBeneficiaryName' })\nexport class BeneficiaryNameAbbreviationPipe implements PipeTransform {\n transform(value: string) {\n if (!UtilService.StringIsNullOrEmpty(value)) {\n\n if (value && value.length > 0) {\n let nonEmptyWordsInArray = value.split(' ').filter(c => c != '');\n if (nonEmptyWordsInArray && nonEmptyWordsInArray.length > 1) {\n return nonEmptyWordsInArray[0][0] + nonEmptyWordsInArray[nonEmptyWordsInArray.length - 1][0];\n }\n\n return nonEmptyWordsInArray[0][0];\n }\n }\n\n return '';\n }\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9kaWFsb2dzL2NhcmQtZXhwaXJ5LW5vdGlmaWNhdGlvbi9jYXJkLWV4cGlyeS1ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\n
\\n

\\n  \\n Card Expiry Notification\\n \\n

\\n \\n
\\n
\\n Dear Customer,
\\n Please be reminded to renew your debit cards before they expire.
\\n The following cards will be expiring soon.\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
AccountCard PANExpires
{{cardConsent.AccountNumber}}{{cardConsent.MaskedPAN}}{{cardConsent.Expiry}}\\n \\n \\n
\\n \\n Do not show this information again \\n \\n
\\n
\\n
\\n
\\n  \\n {{ownloaderMsg || 'processing .. please wait'}}\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\"","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatSnackBar } from '@angular/material';\nimport { CardExpiryNotificationDialogData, CardExpiryConsent } from 'src/app/core/models/misc-requests-model';\nimport { RejectRequestComponent } from '../reject-request/reject-request.component';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { AuthService } from 'src/app/core/services/auth.service';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\n\n@Component({\n selector: 'app-card-expiry-notification',\n templateUrl: './card-expiry-notification.component.html',\n styleUrls: ['./card-expiry-notification.component.css']\n})\nexport class CardExpiryNotificationComponent implements OnInit, OnDestroy {\n\n ownloaderIsActive: boolean;\n ownloaderMsg: string;\n confirmationCheckboxChecked: boolean;\n _expiryNotifications: Array = [];\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: CardExpiryNotificationDialogData,\n private dialogInstance: MatDialogRef, private _snackbar: MatSnackBar, private _miscService: MiscService) {\n this._formatNotificationData();\n this._expiryNotifications = data.consents;\n\n }\n\n ngOnInit() {\n const _data = this.data.consents;\n }\n\n onCloseDialog() {\n this.dialogInstance.close('success');\n }\n\n private _formatNotificationData() {\n if (!this.data.consents || this.data.consents.length < 1) {\n return;\n }\n this.data.consents.forEach(consent => {\n consent.MaskedPAN = consent.MaskedPAN.length <= 4 ? consent.MaskedPAN : consent.MaskedPAN.substr(consent.MaskedPAN.length - 4);\n const expiryDate = consent.Expiry.toString().split('');\n if (expiryDate.length < 4) {\n return;\n }\n const mm = `${expiryDate[2]}${expiryDate[3]}`;\n const yy = `${expiryDate[0]}${expiryDate[1]}`;\n consent.Expiry = `${mm}/${yy}`;\n });\n }\n onConsentToRenew(notification: CardExpiryConsent, consent: string) {\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'initiating card auto-renewal consent request .. please wait';\n this._miscService.consentToCardExpiryAutoRenewal(notification.AccountNumber, consent).subscribe(\n (response) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n if (!response.ResponseCode || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage} .. please retry after some time`);\n return;\n }\n const successful_renewal_index = this.data.consents.indexOf(notification);\n console.log(successful_renewal_index);\n if (successful_renewal_index > -1) {\n this.data.consents = this.data.consents.filter(c => c.MaskedPAN !== notification.MaskedPAN);\n this._expiryNotifications = this.data.consents;\n }\n this._snackbar.open(`Card renewal request sent successfully`, 'Ok', {duration: 25000});\n if (this._expiryNotifications.length < 1) {\n this.dialogInstance.close();\n }\n },\n (error) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while sending card auto-renewal consent request ..\n Please try after some time`, 'OK', {duration: 15000});\n }\n );\n }\n ngOnDestroy(): void {\n if (this.dialogInstance) {\n this.dialogInstance.close();\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9kaWFsb2dzL3JlamVjdC1yZXF1ZXN0L3JlamVjdC1yZXF1ZXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\n
\\n

\\n  \\n {{data.title || 'Approve Payment Request'}}\\n \\n

\\n \\n \\n \\n Confirm Action\\n
\\n
\\n
\\n Please confirm that you want to reject this request\\n
\\n \\n Note that you can not undo this action, once it is completed. Do you want to continue?\\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n Verify OTP\\n
\\n Confirm OTP\\n

Please enter the One Time Pin sent to you to continue

\\n \\n One Time Pin\\n \\n \\n
\\n
\\n \\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n Confirm Hardware Token\\n
\\n \\n Please provide the hardware token number below\\n \\n
\\n \\n Token \\n \\n \\n
\\n
Verify\\n
\\n
  \\n \\n\\n
\\n\\n
\\n   \\n loading... please wait\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n Complete\\n
\\n
\\n check_circle\\n
Success
\\n Payment transaction approved.\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n {{ownloaderMsg}}\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, Inject, ViewChild, OnDestroy } from '@angular/core';\nimport { MatDialogRef, MatSnackBar, MAT_DIALOG_DATA, MatStepper } from '@angular/material';\nimport { RequestRejectionDialogData, RequestApprovalRejectionPayload } from 'src/app/core/models/misc-requests-model';\nimport { MiscService } from 'src/app/core/services/misc.service';\nimport { OtpReasonCodes, OTPType, ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { ApprovalHistoryFactory } from 'src/app/core/services/workflow/approvals.history.service';\nimport { VariablesService } from 'src/app/core/services/variables.service';\nimport { PensionService } from 'src/app/core/services/pension.service';\n\n@Component({\n selector: 'app-reject-request',\n templateUrl: './reject-request.component.html',\n styleUrls: ['./reject-request.component.css']\n})\nexport class RejectRequestComponent implements OnInit, OnDestroy {\n\n ownloaderIsActive: boolean;\n ownloaderMsg: string;\n firstStepperTabIsActive: boolean = true;\n _otpReferenceId: string;\n oneTimePassCode: string;\n\n @ViewChild('stepper') _activeStepper: MatStepper;\n isCustomerHWTEnabled: boolean;\n isOTPStepperVisible: boolean;\n hwtFormGroup:FormGroup;\n constructor(private dialogInstance: MatDialogRef,\n private _snackbar: MatSnackBar, @Inject(MAT_DIALOG_DATA) public data: RequestRejectionDialogData,\n private formBuilder:FormBuilder,\n private _miscService: MiscService, private _approvalService: ApprovalHistoryFactory,private pensionApprovalService:PensionService\n ) {\n\n this.hwtFormGroup = formBuilder.group({\n hwt: ['', Validators.required]\n });\n }\n\n ngOnInit() {\n this.isCustomerHWTEnabled = VariablesService.CustomerHWTEnabled;\n // this.isCustomerHWTEnabled = true;\n if (this.isCustomerHWTEnabled) {\n this.isOTPStepperVisible = false;\n } else {\n this.isOTPStepperVisible = true;\n }\n\n }\n\n returnToOTPStepper(){\n if (!this.data.payload.RejectionMessage || this.data.payload.RejectionMessage.length < 2) {\n this._snackbar.open('Please provide a valid rejection message ..', 'Ok', { duration: 45000 });\n return;\n }\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC).then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownloaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate request reject process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Ok', { duration: 25000 }).onAction();\n return;\n }\n var hardwareTokenStepper = document.getElementById('hardwareTokenStepper');\n hardwareTokenStepper.style.display = 'none';\n this.isOTPStepperVisible = true;\n this._otpReferenceId = response.ResponseDescription;\n },\n (error) => {\n console.log(error);\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n }\n onInitiRejectionRequestOTP() {\n if (!this.data.payload.RejectionMessage || this.data.payload.RejectionMessage.length < 2) {\n this._snackbar.open('Please provide a valid rejection message ..', 'Ok', { duration: 45000 });\n return;\n }\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'initiating .. please wait';\n this._miscService.initiateOtpRequest(OtpReasonCodes.GENERIC).then(\n (response) => {\n console.log(response);\n this.ownloaderMsg = '';\n this.ownloaderIsActive = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackbar.open(`Failed to initiate request reject process. Server responded with -> ${response.ResponseFriendlyMessage}`,\n 'Ok', { duration: 25000 }).onAction();\n return;\n }\n this._otpReferenceId = response.ResponseDescription;\n this._activeStepper.next();\n this.firstStepperTabIsActive = this._activeStepper.selectedIndex === 0;\n },\n (error) => {\n console.log(error);\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`We encountered an error while processing your request. please retry`, 'Ok', { duration: 25000 });\n }\n );\n\n }\n\n onVerifyRejectionRequesOTP(form: NgForm, stepper: MatStepper, useHardwareToken:boolean) {\n \n if (useHardwareToken) {\n if (!this.hwtFormGroup.valid || !this.hwtFormGroup.controls.hwt) {\n this._snackbar.open(`Please provide a valid token number`, 'Ok', { duration: 25000 });\n return;\n }\n }\n if (!form.valid) {\n this._snackbar.open(`Invalid One Time Pin provided. Please provide a valid OTP to continue`, 'Ok',\n { duration: 10000 });\n return;\n }\n if(this.data.payload.OperationType && this.data.payload.OperationType === 'PENSION_REMITTANCE'){\n this.sendPensionRemittanceRejectRequest(stepper);\n return;\n }\n this.sendRejectionRequest(stepper);\n }\n\n private sendPensionRemittanceRejectRequest(stepper: MatStepper){\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'verifying OTP .. please wait';\n const payload = {\n // userId: this.oneTimePassCode,\n fileId: this.data.payload.OperationId,\n rejectionMessage: this.data.payload.RejectionMessage,\n otp: this.oneTimePassCode,\n otpReference: this._otpReferenceId\n };\n this.pensionApprovalService.rejectPendingPaymentRequest(payload).subscribe(\n (response) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n console.log(response);\n if (response && response.ResponseCode === ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseDescription}`, 'Ok', { duration: 20000 });\n stepper.next();\n this.dialogInstance.close('success');\n }\n },\n (error) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`An error occured while rejecting request .. Please try after some time`, 'Ok', { duration: 30000 });\n }\n );\n }\n private sendRejectionRequest(stepper: MatStepper) {\n this.ownloaderIsActive = true;\n this.ownloaderMsg = 'verifying OTP .. please wait';\n const payload: RequestApprovalRejectionPayload = {\n RejectionMessage: this.oneTimePassCode,\n OperationId: this.data.payload.OperationId,\n OperationType: this.data.payload.OperationType,\n OTP: this.oneTimePassCode,\n SourceReferenceId: this._otpReferenceId,\n OTPType:0\n };\n if(!this.isOTPStepperVisible){\n payload[\"OTP\"]= this.hwtFormGroup.controls.hwt.value;\n payload[\"OTPType\"] = OTPType.HWT;\n }\n else{\n payload[\"OTPType\"] = !this.isOTPStepperVisible ? OTPType.HWT : this.isOTPStepperVisible ? OTPType.OTP : OTPType.NONE;\n payload[\"OTP\"]= !this.isOTPStepperVisible ? this.hwtFormGroup.controls.hwt.value : this.oneTimePassCode;\n }\n this._approvalService.rejectApprovalRequest(payload).then(\n (response) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n // console.log(response);\n if (response && response.ResponseCode === ResponseCodes.SUCCESS) {\n this._snackbar.open(`${response.ResponseFriendlyMessage}`, 'Ok', { duration: 20000 });\n stepper.next();\n // this.dialogInstance.close('success');\n }\n },\n (error) => {\n this.ownloaderIsActive = false;\n this.ownloaderMsg = '';\n this._snackbar.open(`An error occured while rejecting request .. Please try after some time`, 'Ok', { duration: 30000 });\n }\n );\n }\n\n onCloseDialog() {\n this.dialogInstance.close('success');\n }\n\n\n ngOnDestroy(): void {\n if (this.dialogInstance) {\n this.dialogInstance.close();\n }\n }\n}\n","module.exports = \".your-bvn-number {\\n font-size: 24px;\\n font-weight: bold;\\n line-height: 24px;\\n \\n width: 100%;\\n height: 24px;\\n \\n color: #000000;\\n}\\n\\n.maindiv {\\n overflow: auto;\\n}\\n\\n.your-bvn {\\n color: #000000;\\n font-size: 14px; \\n line-height: 14px;\\n font-weight: normal;\\n width: 100%;\\n \\n}\\n\\n.bvn-number {\\n \\n width: 238px;\\n font-style: normal;\\n font-weight: bold;\\n font-size: 32px;\\n line-height: 32px;\\n color: #000000;\\n}\\n\\n.copy-bvn {\\n \\n background: rgba(0, 92, 200, 0.12);\\n border-radius: 4px;\\n border:0;\\n box-shadow: none;\\n color:#005CC8;\\n}\\n\\n.close-btn {\\n background: #FFFFFF;\\n border: 1px solid #777777;\\n box-sizing: border-box;\\n border-radius: 4px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2RpYWxvZ3Mvc2hvdy1idm4tbnVtYmVyL3Nob3ctYnZuLW51bWJlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7O0lBRWxCLFlBQVk7SUFDWixhQUFhOztJQUViLGVBQWU7Q0FDbEI7O0FBRUQ7SUFDSSxlQUFlO0NBQ2xCOztBQUdEO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLFlBQVk7O0NBRWY7O0FBRUQ7O0lBRUksYUFBYTtLQUNaLG1CQUFtQjtJQUNwQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2xCOztBQUVEOztJQUVJLG1DQUFtQztJQUNuQyxtQkFBbUI7SUFDbkIsU0FBUztJQUNULGlCQUFpQjtJQUNqQixjQUFjO0NBQ2pCOztBQUVEO09BQ08sb0JBQW9CO0lBQ3ZCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsbUJBQW1CO0NBQ3RCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2RpYWxvZ3Mvc2hvdy1idm4tbnVtYmVyL3Nob3ctYnZuLW51bWJlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnlvdXItYnZuLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjRweDtcbiAgIFxuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ubWFpbmRpdiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLnlvdXItYnZuIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IFxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgICAgXG59XG5cbi5idm4tbnVtYmVyIHtcbiAgIFxuICAgIHdpZHRoOiAyMzhweDtcbiAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLmNvcHktYnZuIHtcbiAgICAgICAgXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCA5MiwgMjAwLCAwLjEyKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOjA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjojMDA1Q0M4O1xufVxuXG4uY2xvc2UtYnRuIHtcbiAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59Il19 */\"","module.exports = \"
\\n
\\n
\\n \\n \\n Your {{mode}} Number\\n
\\n

Protecting your {{mode}} is important to us

\\n \\n
\\n
\\n
\\n
\\n

{{customerBvn}}


\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n     \\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\"","import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { Component, Inject } from \"@angular/core\";\nimport { VerifyAccountUserComponent } from '../verify-account-user/verify-account-user.component';\n\n@Component({\n selector:'app-show-bvn-number',\n templateUrl:'./show-bvn-number.component.html',\n styleUrls:['./show-bvn-number.component.css']\n})\nexport class ShowBvnNumberComponent {\n customerBvn: string;\n mode:any\n constructor(private _dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data:any) \n {\n \n //console.log(\"BVN\" + data)\n this.customerBvn = data.data;\n this.mode = data.mode\n }\n\n\n closeDialog() {\n this._dialogRef.close();\n }\n\n copyToClipboard(item): void {\n let listener = (e: ClipboardEvent) => {\n console.log(e)\n e.clipboardData.setData('text/plain', (item));\n e.preventDefault();\n };\n \n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n }\n}","module.exports = \".verify-account-user {\\n font-size: 24px;\\n font-weight: bold;\\n line-height: 24px;\\n width: 100%;\\n height: 2.4%;\\n color: #000000;\\n}\\n\\n.maindiv {\\n overflow: auto;\\n}\\n\\n.sending_otp {\\n \\n position: fixed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n}\\n\\n.your-bvn {\\n color: #000000;\\n font-size: 14px; \\n line-height: 14px;\\n font-weight: normal;\\n \\n width:100%;\\n \\n \\n}\\n\\n.enter-otp {\\n font-weight: bold;\\n font-style: normal;\\n font-weight: bold;\\n font-size: 14px;\\n line-height: 14px;\\n color: #000000;\\n\\n}\\n\\n.enter-otp-textbox {\\n position: inherit;\\n top:20px;\\n width: 700px;\\n border-bottom-color: blue !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2RpYWxvZ3MvdmVyaWZ5LWFjY291bnQtdXNlci92ZXJpZnktYWNjb3VudC11c2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7Q0FDbEI7O0FBRUQ7SUFDSSxlQUFlO0NBQ2xCOztBQUVEOztJQUVJLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsU0FBUztJQUNULGlDQUFpQzs7Q0FFcEM7O0FBQ0Q7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixvQkFBb0I7O0lBRXBCLFdBQVc7OztDQUdkOztBQUVEO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlOztDQUVsQjs7QUFFRDtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsYUFBYTtJQUNiLHFDQUFxQztDQUN4QyIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9kaWFsb2dzL3ZlcmlmeS1hY2NvdW50LXVzZXIvdmVyaWZ5LWFjY291bnQtdXNlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnZlcmlmeS1hY2NvdW50LXVzZXIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuNCU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5tYWluZGl2IHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnNlbmRpbmdfb3RwIHtcbiAgXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBcbn1cbi55b3VyLWJ2biB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4OyBcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIFxuICAgIHdpZHRoOjEwMCU7XG4gICBcbiAgICBcbn1cblxuLmVudGVyLW90cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcblxufVxuXG4uZW50ZXItb3RwLXRleHRib3gge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgIHRvcDoyMHB4O1xuICAgIHdpZHRoOiA3MDBweDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBibHVlICFpbXBvcnRhbnQ7XG59XG4iXX0= */\"","module.exports = \"
\\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n \\n Your BVN is now securely protected. Input the OTP sent to you\\n \\n\\n
\\n
\\n\\n\\n
\\n
\\n
\\n\\n
\\n
Enter OTP
\\n
\\n \\n
\\n \\n
\\n \\n
\\n\\n\\n
\\n \\n
\\n Resend in\\n {{_minutes}}:{{_seconds}}\\n \\n Resend OTP\\n
\\n\\n
\\n
\\n
\\n
\\n\\n \\n \\n      \\n \\n
\\n \\n\\n
\\n
\\n
\\n\\n\\n\\n\\n
\\n\"","import { AuthService } from './../../../core/services/auth.service';\nimport { GetAuthorizedBvn } from './../../../core/models/getAuthorizedBvn';\nimport { MiscService } from './../../../core/services/misc.service';\nimport { ShowBvnNumberComponent } from './../show-bvn-number/show-bvn-number.component';\nimport { Validators } from '@angular/forms';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\nimport { Component, Inject, OnDestroy, OnInit } from \"@angular/core\";\nimport { Constants } from 'src/app/core/helpers/appConstants';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Observable, interval } from 'rxjs';\n\n@Component({\n selector:'app-verify-account-user',\n templateUrl: './verify-account-user.component.html',\n styleUrls: ['./verify-account-user.component.css']\n})\nexport class VerifyAccountUserComponent implements OnInit, OnDestroy {\n txtOtp:string= \"\";\n otpForm: FormGroup;\n _showBvnDialogRef;\n sending:boolean = false;\n formValid:boolean = false;\n requestOngoing = false;\n _minutes;\n _seconds;\n sendingOtp:boolean = true;\n _mode:any;\n \n constructor(private dialogRef: MatDialogRef,\n private misc: MiscService,\n private _snackBar: MatSnackBar,\n private _dialog: MatDialog, @Inject(MAT_DIALOG_DATA) public data:any) \n {\n this.otpForm = new FormGroup({\n otp: new FormControl('', [Validators.required]),\n otpReference: new FormControl('')\n });\n this._mode = this.data == 'NIN' ? 'NIN': 'BVN';\n }\n ngOnDestroy(): void {\n if(this.dialogRef) {\n this.dialogRef.close();\n }\n }\n\n startTimer() {\n var timer = 120;\n var minutes;\n var seconds;\n\n const sub = interval(1000).subscribe(x => {\n minutes = Math.floor(timer / 60);\n seconds = Math.floor(timer % 60);\n\n minutes = minutes < 10 ? \"0\" + minutes : minutes;\n seconds = seconds < 10 ? \"0\" + seconds : seconds;\n this._minutes = minutes;\n this._seconds = seconds;\n //display.textContent = minutes + \":\" + seconds;\n\n --timer;\n if (--timer < 0) {\n // console.log('timeup');\n this.sending = false;\n sub.unsubscribe()\n }\n })\n }\n\n resendOtp() {\n const reasonCode = \"20\";\n const reasonDescription = \"Show BVN\";\n const self = this;\n this.sendingOtp = true;\n this.sendOtp(reasonCode, reasonDescription);\n \n }\n\n sendOtp(reasonCode:string, reasonDescription:string) {\n // this.canResend = !this.canResend;\n this.misc.initiateOtpRequest(reasonCode, reasonDescription)\n .then((response)=>{\n this.sending = true;\n //console.log(\"otp\", response)\n this.sendingOtp = false;\n if(this.sending == true) {\n if(response[\"ResponseCode\"] == \"00\") {\n this.get('otpReference').setValue(response[\"ResponseDescription\"]);\n this.startTimer();\n }\n else {\n this.dialogRef.close('otp sending failed')\n this.sending = false;\n this.sendingOtp = false;\n this._snackBar.open(response[\"ResponseDescription\"], \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 3500,\n });\n \n }\n \n }\n // ResponseDescription\n \n }).catch((er)=>{\n this.dialogRef.close('otp sending failed')\n this.sendingOtp = false;\n this._snackBar.open(Constants.APITechnicalErrorMessage, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 3500,\n });\n \n })\n }\n ngOnInit(): void {\n //throw new Error('Method not implemented.');\n const reasonCode = \"20\";\n const reasonDescription = \"Show BVN\";\n const self = this;\n this.sendOtp(reasonCode, reasonDescription);\n \n }\n\n submitOtp() {\n this.formValid = this.isFormFieldValid('otp');\n // console.log(this.otpForm)\n if(this.formValid) {\n this.requestOngoing = true;\n const sessionId = Math.ceil(Math.random()*10000000).toString();\n const payload: GetAuthorizedBvn = {\n sessionId,\n userId:AuthService.FullyAuthenticatedUser.UserId,\n otp: this.get('otp').value,\n otpReference:this.get('otpReference').value,\n cifid:AuthService.FullyAuthenticatedUser.CifId\n }\n // console.log(payload)\n\n this.misc.getAuthorizedBVN(payload).then((response)=>{\n //console.log(\"validate otp\", response);\n this.requestOngoing = false;\n this.dialogRef.close();\n this.showBvnNumber(response, this._mode);\n }).catch((er: HttpErrorResponse)=>{\n console.log(er)\n this.requestOngoing = false;\n const errormessge = er.status == 400 ? er[\"error\"][\"Message\"] : Constants.APITechnicalErrorMessage\n this._snackBar.open(errormessge, \"Ok\", {\n verticalPosition: \"bottom\",\n horizontalPosition: \"right\",\n duration: 1500,\n });\n })\n \n }\n\n return;\n }\n\n cancelDialog() {\n this.dialogRef.close('cancelled');\n }\n\n isFormFieldValid(formFieldname) {\n const formControl = this.get(formFieldname);\n return formControl.touched && formControl.valid\n }\n\n get(keyname: string) {\n return this.otpForm.get(keyname) as FormControl;\n }\n showBvnNumber(data, mode) {\n \n this._showBvnDialogRef = this._dialog.open(ShowBvnNumberComponent, {\n hasBackdrop:true,\n disableClose:true,\n width:'434px',\n height:'302px',\n data:{data, mode}\n \n })\n }\n\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9yb3ctY29tcG9uZW50L2ZpbGUtdXBsb2FkLWNvbXBvbmVudC9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n
\\n\\n
\\n \\n\\n
\\n
\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css']\n})\nexport class FileUploadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9yb3ctY29tcG9uZW50L3Jvdy9yb3cuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n
\\n\\n
\\n \\n\\n
\\n
\\n \\n\\n
\\n
\\n \\n\\n
\\n
\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-row',\n templateUrl: './row.component.html',\n styleUrls: ['./row.component.css']\n})\nexport class RowComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"#sessionTimeoutWrapper {\\n display: table-cell;\\n vertical-align: middle;\\n background: rgba(250, 250, 250, .85);\\n width: 100%;\\n z-index: 1000000\\n}\\n\\n#sessionTimeoutWrapper div.ng-modal {\\n width: 60%;\\n border: none !important;\\n box-shadow: none !important;\\n background: transparent !important\\n}\\n\\n.session-timer-count {\\n color: #666;\\n font-size: 24px;\\n text-align: center;\\n margin-top: 20px;\\n font-family: HelveticaNeue-Bold, 'Libre Franklin'\\n}\\n\\n@media only screen and (max-width:40em) {\\n #sessionTimeoutWrapper {\\n display: table-cell;\\n vertical-align: middle;\\n background: rgba(250, 250, 250, .85);\\n width: 100%;\\n z-index: 1000000\\n }\\n\\n #sessionTimeoutWrapper div.ng-modal {\\n width: 100%;\\n border: none !important;\\n box-shadow: none !important;\\n background: transparent !important\\n }\\n}\\n\\n.ng-modal-bg {\\n background: 0 0;\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n z-index: 1004;\\n left: 0;\\n}\\n\\n.ng-modal {\\n width: 60%;\\n border: none !important;\\n box-shadow: none !important;\\n background: transparent !important;\\n}\\n\\n.dashb-created-check-icon {\\n\\n text-align: center;\\n width: 100%;\\n font-size: 40px;\\n color: #5fa33b;\\n margin-bottom: 15px;\\n}\\n\\n.dashboard-created-heading {\\n font-size: 35px;\\n color: #333;\\n font-family: 'Libre Franklin';\\n text-align: center;\\n}\\n\\n.dashboard-created-info {\\n font-size: 14px;\\n color: #333;\\n font-family: 'Libre Franklin';\\n text-align: center;\\n margin-top: 20px;\\n}\\n\\n.session-timer-count {\\n color: #666;\\n font-size: 24px;\\n text-align: center;\\n margin-top: 20px;\\n font-family: 'Libre Franklin';\\n}\\n\\n.session-timer-count {\\n color: #666;\\n font-size: 24px;\\n text-align: center;\\n margin-top: 20px;\\n font-family: 'Libre Franklin';\\n}\\n\\n.right {\\n float: right !important;\\n}\\n\\n.left {\\n float: left !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3Nlc3Npb24tdGltZW91dC9zZXNzaW9uLXRpbWVvdXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIscUNBQXFDO0VBQ3JDLFlBQVk7RUFDWixnQkFBZ0I7Q0FDakI7O0FBRUQ7RUFDRSxXQUFXO0VBQ1gsd0JBQXdCO0VBQ3hCLDRCQUE0QjtFQUM1QixrQ0FBa0M7Q0FDbkM7O0FBRUQ7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsaURBQWlEO0NBQ2xEOztBQUVEO0VBQ0U7SUFDRSxvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLHFDQUFxQztJQUNyQyxZQUFZO0lBQ1osZ0JBQWdCO0dBQ2pCOztFQUVEO0lBQ0UsWUFBWTtJQUNaLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0dBQ25DO0NBQ0Y7O0FBR0Q7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxVQUFVO0VBQ1YsU0FBUztFQUNULGNBQWM7RUFDZCxRQUFRO0NBQ1Q7O0FBSUQ7RUFDRSxXQUFXO0VBQ1gsd0JBQXdCO0VBQ3hCLDRCQUE0QjtFQUM1QixtQ0FBbUM7Q0FDcEM7O0FBSUQ7O0VBRUUsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLG9CQUFvQjtDQUNyQjs7QUFHRDtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osK0JBQStCO0VBQy9CLG1CQUFtQjtDQUNwQjs7QUFHRDtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osK0JBQStCO0VBQy9CLG1CQUFtQjtFQUNuQixpQkFBaUI7Q0FDbEI7O0FBR0Q7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsK0JBQStCO0NBQ2hDOztBQUdEO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLCtCQUErQjtDQUNoQzs7QUFFRDtFQUNFLHdCQUF3QjtDQUN6Qjs7QUFFRDtFQUNFLHVCQUF1QjtDQUN4QiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9zZXNzaW9uLXRpbWVvdXQvc2Vzc2lvbi10aW1lb3V0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjc2Vzc2lvblRpbWVvdXRXcmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDI1MCwgMjUwLCAuODUpO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMFxufVxuXG4jc2Vzc2lvblRpbWVvdXRXcmFwcGVyIGRpdi5uZy1tb2RhbCB7XG4gIHdpZHRoOiA2MCU7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbn1cblxuLnNlc3Npb24tdGltZXItY291bnQge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2FOZXVlLUJvbGQsICdMaWJyZSBGcmFua2xpbidcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQwZW0pIHtcbiAgI3Nlc3Npb25UaW1lb3V0V3JhcHBlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyNTAsIDI1MCwgLjg1KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwXG4gIH1cblxuICAjc2Vzc2lvblRpbWVvdXRXcmFwcGVyIGRpdi5uZy1tb2RhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbiAgfVxufVxuXG5cbi5uZy1tb2RhbC1iZyB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDQ7XG4gIGxlZnQ6IDA7XG59XG5cblxuXG4ubmctbW9kYWwge1xuICB3aWR0aDogNjAlO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5cblxuLmRhc2hiLWNyZWF0ZWQtY2hlY2staWNvbiB7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjogIzVmYTMzYjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuXG4uZGFzaGJvYXJkLWNyZWF0ZWQtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiAgJ0xpYnJlIEZyYW5rbGluJztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi5kYXNoYm9hcmQtY3JlYXRlZC1pbmZvIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1mYW1pbHk6ICAnTGlicmUgRnJhbmtsaW4nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cblxuLnNlc3Npb24tdGltZXItY291bnQge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiAgJ0xpYnJlIEZyYW5rbGluJztcbn1cblxuXG4uc2Vzc2lvbi10aW1lci1jb3VudCB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC1mYW1pbHk6ICAnTGlicmUgRnJhbmtsaW4nO1xufVxuXG4ucmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuIl19 */\"","module.exports = \"\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
Are you still banking?
\\n
\\n

You have not interacted with this website for a while.

\\n

To protect your internet banking account, you will be automatically logged out\\n in:

\\n
\\n
{{timeoutSecondLabel}} Seconds
\\n \\n
\\n\\n \\n\\n\\n\\n\\n
\\n
\\n \\n
\\n\\n
\\n \\n   Clearing your session... Please\\n wait.\\n
\\n
\\n
\\n
\\n
\\n\\n\"","\n\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { EventHandlerService } from 'src/app/core/services/EventHandlerService';\nimport { Constants } from '../../core/helpers/appConstants';\nimport { AuthService } from '../../core/services/auth.service';\nimport { VariablesService } from '../../core/services/variables.service';\nimport { RouterConstants } from '../../core/helpers/routerConstants';\n\n\n\nfunction _window(): any {\n return window;\n}\n\ndeclare var $: any;\n\n\n@Component({\n selector: 'app-session-timeout',\n templateUrl: './session-timeout.component.html',\n styleUrls: ['./session-timeout.component.css']\n})\nexport class SessionTimeoutComponent implements OnInit, OnDestroy {\n\n\n // sessionTimeoutInterval: any;\n // sessionTimeoutSub: any;\n showSessionTimeoutPopup: boolean;\n timeoutSecondLabel: number;\n // timeoutID: any;\n\n\n constructor(private authService: AuthService, private router: Router) {\n this.setupAutoLogout();\n }\n\n ngOnInit() {\n this.SetupTimeout();\n }\n\n keepBanking() {\n let self = this;\n this.showSessionTimeoutPopup = false;\n\n if (VariablesService.SessionTimeoutInterval) {\n _window().clearInterval(VariablesService.SessionTimeoutInterval);\n }\n\n self.setupAutoLogout();\n }\n\n\n\n setupAutoLogout() {\n\n let self = this;\n\n\n if ($('body').off) {\n $('body').off(\"mousemove\");\n $('body').off(\"mousedown\");\n $('body').off(\"keypress\");\n $('body').off(\"DOMMouseScroll\");\n $('body').off(\"mousewheel\");\n $('body').off(\"touchmove\");\n $('body').off(\"MSPointerMove\");\n $('body').off(\"pointermove\");\n $('body').off(\"keyup\");\n $('body').off(\"keydown\");\n }\n else if ($('body').unbind) {\n $('body').unbind(\"mousemove\");\n $('body').unbind(\"mousedown\");\n $('body').unbind(\"keypress\");\n $('body').unbind(\"DOMMouseScroll\");\n $('body').unbind(\"mousewheel\");\n $('body').unbind(\"touchmove\");\n $('body').unbind(\"MSPointerMove\");\n $('body').unbind(\"pointermove\");\n $('body').unbind(\"keyup\");\n $('body').unbind(\"keydown\");\n\n }\n\n\n if (VariablesService.SessionTimeoutEventId) {\n _window().clearTimeout(VariablesService.SessionTimeoutEventId);\n }\n\n if ($.on) {\n\n $('body').on(\"mousemove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"mousedown\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"keypress\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"keydown\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"keyup\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"DOMMouseScroll\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"mousewheel\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"touchmove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"MSPointerMove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').on(\"pointermove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n\n }\n else if ($.bind) {\n\n\n $('body').bind(\"mousemove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"mousedown\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"keypress\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"DOMMouseScroll\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"mousewheel\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"touchmove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n\n $('body').bind(\"MSPointerMove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n\n $('body').bind(\"pointermove\", function () {\n self.resetAutoLogoutTimer(self);\n });\n\n $('body').bind(\"keydown\", function () {\n self.resetAutoLogoutTimer(self);\n });\n $('body').bind(\"keyup\", function () {\n self.resetAutoLogoutTimer(self);\n });\n }\n\n self.startAutoLogoutTimer();\n }\n\n\n startAutoLogoutTimer() {\n let self = this;\n VariablesService.SessionTimeoutEventId = _window().setTimeout(function () {\n\n EventHandlerService.emitSessionTimeoutEvent();\n\n self.stopAutoLogout();\n }, Constants.AUTO_LOGOUT_TIME_IN_MILLISEC);\n }\n\n stopAutoLogout() {\n\n let self = this;\n if ($('body').off) {\n $('body').off(\"mousemove\");\n $('body').off(\"mousedown\");\n $('body').off(\"keypress\");\n $('body').off(\"DOMMouseScroll\");\n $('body').off(\"mousewheel\");\n $('body').off(\"touchmove\");\n $('body').off(\"MSPointerMove\");\n $('body').off(\"pointermove\");\n }\n else if ($('body').unbind) {\n $('body').unbind(\"mousemove\");\n $('body').unbind(\"mousedown\");\n $('body').unbind(\"keypress\");\n $('body').unbind(\"DOMMouseScroll\");\n $('body').unbind(\"mousewheel\");\n $('body').unbind(\"touchmove\");\n $('body').unbind(\"MSPointerMove\");\n $('body').unbind(\"pointermove\");\n }\n\n if (VariablesService.SessionTimeoutEventId) {\n _window().clearTimeout(VariablesService.SessionTimeoutEventId);\n }\n }\n\n\n resetAutoLogoutTimer(self: SessionTimeoutComponent) {\n _window().clearTimeout(VariablesService.SessionTimeoutEventId);\n self.startAutoLogoutTimer();\n }\n\n\n\n SetupTimeout() {\n let self = this;\n VariablesService.SessionTimedOutSub = EventHandlerService.SessionTimeoutEventPublisher\n .subscribe((object) => {\n\n self.showSessionTimeoutPopup = true;\n\n self.timeoutSecondLabel = Constants.SESSION_LOGOUT_COUNTER;\n\n VariablesService.SessionTimeoutInterval = setInterval(function () {\n\n self.timeoutSecondLabel -= 1;\n\n if (self.timeoutSecondLabel < 1) {\n if (VariablesService.SessionTimeoutInterval) {\n _window().clearInterval(VariablesService.SessionTimeoutInterval);\n }\n\n VariablesService.SessionTimedOut = true;\n // self.authService.logout();\n\n if (VariablesService.SessionTimedOutSub) {\n VariablesService.SessionTimedOutSub.unsubscribe();\n }\n\n VariablesService.SessionTimedOut = true;\n\n // self.router.navigate([RouterConstants.LoginURL]);\n self.logoutFromSessionTimeout();\n }\n\n\n }, 1000);\n });\n }\n\n\n logoutFromSessionTimeout() {\n let self = this;\n\n this.clearingSession = true;\n this.authService.LogoutRequest(AuthService.FullyAuthenticatedUser.UserId\n ).subscribe(response => {\n\n self.clearingSession = false;\n self.authService.logout();\n self.router.navigate([RouterConstants.LoginURL]);\n return;\n }),\n (error: any) => {\n self.clearingSession = false;\n self.authService.logout();\n self.router.navigate([RouterConstants.LoginURL]);\n };\n }\n\n clearingSession: boolean;\n logout() {\n // this.authService.logout();\n // this.destroySessionTimeout();\n // this.router.navigate([RouterConstants.LoginURL]);\n\n\n let self = this;\n this.clearingSession = true;\n\n this.authService.LogoutRequest(AuthService.FullyAuthenticatedUser.UserId\n ).subscribe(response => {\n this.clearingSession = false;\n self._logout();\n return;\n }),\n (error: any) => {\n self.clearingSession = false;\n self._logout();\n };\n }\n\n _logout() {\n this.authService.logout();\n this.destroySessionTimeout();\n this.router.navigate([RouterConstants.LoginURL]);\n }\n\n ClearLoginSession() {\n\n let self = this;\n this.clearingSession = true;\n\n self.authService.LogoutRequestPromise(AuthService.FullyAuthenticatedUser.UserId)\n .then(\n response => {\n this.clearingSession = false;\n self._logout();\n\n },\n error => {\n self.clearingSession = false;\n self._logout();\n }\n );\n }\n\n\n\n destroySessionTimeout() {\n\n if (VariablesService.SessionTimeoutInterval) {\n _window().clearInterval(VariablesService.SessionTimeoutInterval);\n }\n\n if (VariablesService.SessionTimedOutSub) {\n VariablesService.SessionTimedOutSub.unsubscribe();\n }\n\n if (VariablesService.SessionTimeoutEventId) {\n _window().clearTimeout(VariablesService.SessionTimeoutEventId);\n }\n\n }\n\n ngOnDestroy() {\n this.destroySessionTimeout();\n }\n}\n","import { ShowBvnNumberComponent } from \"./dialogs/show-bvn-number/show-bvn-number.component\";\nimport { VerifyAccountUserComponent } from \"./dialogs/verify-account-user/verify-account-user.component\";\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule, DecimalPipe } from \"@angular/common\";\nimport { AirtimeComponent } from \"./airtime/airtime.component\";\nimport { TransactionLimitComponent } from \"./transaction-limit/transaction-limit.component\";\nimport { WorkflowComponent } from \"./workflow/workflow.component\";\nimport { AppMaterialModule } from \"../app.material.module\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n HtmlDecodePipe,\n MomentDateFormatPipe,\n BeneficiaryNameAbbreviationPipe,\n} from \"./custom-pipes\";\nimport { SessionTimeoutComponent } from \"./session-timeout/session-timeout.component\";\n\nimport { ApprovalHistoryComponent } from \"./approval-history/approval-history.component\";\nimport { RejectRequestComponent } from \"./dialogs/reject-request/reject-request.component\";\nimport { VerticalTimelineModule } from \"angular-vertical-timeline\";\nimport { CardExpiryNotificationComponent } from \"./dialogs/card-expiry-notification/card-expiry-notification.component\";\nimport { MatProgressSpinnerModule } from \"@angular/material\";\nimport { CorporateBillerDynamicFormComponent } from \"./corporate-biller-forms/corporate-biller-dynamic-form.component\";\nimport { RowComponent } from './row-component/row/row.component';\nimport { FileUploadComponent } from './row-component/file-upload-component/file-upload/file-upload.component';\n// import { CustomDateAdapter } from './CustomDateAdapter';\n\n@NgModule({\n declarations: [\n AirtimeComponent,\n TransactionLimitComponent,\n WorkflowComponent,\n SessionTimeoutComponent,\n HtmlDecodePipe,\n MomentDateFormatPipe,\n BeneficiaryNameAbbreviationPipe,\n ApprovalHistoryComponent,\n RejectRequestComponent,\n CardExpiryNotificationComponent,\n VerifyAccountUserComponent,\n ShowBvnNumberComponent,\n CorporateBillerDynamicFormComponent,\n RowComponent,\n FileUploadComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n // Clipboard\n MatProgressSpinnerModule,\n ReactiveFormsModule,\n AppMaterialModule,\n VerticalTimelineModule,\n ],\n exports: [\n AirtimeComponent,\n WorkflowComponent,\n SessionTimeoutComponent,\n HtmlDecodePipe,\n MomentDateFormatPipe,\n BeneficiaryNameAbbreviationPipe,\n ApprovalHistoryComponent,\n RejectRequestComponent,\n CardExpiryNotificationComponent,\n VerifyAccountUserComponent,\n ShowBvnNumberComponent,\n CorporateBillerDynamicFormComponent,\n RowComponent,\n FileUploadComponent,\n \n ],\n providers: [DecimalPipe],\n})\nexport class SharedModule {}\n","module.exports = \".marquee {\\n\\tcolor: Black;\\n white-space: nowrap;\\n overflow: hidden;\\n box-sizing: border-box;\\n}\\n.marquee div {\\n display: inline-block;\\n padding-left: 100%;\\n animation: marquee 10s linear infinite;\\n}\\n@keyframes marquee {\\n 0% { transform: translate(0, 0); }\\n 100% { transform: translate(-100%, 0); }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3RyYW5zYWN0aW9uLWxpbWl0L3RyYW5zYWN0aW9uLWxpbWl0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Q0FDQyxhQUFhO0lBQ1Ysb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQix1QkFBdUI7Q0FDMUI7QUFDRDtJQUNJLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUNBQXVDO0NBQzFDO0FBQ0Q7SUFDSSxPQUFPLDJCQUEyQixFQUFFO0lBQ3BDLE9BQU8sK0JBQStCLEVBQUU7Q0FDM0MiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvdHJhbnNhY3Rpb24tbGltaXQvdHJhbnNhY3Rpb24tbGltaXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXJxdWVlIHtcblx0Y29sb3I6IEJsYWNrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm1hcnF1ZWUgZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDAlO1xuICAgIGFuaW1hdGlvbjogbWFycXVlZSAxMHMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBtYXJxdWVlIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUsIDApOyB9XG59Il19 */\"","module.exports = \"
\\n
\\n Daily Limit : {{(transactionLimit.TOTAL_DAILY_LIMIT.AMOUNT || 5000) | number}}\\n
\\n
\\n Utilized : {{((transactionLimit.TOTAL_DAILY_LIMIT.AMOUNT - transactionLimit.DAILY_LIMIT_AVAILABLE.AMOUNT) || 25000) | number }}\\n
\\n
\\n Available : {{(transactionLimit.DAILY_LIMIT_AVAILABLE.AMOUNT || 25000) | number}}\\n
\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { TransactionLimitRecords } from 'src/app/core/models/transactions/transactionLimits';\n\n@Component({\n selector: 'app-transaction-limit',\n templateUrl: './transaction-limit.component.html',\n styleUrls: ['./transaction-limit.component.css']\n})\nexport class TransactionLimitComponent implements OnInit {\n\n public transactionLimit: TransactionLimitRecords;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC93b3JrZmxvdy93b3JrZmxvdy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\n
\\n
1 \\\">\\n {{approvalWorkFlowRules.length || 0}} alternate approval workflows exist for this request.
\\n Please select an approval workflow.\\n
\\n
\\n {{approvalWorkFlowRules[0].ConflictedApprovalStages.length || 0}} alternate approval stages exist for this request\\n
\\n Please select the next approval stage.\\n
\\n
\\n \\n \\n \\n \\n {{(workflow.ConflictedApprovalStages.length + workflow.OtherApprovalStages.length)}} approval\\n {{(workflow.ConflictedApprovalStages.length + workflow.OtherApprovalStages.length) > 1 ? 'levels' : 'level'}}\\n \\n \\n {{getMinRequiredApprovers(workflow)}} {{getMinRequiredApprovers(workflow) > 1 ? 'approvers':'approver'}}\\n required at Minimum\\n \\n \\n
\\n
0\\\">Select Next Approver Stage
\\n
0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Approver LevelApprovers RequiredAvailable Approvers
\\n \\n \\n {{stage.ApprovalLevel}}{{stage.NumOfRequiredApprovers}}{{stage.ApprovalUserIds}}
\\n
\\n
\\n
\\n \\n
\\n \\n {{ownLoaderMsg || ' submitting selection .. please wait'}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ApprovalRule, ApprovalStage, SinglePaymentWorkflowSelectionRequestPayload } from 'src/app/core/models/payloads/transactions';\nimport { TransferStagingService } from 'src/app/core/services/staging/transfer.staging.service';\nimport { MatSnackBar, MatStepper } from '@angular/material';\nimport { ResponseCodes } from 'src/app/core/models/Enumerations';\nimport { BeneficiaryStagingService } from 'src/app/core/services/staging/beneficiary.staging.service';\nimport { RequestStagingService } from 'src/app/core/services/staging/service-request.staging.service';\nimport { BillerStagingService } from 'src/app/core/services/staging/biller.staging.service';\nimport { PaymentStagingService } from 'src/app/core/services/staging/payment.staging.service';\n\n@Component({\n selector: 'app-workflow',\n templateUrl: './workflow.component.html',\n styleUrls: ['./workflow.component.css']\n})\nexport class WorkflowComponent implements OnInit {\n\n @Input() approvalWorkFlowRules: Array = [];\n @Input() metaData: any;\n @Input() transferData: any;\n\n @Output() selectedWorkflowSaved: EventEmitter = new EventEmitter();\n workFlowPanelOpenState: boolean;\n isSubmittingApprovalRule: boolean;\n\n constructor(private _transferStagingService: TransferStagingService, private _snackBar: MatSnackBar,\n private _beneficiaryStagingService: BeneficiaryStagingService, private _requestStagingService: RequestStagingService,\n private _billerMgtStagingService: BillerStagingService, private _paymentStagingService: PaymentStagingService\n ) { }\n\n ngOnInit() {\n }\n\n onApprovaStageSelected(evtData, workFlowRule: ApprovalRule, ruleIndex: number, stageIndex: number) {\n workFlowRule.ConflictedApprovalStages.forEach(stage => stage['checked'] = false);\n workFlowRule.ConflictedApprovalStages[stageIndex]['checked'] = evtData.checked;\n this.approvalWorkFlowRules[ruleIndex] = workFlowRule;\n }\n\n onAprovalFlowSelected(workflowRule: ApprovalRule, workflowIndex: number, stepper: MatStepper) {\n let selectedApprovalStage: ApprovalStage;\n if (workflowRule.ConflictedApprovalStages.length > 0) {\n selectedApprovalStage = workflowRule.ConflictedApprovalStages.find(selectedStage => selectedStage['checked']);\n }\n if (workflowRule.ConflictedApprovalStages.length > 0 && !selectedApprovalStage) {\n this._snackBar.open(`Please select an approval stage.`, 'Ok');\n return;\n }\n const requestPayload = this.buildWorkflowRuleSelectionRequestPayload(\n [workflowRule], selectedApprovalStage, this.metaData.serviceOperationType);\n this.isSubmittingApprovalRule = true;\n const workflowRequest = this.getWorkflowRequestObject(this.metaData.serviceOperationType, requestPayload);\n workflowRequest.then((response) => {\n console.log(response);\n this.isSubmittingApprovalRule = false;\n if (!response || response.ResponseCode !== ResponseCodes.SUCCESS) {\n this._snackBar.open(`Oops ${response.ResponseFriendlyMessage}`, 'Ok', {\n verticalPosition: 'top', horizontalPosition: 'right', duration: 25000\n });\n return;\n }\n this._snackBar.open(`${response.ResponseFriendlyMessage}`, 'Ok', {\n duration: 15000});\n this.selectedWorkflowSaved.emit(response);\n },\n (error) => {\n console.log(error);\n this.isSubmittingApprovalRule = false;\n this._snackBar.open(`Oops . We encountered a technical error while processing request .. Please retry after some time`,\n 'Try Again', {duration: 25000});\n }\n );\n\n }\n\n getMinRequiredApprovers(workflowRule: ApprovalRule) {\n let _minApproversCount = 0;\n if (workflowRule.ConflictedApprovalStages && workflowRule.ConflictedApprovalStages.length > 0) {\n let _min = workflowRule.ConflictedApprovalStages[0].NumOfRequiredApprovers;\n for (let i = 0 ; i < workflowRule.ConflictedApprovalStages.length; i++) {\n const n = workflowRule.ConflictedApprovalStages[i].NumOfRequiredApprovers;\n if (_min > n) {\n _min = n;\n }\n }\n _minApproversCount += _min;\n }\n workflowRule.OtherApprovalStages.forEach(stage => _minApproversCount = _minApproversCount + stage.NumOfRequiredApprovers);\n return _minApproversCount;\n }\n\n private getWorkflowRequestObject(operationName: string, payload: any): Promise {\n switch (operationName) {\n case 'INTERNATIONAL_TRANSFER':\n return this._transferStagingService.setInternationalTransferApprovalWorkflow(payload);\n case 'ONE_OFF_PAYMENT':\n case 'SELF_TRANSFER':\n return this._transferStagingService.setSingleTransferApprovalWorkflow(payload);\n case 'BENEFICIARY_CREATE':\n return this._beneficiaryStagingService.setBeneficiaryCreateApproval(payload);\n case 'EDIT_BENEFICIARY':\n case 'REMOVE_BENEFICIARY':\n return this._beneficiaryStagingService.setBeneficiaryMgtOperationApprovalWorkflow(payload);\n case 'CARD_REQUEST':\n case 'CHEQUEBOOK_REQUEST':\n case 'MAKE_ENQUIRY':\n case 'MODIFY_ACCOUNT':\n case 'FREEZE_ACCOUNT':\n case 'STOP_CHEQUE':\n return this._requestStagingService.setServiceRequestApprovalWorkflow(payload);\n case 'ADD_BILLER_BENEFICIARY':\n case 'EDIT_BILLER_BENEFICIARY':\n case 'REMOVE_BILLER_BENEFICIARY':\n return this._billerMgtStagingService.setBillerOperationApprovalWorkflow(payload);\n case 'BILLER_PAYMENT':\n case 'REMITA_PAYMENT':\n return this._paymentStagingService.setBillPaymentRequestApprovalWorkflow(payload);\n case 'WESTERN_UNION_REDEMPTION':\n return this._transferStagingService.setWesternUnionRedemptionApprovalWorkflow(payload);\n case 'BENEFICIARY_TRANSFER':\n return this._transferStagingService.setMultipleTransferApprovalWorkflow(payload);\n }\n }\n\n private buildWorkflowRuleSelectionRequestPayload(rule: Array, selectedApprovalStage: ApprovalStage, operationName: string):\n SinglePaymentWorkflowSelectionRequestPayload | any {\n const selectedRule: Array = rule.copyWithin(rule.length, 0);\n selectedRule[0].ConflictedApprovalStages = selectedApprovalStage ? [selectedApprovalStage] : [];\n switch (operationName) {\n case 'INTERNATIONAL_TRANSFER':\n case 'ONE_OFF_PAYMENT':\n case 'SELF_TRANSFER':\n {\n return {\n Rules: selectedRule,\n transfer: this.transferData\n };\n }\n case 'BENEFICIARY_CREATE':\n return {\n Rules: selectedRule,\n Beneficiary: this.transferData\n };\n case 'EDIT_BENEFICIARY':\n case 'REMOVE_BENEFICIARY':\n return {\n Rules: selectedRule,\n Beneficiary: this.transferData,\n OperationType: operationName,\n };\n case 'CARD_REQUEST':\n case 'CHEQUEBOOK_REQUEST':\n case 'MAKE_ENQUIRY':\n case 'MODIFY_ACCOUNT':\n case 'FREEZE_ACCOUNT':\n case 'STOP_CHEQUE':\n case 'ADD_BILLER_BENEFICIARY':\n case 'EDIT_BILLER_BENEFICIARY':\n case 'REMOVE_BILLER_BENEFICIARY':\n case 'BILLER_PAYMENT':\n case 'REMITA_PAYMENT':\n case 'WESTERN_UNION_REDEMPTION':\n return {\n Rules: selectedRule,\n Operation: this.transferData\n };\n case 'BENEFICIARY_TRANSFER':\n return {\n Rules: selectedRule,\n OperationType: operationName,\n TransferRequests: this.transferData\n };\n default: {\n throw new Error(`Invalid workflow operation type. Ensure valid operation service type is passed on component meta property`);\n }\n }\n }\n\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n deleteBeneficiaryBaseURL: \"https://devtest.stanbicibtc.com:8091/onlinebankingmiddlewareapi/api\",\n bentoBaseURL: 'https://stanbic.nibse.com/mybank/bento-api/api/Bento/',\n airtimeBaseURL: 'https://ibanking.stanbicibtcbank.com/gateway/airtimedata_aggregatorservice/v1/',\n};\n\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n if (window) window.console.log = () => { }\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}